[アップデート]Amazon GuardDuty の AI 調査機能「GuardDuty Investigation」がプレビューになりました
はじめに
みなさん、GuardDuty の findings の対応に時間を取られたことはないでしょうか。
私も日常的に GuardDuty を使っていますが、「この finding は本当に危険なのか?」「どのリソースまで影響が及んでいるのか?」の判断に苦労することがあります。
CloudTrail ログを掘り下げたり、関連するリソースの設定を確認したりと、調査に想定外の時間を費やすことも少なくありません。
昨日 Preview として「GuardDuty Investigation(GuardDuty AI Analyst)」という機能が登場しました。AI が findings の文脈や過去 90 日のアクティビティを分析して、脅威の判定・根拠・推奨アクションまで自動で出力してくれる機能です。
個人的に待望の機能だったので、さっそくコンソールから感触を確かめてみます。
GuardDuty Investigation とは
GuardDuty Investigation は、AI を使って GuardDuty findings やアカウントを自動分析する機能です。
通常、GuardDuty が finding を出したあとの調査は手作業です。CloudTrail で API コールを追ったり、VPC Flow Logs でネットワーク通信を確認したりと、複数のサービスをまたいだ調査が必要になります。GuardDuty Investigation では、この調査を AI に支援させることができます。
分析結果として以下の情報が得られます。
| 出力項目 | 内容 |
|---|---|
| Risk level | Info / Low / Medium / High / Critical の 5 段階でリスクを評価 |
| Confidence | Unknown / Low / Medium / High の 4 段階で確信度を表示 |
| Summary | 調査結果の要約と主要な観察事項 |
| Investigation Details | 調査の詳細情報と文脈 |
| Recommended Actions | CLI コマンドを含む具体的な対処手順 |
また、MITRE ATT&CK フレームワークへの分類も行われるため、攻撃の戦術・手法を標準的な観点から把握できます。
3 つの分析タイプ
GuardDuty Investigation は以下の 3 種類の分析をサポートしています。
| 分析タイプ | 対象 | 実行者 |
|---|---|---|
| Finding 分析 | 特定の finding ID を指定して分析 | 管理者・スタンドアローンアカウント |
| Account 分析 | アカウント全体の脅威状況を分析 | 管理者・スタンドアローンアカウント |
| Organization 分析 | 組織全体を横断分析(最大 100 アカウント) | GuardDuty 管理者アカウントのみ |
対応リージョン
Preview 時点では以下の 10 リージョンのみ対応しています。東京リージョン(ap-northeast-1)も含まれているため、日本で使っている環境でも試すことができます。
- 米国東部(バージニア北部)、米国東部(オハイオ)、米国西部(オレゴン)
- カナダ(中部)
- ヨーロッパ(フランクフルト、アイルランド、ロンドン、パリ、ストックホルム)
- アジアパシフィック(東京)
また、Cross-Region Inference(CRIS)により、推論処理は地理的に最適なリージョンで実行されます。日本の場合、推論はアジアパシフィック(東京)またはアジアパシフィック(大阪)で処理されます。
データの保管はリクエストを投入したリージョンに限定されます。詳細は公式ドキュメントをご参照ください。
前提条件
試す前に以下が必要です。
- 対応リージョンで GuardDuty が有効になっていること
- GuardDuty Investigation 機能(AI_ANALYST)が有効化されていること
- 必要な IAM 権限が付与されていること
必要な IAM 権限
Investigation を使うには以下の IAM アクションが必要です。権限を確認して試しましょう。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"guardduty:CreateInvestigation",
"guardduty:GetInvestigation",
"guardduty:ListInvestigations"
],
"Resource": "arn:aws:guardduty:ap-northeast-1:XXXXXXXXXXXX:detector/*"
}
]
}
Preview 期間中のクォータ
- 1 日あたり 10 investigations / アカウント
- 累計 100 investigations / アカウント(失敗は除く)
- Trigger prompt の最大文字数: 2,048 文字
やってみる
AI_ANALYST feature を有効化する
まず GuardDuty コンソールで Investigation 機能を有効化します。
GuardDuty コンソールを開き、左メニューから「Settings(設定)」を選択します。
「AI powered investigations - Preview」セクションが有効化されているか確認します。私の環境ではデフォルト有効化されていました。

Finding 分析を実行する
今回の環境に AttackSequence:EC2/CompromisedInstanceGroup があったので、この finding で試してみます。

GuardDuty コンソールで「Investigations(調査)」を選択し、「Initiate investigation(調査を開始)」をクリックします。

分析スコープの選択画面が表示されます。「A specific finding(特定の finding)」を選択し、finding ID を入力します。

「Initiate investigation」をクリックすると、調査が開始されます。

数分待つと Status が「Completed」になります。
結果を確認する
Completed になった investigation のタイトルをクリックすると、詳細画面が開きます。

出力のポイントを見ていきます。
General information
概要の情報が整理され、Risk level と Confidence が記載されます。

Summary(要約)
調査の主要な観察事項が記述されています。どのリソースが関与していて、どのような行動パターンが検出されたかが自然言語でまとめられています。

Investigation Details(詳細情報)
脅威の具体的な証拠となる情報が記載されています。MITRE ATT&CK フレームワークの技術分類(Technique ID)も含まれています。

Recommended Actions(推奨アクション)
具体的な CLI コマンドを含む対処手順が出力されます。実際に実行できるアクションが提示されています。

全体を通して概要から詳細、脅威の説明、推奨される具体的なアクションまでが整理されており、初動調査に必要な情報がまとまっていますね。
Account 分析(My account)を実行する
次に、アカウント全体の脅威状況を分析してみます。Finding 分析と同様に「Initiate investigation」から、スコープとして「My account」を選択します。

こちらも数分で Completed になります。Account 分析では、アカウント内の複数の findings を横断的に見たうえで、全体的なリスク状況と優先度が出力されます。

GuardDuty の findings が多く発生した場合、現状のリスクを把握するのに良さそうです。
注意点
GuardDuty Investigation を使う際に知っておきたいポイントをまとめます。
Preview 中の制約
- 1 日 10 件・累計 100 件のクォータ
- Finding 分析は XTD findings と一部の foundational / S3 / Runtime プランの findings のみ対応
"For preview, GuardDuty Investigation supports all Extended Threat Detection (XTD) findings and select findings from the foundational, S3, and Runtime plans."
非対応のFindingは、実行後に以下のエラーが返ります。

Investigation failed
The investigation failed: The investigation could not be completed.
The finding type 'UnauthorizedAccess:EC2/TorClient' is not supported by this agent.
AI の出力は参考情報
GuardDuty Investigation の結果は AI による分析です。誤りや不完全な評価を含む可能性があります。コンソール上にも以下の注記があります。
AI-generated analysis and recommendations may contain errors or incomplete assessments. Human review is recommended.
最終的な判断は必ず人間が行うようにしましょう。
Cross-Region Inference によるデータ処理
GuardDuty Investigation は Cross-Region Inference(CRIS)を利用しており、推論処理は地理的に最適なリージョンで実行されます。東京リージョンを利用している場合、推論はアジアパシフィック(東京)またはアジアパシフィック(大阪)で処理されます。
データの保管はリクエストを投入したリージョン(東京)に限定されていますが、推論処理自体が大阪で行われる場合があります。リージョンをまたいだデータ処理を懸念される場合は、公式ドキュメントの CRIS ルーティング表をご確認ください。
料金
公式の料金ページに記載はありませんでした。GA 後の料金については公式の発表をご確認ください。
まとめ
GuardDuty Investigation(Preview)を実際に試してみました。
findings の調査は状況の把握に時間を要することが多いですが、AI による自動分析で MITRE ATT&CK 分類と具体的な推奨アクションまで確認できのは嬉しいですね。
対応している Finding の制限もありますが、CLI でも同様の操作が可能です。ぜひ自動化のワークフローにも組み込んでみてください。
以上、鈴木純がお送りしました。









