Tech1分で読める

Webアプリ脆弱性診断の Shift Left 実践ガイド

本番前に脆弱性を潰すための Shift Left を、ローカル開発・ビルド/デプロイ・運用の3段階で実践的に整理します。

#security#shift left#web application#gitleaks#snyk#devsecops

Webアプリ脆弱性診断の Shift Left 実践ガイド

脆弱性対応をリリース直前に寄せるほど、手戻りコストは大きくなります。 このメモでは、Webアプリ開発での Shift Left を段階ごとに整理します。


この記事の結論

最初にやるべきは、次の2点です。

  1. ローカルでのシークレット検知(gitleaks など)
  2. CI での脆弱性しきい値ブロック

この2つがあるだけで、致命的な見逃しは大幅に減らせます。


1. ローカル開発でやること

シークレット混入を防ぐ

  • gitleaks で API キーやトークンの混入を検知
  • プッシュ前の pre-commit / pre-push に組み込む

入力値検証を先に作る

  • 正規表現ベースのバリデーション
  • サーバー側でも同等チェック(クライアント任せにしない)

ソースコードスキャン

  • SAST(静的解析)を導入
  • 依存ライブラリの脆弱性チェック(SCA)を CI で自動実行

2. ビルド/デプロイでやること

コンテナ・OSパッケージの診断

  • Amazon Inspector などでイメージ/OS パッケージをスキャン
  • Critical / High をブロック条件に設定

デプロイ前ゲート

  • 脆弱性しきい値を超えた場合はデプロイ停止
  • 例外対応は承認付きでログに残す

3. 本番運用でやること

  • 定期スキャン(週次/日次)
  • 新規 CVE 発見時の再評価
  • 監査ログを残し、修正までの lead time を計測

ツール候補


最低限の運用ルール

  • シークレットは絶対にリポジトリへ置かない
  • 検知した脆弱性の「対応期限」を定義する
  • 例外は口頭ではなくチケットで管理する

まとめ

Shift Left の本質は、ツールを増やすことではなく、 「いつ検知し、いつ止めるか」を開発フローに組み込むことです。 まずはローカル検知 + CI ブロックの2点から始めるのがおすすめです。

RK

1997年生まれ

ITエンジニア

インフラ・SRE