Amazon Web Services ブログ

AWS Security Agent のフルリポジトリコードスキャン機能のプレビュー提供開始

本ブログは 2026 年 5 月 12 日に公開された AWS Blog “AWS Security Agent full repository code scanning feature now available in preview” を翻訳したものです。

本日 (2026 年 5 月 12 日)、AWS は AWS Security Agent の新機能であるフルリポジトリコードレビューのプレビューリリースを発表します。この機能は、コードベース全体に対して深いコンテキスト認識型のセキュリティ分析を実行します。AI 駆動型サイバーセキュリティ機能は急速に進化しており、AWS Security Agent は、これまでにない規模とスピードでコードベース全体にわたる脆弱性の発見と動作する攻撃コードの構築が可能になりました。人間のセキュリティ研究者のように推論しながら、マシンスピードで動作します。既知の脆弱性パターンとコードを照合する従来の静的解析ツールとは異なり、フルリポジトリコードレビューは、人間のセキュリティ研究者と同様にアプリケーションのアーキテクチャ、信頼境界、データフローについて推論し、透明性のある証拠と具体的な修復方法を伴う、開発者がすぐに対応できる検出結果を生成します。

AWS は、お客様への無償の早期アクセスを優先しています。これにより、防御側がコードベースを強化し、得られた知見を共有することで、業界全体が恩恵を受ける機会を提供します。

課題: コードに合わせてスケールするセキュリティ分析

今日の開発チームは、継続的なジレンマに直面しています。従来の静的アプリケーションセキュリティテスト (SAST) ツールは、SQL インジェクションのシンク(脆弱性箇所)、エスケープされていない出力、ハードコードされた認証情報など、既知のパターンを高速かつ確実に検出します。しかし、現代のアプリケーションは、サービス、API、信頼境界、認可ロジックが絡み合う複雑なシステムです。最も危険な脆弱性は、単一行のパターン違反ではなく、システム全体にわたるギャップであることが少なくありません。たとえば、検証関数が 5 つのケースのうち 4 つしかカバーしていない、あるエンドポイントだけ近隣のエンドポイントに存在する認可アノテーションが欠けている、エンコーディングがあるコンテキストでは適用されているのに別のコンテキストでは適用されていない、といったケースです。

手動のセキュリティレビューはこうした問題を発見できますが、コストが高く、時間がかかり、現代の開発のペースにスケールしません。コードベースが拡大するにつれ、チームは広さと深さのどちらかを選ばざるを得なくなります。

フルリポジトリコードレビューは、このギャップを埋めるために構築されました。個々の行やファイルだけでなく、リポジトリ全体を読み取って推論する自動化されたセキュリティ研究者をチームに提供し、パターンマッチングツールが見逃す検出結果を浮かび上がらせます。

仕組み: プロファイル、検索、トリアージ、検証

フルリポジトリコードレビューは、経験豊富なセキュリティエンジニアによる調査の進め方を反映した 4 つのステージで動作します。

  1. アプリケーションのプロファイリング: スキャナーはまず、リポジトリ全体を読み取り、エントリポイント、信頼境界、データフロー、認可不変条件、すでに導入されている防御策を含むアプリケーションのセキュリティモデルを構築します。このプロファイリングステップはすべてのソースファイルを対象とするため、カバレッジの判断は暗黙的ではなく明示的になります。その結果、アプリケーションが何を行うかそのアタックサーフェスがどこにあるかを構造化された形で理解できるようになります。

  2. 脆弱性の検索: オーケストレーターはセキュリティプロファイルを読み取り、アタックサーフェスについて推論し、最もリスクの高いコンポーネントから順に専門エージェントを展開します。各エージェントは、調査対象のモジュール、脅威コンテキスト、攻撃者視点での検証項目を含む、範囲を限定したタスクを受け取ります。手がかりがあれば、エージェントは開始スコープを超えてインポートや呼び出し元を自由に追跡できます。

  3. トリアージと重複排除: 候補となる検出結果は重複排除され (同じシンク、同じ根本原因)、検証フェーズの前に低信頼度のノイズが除去されます。

  4. 独立した検証: すべての候補について、独立した検証エージェントがソースコードを再度読み取り、攻撃チェーン全体をトレースします。検証エージェントは両方の側から検討します。検出結果が脆弱性ではない理由 (補完的コントロール、意図的な設計) を探すと同時に、脆弱性である理由 (代替の攻撃経路、エッジケース) も探します。検出結果が拒否されるのは、それを支持する証拠と同等の強さの反証がある場合に限られます。このプロセスは、構造化された Verified (検証済み) と Could not verify (検証できず) のセクションを持つ検出結果を生成するため、スキャナーがコードで何を確認したか、何がデプロイ環境に依存するかをチームが正確に把握できます。

何が違うのか

フルリポジトリコードレビューは、従来の静的解析と 2 つの根本的な点で異なります。1 つは、既知の脆弱性パターンと照合するのではなく、アプリケーションの実際の動作について推論すること。もう 1 つは、不確実性を隠すのではなく明示する構造化された証拠を伴う検出結果を提示することです。

パターンマッチングではなく、コンテキスト認識型の推論

スキャナーは脆弱性を検索する前にセキュリティモデルを構築するため、表面的なコードパターンだけでなく、アプリケーションの実際の動作について推論します。

実際の例を見てみましょう。あるストアドプロシージャに SQL インジェクションの脆弱性がありました。従来の SAST ツールは、特定の EXECUTE IMMEDIATE 呼び出しを検出するでしょう。しかし、スキャナーはさらに深く分析し、中央の検証関数が 5 つの正規表現プロファイルのいずれにおいてもシングルクォートをブロックしていないことを特定し、5 つのプロファイルすべてを名前で列挙したうえで、特定のデータベースエンジンでシングルクォートが重要である理由を説明し、別のストアドプロシージャが検証関数を完全にスキップしていることを指摘しました。1 つの呼び出しサイトでのポイント修正ではなく、検出結果はシステム全体のギャップに対する包括的な修復につながりました。

別のケースでは、HTML エンコーディングなしでフィールドに値が追加されている XSS 脆弱性をスキャナーが発見しました。同じ値は、同じファイル内の別のコンテキストでは Encode.forHtml() で適切にエンコードされていました。パターンマッチングツールは、エンコーディング関数が存在するためこれを見逃しますが、脆弱性は不整合そのものにあり、これを発見するにはコードパス全体にわたるアプリケーションの動作を理解する必要があります。

不確実な部分を明示する検証済み検出結果

すべての検出結果は、効率的な開発者トリアージのために構造化されています。

  • 問題: コードの何が間違っているかを、具体的なファイル名と行番号とともに明示
  • 影響: 攻撃者が何を得られるかを、デプロイ環境の詳細とともに明示
  • 検証範囲: スキャナーがコード内で直接確認した内容 (Verified) と、環境 (ネットワークセグメンテーション、ランタイム動作) に依存する内容 (Could not verify) を区別して明示
  • 修復: 一般的なガイダンスではなく、具体的なコード変更を含む修正案を提示
  • 重大度と信頼度: それぞれ独立して評価。重大度は脆弱性が悪用された場合の影響を、信頼度は攻撃チェーンのどの程度がコード内で検証されたかを反映

フルリポジトリコードレビューをワークフローに組み込む方法

フルリポジトリコードレビューは、既存のセキュリティツールを置き換えるのではなく、補完するように設計されています。現代の開発ワークフローへの組み込み方は以下のとおりです。

  • セキュリティレビューの前: ペネトレーションテストやセキュリティレビューをスケジュールする前に、フルリポジトリコードレビューを実行します。レビューが明白な問題と半ば明白な問題を浮かび上がらせるため、セキュリティチームは限られた時間を、人間の判断を必要とする高度な設計レベルの問題に集中できます。
  • 買収したコードやオープンソースコードのオンボーディング時: フルリポジトリコードレビューは、買収やベンダー依存関係を通じて、または統合中のオープンソースコンポーネントからコードを継承する際に特に価値を発揮します。スキャナーはセキュリティモデルをゼロから構築するため、コードベースに関する組織内の知識を必要としません。
  • アーキテクチャレビュー中: スキャナーは信頼境界、データフロー、認可不変条件について推論するため、その検出結果は実装上のバグだけでなく、アーキテクチャ上の問題を浮かび上がらせることがよくあります。スキャン結果を脅威モデルと並べて確認し、コンポーネントの相互作用に関する仮定を検証してください。

AWS Security Agent でフルリポジトリコードレビューをご利用の場合は、クイックスタートガイドに従ってセットアップして実行してください。

プレビュー提供と価格

フルリポジトリコードレビューは、本日 (2026 年 5 月 12 日) より AWS Security Agent のお客様向けに追加料金なしでプレビュー提供されています。プレビュー期間中、エクスペリエンスの改良に向けて、みなさまからのフィードバックをお待ちしております。Security Agent ウェブアプリケーションの組み込みフィードバック機能をご利用いただくか、AWS アカウントチームにお知らせください。

開始方法

AWS Security Agent コンソール にアクセスして、フルリポジトリコードレビューを有効にし、最初のスキャンを実行してください。詳細については、AWS Security Agent ドキュメント を参照してください。

Ayush Singh

Ayush Singh

Ayush は AWS のシニアプロダクトマネージャーで、AWS Security Agent の開発をリードしています。エンタープライズグレード、オープンソース、エージェンティック AI 製品をスケールさせた実績があります。組織がセキュリティプラクティスを効果的にスケールできるツールの構築に注力しています。ロチェスター大学で MBA を、KIIT 大学でコンピュータサイエンスの学士号 (B.Tech) を取得しています。

Daniele Bonadiman

Daniele は AWS のシニアアプライドサイエンティストで、AWS Security Agent に取り組んでいます。トレント大学で応用機械学習および自然言語処理の博士号を取得しました。AWS 在籍中、対話型 AI、マルチエージェントシステムのオーケストレーション、AI エージェントによるコード解釈に焦点を当てた複数の AI イニシアチブに貢献してきました。

本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。