はじめに
前回の記事では、AWS DevOps Agentにセキュリティグループの全開放を調査させ、初動調査をAIに任せられるかを試しました。
最近、GuardDutyにも、検出結果をAIが調査してくれる機能がプレビューで追加されています。名前は GuardDuty Investigation です。
セキュリティの初動調査を手伝ってくれるAIが2つ出てきたので、今回はGuardDuty Investigationを触ってみて、DevOps Agentとの違いを整理します。
この記事でやること
- GuardDuty Investigationの概要と前提条件を整理する
- DevOps Agentと比べて、何に使うのが向いているかを整理する
- 東京リージョンで有効化し、アカウント全体の分析を実行する
- 結果の画面の見方を紹介する
今回は、検証用のアカウントにある実際の検出結果を分析しています。検出結果の中身は、記事ではぼかしています。
GuardDuty Investigationとは
GuardDutyの検出結果やアカウントの状態を、AIが分析してくれる機能です。2026年6月にプレビューとして発表されました。
調査を依頼すると、GuardDutyは次の情報を知識グラフで突き合わせて分析します。
- 検出結果の内容
- 過去90日間の関連する操作
- 影響を受けたリソース
- 脅威インテリジェンスや脅威の兆候
分析の種類
分析は3種類あり、調査を始めるときに範囲を選びます。
| 分析の種類 | 何を分析するか | コンソールでの選択肢 | 調査を作成できるアカウント |
|---|---|---|---|
| 検出結果の分析 | 指定した1件の検出結果を深掘りする | A specific finding(検出結果のIDを入力) | 管理者、スタンドアロン |
| アカウントの分析 | 1つのアカウントの検出結果をまとめて、全体の状況を評価する | My account(スタンドアロン)/A specific account(管理者) | 管理者、スタンドアロン |
| 組織の分析 | 組織内のアカウントをまたいで評価する | All accounts in organization | 管理者のみ |
「管理者」はGuardDutyを組織で管理しているときの管理者アカウント、「スタンドアロン」は組織の管理下にないアカウントのことです。
結果として出てくるもの
- リスクレベル:Info、Low、Medium、High、Criticalの5段階
- 信頼度:Unknown、Low、Medium、Highの4段階
- 要約:調査結果と主な観察事項
- 調査の詳細:関連する情報や、攻撃の手口の分類(MITRE ATT&CK)
- 推奨アクション:CLIコマンドつきの対応手順
MITRE ATT&CK(マイターアタック)は、攻撃者の手口を「何を狙った行動か(戦術)」と「どうやったか(テクニック)」で整理した、世界的に使われている分類です。たとえば「正規のアカウントを悪用して侵入する」といった手口に、共通の名前と番号が付いています。検出された内容をこの分類に当てはめることで、攻撃のどの段階にあたるかを把握しやすくなります。
プレビュー中の制約
- リージョン:東京を含む10リージョン。東京リージョンでは、推論は東京か大阪で行われ、データの保管は東京だけです
- 件数:1アカウントあたり1日10件、累計100件まで(失敗した調査は数えない)
- 対応する検出結果:拡張脅威検出(XTD)の検出結果と、基本・S3保護・ランタイム保護の一部の検出結果のみ。対応していない種類を指定すると「not supported」というエラーになります
- 料金:プレビュー中は無料です
GuardDutyを組織で管理している場合、メンバーアカウントでは調査を作れません(閲覧のみ)。調査を作れるのは、管理者アカウントか、組織の管理下にないスタンドアロンのアカウントです。
DevOps Agentと比べてみる
前回試したAWS DevOps Agentと比べてみます。表のうち「今回の所要時間」と「言語」は、このあとの検証で確認した結果です。
| 観点 | AWS DevOps Agent | GuardDuty Investigation(プレビュー) |
|---|---|---|
| 調査のきっかけ | 自分で作ったアラームや、依頼文 | GuardDutyの検出結果、アカウント、組織 |
| 調べる範囲 | ログ、メトリクス、設定変更など幅広い | 検出結果と、それに関連する過去90日の操作 |
| 依頼の仕方 | 自然言語で自由に依頼。チャットで深掘りできる | 範囲を選ぶだけ(CLIでは依頼文も書ける)。追加の質問はできない |
| 結果の形 | 根本原因、手順書形式の緩和計画 | リスクレベル、信頼度、攻撃の手口の分類、CLIつきの推奨アクション |
| 準備 | Agent Space、IAMロール、検知の仕組みを自前で用意 | 設定画面で有効化するだけ |
| 今回の所要時間 | 約11分(SG全開放の調査) | 約2分(アカウント全体の分析) |
| 言語 | 日本語を指定できた(途中経過は一部英語) | 今回は英語のみ(日本語を選ぶ設定は見当たらなかった) |
| 料金 | 作業時間に応じた秒単位の課金(無料トライアルあり) | プレビュー中は無料(1日10件、累計100件まで) |
何に使うのが向いているか
どちらも、ログや検出結果を自分で集めて、自律的に調べてくれる点は同じです。違いは、「どこまで調べられるか」と「調べたあとに対話できるか」にあります。
GuardDuty Investigationが向いている場面
- GuardDutyの検出結果が出たときの、最初のトリアージ
- 溜まっている検出結果を横断して、アカウントの状況をざっと把握したいとき
- 準備に手間をかけず、すぐに使い始めたいとき
DevOps Agentが向いている場面
- GuardDutyの検出結果以外も含めた、インシデントや障害の調査
- 調査結果について、チャットで追加の質問をしたり、再発防止策を相談したりしたいとき
- 日本語でやりとりしたいとき
GuardDuty Investigationで検出結果を素早くトリアージし、深掘りや障害対応はDevOps Agentに任せる、という使い分けにすると、両方の良さを活かせそうです。
実際にGuardDuty Investigationを有効化してみる
前提として、東京リージョンでGuardDutyが有効になっている必要があります。
GuardDutyのコンソールで「設定」を開き、一番下の「AI powered investigations - Preview」で「Enable」を押します。
「Enabled」になれば完了です。
CLIで有効にする場合は、detectorのAI_ANALYSTという機能を有効にします。
aws guardduty update-detector \
--detector-id <detector ID> \
--features '[{"Name": "AI_ANALYST", "Status": "ENABLED"}]' \
--region ap-northeast-1
調査を実行するIAMユーザーやロールには、guardduty:CreateInvestigation、guardduty:GetInvestigation、guardduty:ListInvestigationsの権限が必要です。
アカウント全体を分析する
左メニューの「Investigations」を開き、「Initiate investigation」を押します。
調査の範囲を選びます。今回は「My account」を選びました。
範囲を選んで開始するだけで、依頼文を書く必要はありません。調査は裏で進み、一覧に「Running」と表示されます。
約2分で「Completed」になりました。完了すると、調査の内容を表すタイトルが自動で付きます。
結果を見ていく
結果の画面は、上から次の順で並んでいます。
評価(Assessment)と基本情報
一番上に、リスクレベルと信頼度、評価の要約が表示されます。今回はリスクレベル「High」、信頼度「High」でした。
画面上部には、「AIが生成した分析や推奨には、誤りや不完全な評価が含まれる可能性がある。人間による確認を推奨する」という注意書きがあります。
分析の要約と観察事項
過去約90日間の検出結果を横断して、全体の状況を文章でまとめてくれます。
画像にモザイク入れてしまってるので、文章で伝われば良いのですが・・・
印象に残ったのは次の3点です。
- 個々の検出結果を、つなげて評価している:重大度が低い検出結果でも、同じ時期に起きた別の検出結果と合わせて、「1つの攻撃の流れの可能性がある」と評価していました
- 推測と事実を分けて書いている:「これは解釈であり、確定した事実ではない」「データからは、同じ人物の操作かどうかは分からない」と、言い切れない点を明記していました
- 守りの穴も指摘する:GuardDutyの保護機能のうち、どれが有効で、どれが無効かもまとめていました
アカウント分析
検出結果の件数(重大度ごと)、多かった検出結果の種類、攻撃の手口の分類(MITRE ATT&CKの戦術)ごとの内訳、影響を受けたリソースが一覧で表示されます。
推奨アクション
推奨アクションには、「FURTHER INVESTIGATION(さらに調査)」「ENABLE PROTECTION(保護の有効化)」といった種類と、「Immediate(すぐに)」「Short-term(短期)」といった緊急度が付いています。
有難いと思ったのは、次の調査をするためのCLIコマンドが、そのまま書かれていることです。アカウント全体を分析した結果、気になる検出結果があれば、その1件を深掘りする「検出結果の分析」のコマンドが用意されています。全体を見てから、気になる点を掘り下げる、という流れがスムーズにつながります。
後片付け
調査機能を使わなくなったら、GuardDutyの「設定」で「AI powered investigations - Preview」の「Disable」を押して無効にできます。
まとめ
- GuardDuty Investigationは、設定で有効にするだけで使い始められ、アカウント全体の分析は約2分で終わった
- 複数の検出結果をつなげて評価し、推測と事実を分けて書いてくれる
- 推奨アクションに、次の調査のCLIコマンドまで用意されている
- 調べられるのはGuardDutyの検出結果まわりに限られ、結果に対して追加で質問はできない。結果は英語のみだった
- 検出結果の初動はGuardDuty Investigation、深掘りや障害対応はDevOps Agent、という使い分けが良さそう
正式リリース(GA)後の料金や、日本語対応がどうなるかにも注目したいと思います。









