Tech・1分で読める
Webアプリ脆弱性診断の Shift Left 実践ガイド
本番前に脆弱性を潰すための Shift Left を、ローカル開発・ビルド/デプロイ・運用の3段階で実践的に整理します。
#security#shift left#web application#gitleaks#snyk#devsecops
Webアプリ脆弱性診断の Shift Left 実践ガイド
脆弱性対応をリリース直前に寄せるほど、手戻りコストは大きくなります。 このメモでは、Webアプリ開発での Shift Left を段階ごとに整理します。
この記事の結論
最初にやるべきは、次の2点です。
- ローカルでのシークレット検知(gitleaks など)
- CI での脆弱性しきい値ブロック
この2つがあるだけで、致命的な見逃しは大幅に減らせます。
1. ローカル開発でやること
シークレット混入を防ぐ
gitleaksで API キーやトークンの混入を検知- プッシュ前の pre-commit / pre-push に組み込む
入力値検証を先に作る
- 正規表現ベースのバリデーション
- サーバー側でも同等チェック(クライアント任せにしない)
ソースコードスキャン
- SAST(静的解析)を導入
- 依存ライブラリの脆弱性チェック(SCA)を CI で自動実行
2. ビルド/デプロイでやること
コンテナ・OSパッケージの診断
- Amazon Inspector などでイメージ/OS パッケージをスキャン
Critical/Highをブロック条件に設定
デプロイ前ゲート
- 脆弱性しきい値を超えた場合はデプロイ停止
- 例外対応は承認付きでログに残す
3. 本番運用でやること
- 定期スキャン(週次/日次)
- 新規 CVE 発見時の再評価
- 監査ログを残し、修正までの lead time を計測
ツール候補
- yamory: https://yamory.io/
- Snyk: https://go.snyk.io/jp.html
最低限の運用ルール
- シークレットは絶対にリポジトリへ置かない
- 検知した脆弱性の「対応期限」を定義する
- 例外は口頭ではなくチケットで管理する
まとめ
Shift Left の本質は、ツールを増やすことではなく、 「いつ検知し、いつ止めるか」を開発フローに組み込むことです。 まずはローカル検知 + CI ブロックの2点から始めるのがおすすめです。