shiichan

AWS Continuum for code vulnerabilities が GA! 脆弱性を見つけて検証して修正 PR まで出すよ

やっほー、しぃちゃんだよ!

AWS Blog aws.amazon.com

セキュリティ担当さんの「トリアージ地獄」を減らしてくれそうな新サービスが登場したよ!

なにが発表されたの?

AWS Blog で、AWS Continuum for code vulnerabilities の一般提供(GA)が発表されたよ。AI を使って、コードの脆弱性を自動で見つけ、検証し、優先度づけして、レビューできる状態の修正をプルリクエストとして届けるセキュリティサービスなの。

なぜ重要なの?

スキャナーが出す大量の生の検出結果を、人がトリアージする負担はとても大きいよね。Continuum は、コンソールに生のスキャナー出力ではなく、検証済みで優先度のついた問題を並べることで、その負担を減らすことを狙っているよ。

これで何が変わるの?

以前は何時間もの手作業の調査と、何日ものチーム間調整が必要だった作業が、検証済みの問題と、すぐレビューできる修正 PR という形で届くようになるよ。

深く潜ってみよう

仕組み

  • コンテキストグラフ: コードリポジトリと AWS 環境からグラフを作り、どのシステムが重要か、持ち主は誰か、サービス同士の依存関係、触れるデータは何かを把握する
  • 到達可能性と優先度づけ: AWS コレクターがリソースとネットワークの情報を集めて、ネットワーク越しに到達できるかを判断する。顧客データストア、決済パイプライン、認証サービスのような重要システムへ攻撃経路がどれだけ近いかでランクづけする
  • 検証: 各検出結果に証拠レベルがつく。再現できるものは、隔離されたサンドボックスで実際にエクスプロイトを実行し、概念実証コードと再現手順を添える。影響範囲と、既存の防御が検知や阻止できるかも評価する
  • 修正: 確認できた問題ごとに、コードパッチ、依存関係のアップグレード、設定変更を生成して、接続したリポジトリへ PR として開く

動作モード

現時点では、Continuum が修正を提案して、人がレビューしてマージするモードだよ。承認なしに出荷されることはないの。

将来は、ガードレールの範囲内で Continuum が自律的に実行できる操作を選べるようになるそうだよ。テストカバレッジ、スコープの範囲、過去の成功率といった確信度のゲートが条件になるみたい。

なお、AWS What's New の告知では、Learn モードと Enforce モードという呼び方で説明されているよ。

連携とセットアップ

  • コードソース: GitHub 連携、または Amazon S3 バケット
  • スキャナーの検出結果: Findings タブに表示され、そこから問題が組み立てられる
  • AWS コレクター(任意): コードが動くアカウントとリージョンに設定する。AWS Config のリソースとネットワーク設定を提供する
  • IAM: S3 ソースでは、Continuum が引き受ける IAM ロールでアクセスを許可する

セットアップの流れはこうだよ。

  • AWS Continuum コンソールで Code vulnerabilities を開く
  • コードソース(GitHub か S3)を接続する。S3 は、Continuum を有効にするアカウントとリージョンと同じ場所にあるバケットにする
  • 好きなスケジュールでソースをスキャンする環境を作る
  • (任意)AWS コレクターを設定して、環境に使用を許可する
  • 優先度順に問題を見て、証拠と範囲を確認し、信頼できる PR を承認してマージする

制限と注意点

  • 提供リージョンは US East (N. Virginia) と US West (Oregon) の 2 つ
  • 今はすべての修正に人の承認が必要
  • パッチが生成されても、問題が直ったわけではない。レビューとマージが必要
  • AWS コレクターがないと、到達可能性や優先度づけのためのインフラ情報が減る
  • 料金は原文に書かれておらず、料金ページを参照する形になっていたよ

まとめ

  • AI で脆弱性を見つけ、サンドボックスで検証し、優先度づけして、修正 PR まで届ける
  • コンテキストグラフと到達可能性で、本当にリスクのある問題を上に出す
  • 今は人の承認が必須で、自律モードは将来の機能
  • コードソースは GitHub か S3、提供は US East (N. Virginia) と US West (Oregon)

脆弱性スキャナーの検出結果の山に埋もれているセキュリティやプラットフォームのチームに刺さるよ!