
AWS DevOps Agent で Security Hub CSPM が検出した EC2 の脆弱性を調査できるのか試してみた
はじめに
DevOps Agent(Preview) を使い Security Hub CSPM で検出した EC2 インスタンスの脆弱性を調査できるのでしょうか。
結論から言うと可能でした。ただし、DevOps Agent は Security Hub へ直接アクセスできなかったため、Amazon Inspector の結果を確認することになりました。試行錯誤の過程とその結果をお伝えします。
検証環境
検証途中で中断していた GPU インスタンスを久々に起動したところ、Security Hub CSPM で検知されたこの 2 件の調査を DevOps Agent に依頼してみます。

検証環境は以下の通りです。
- リージョン: ap-northeast-1(東京)
- OS: Ubuntu 24.04
- CPU: AMD
- インスタンスタイプ: g6f.large
- 対象インスタンス: i-0bd6d9d216a55e005
DevOps Agent は GuardDuty には直接アクセスできなかったという検証報告があります。Security Hub CSPM の場合はどうなのでしょうか、試してみました。
やってみた
一回目: 権限エラーからの横道へ
まず以下の依頼内容で Security Hub CSPM の調査を試みました。内容は特定のインスタンス ID に対して検出結果を日本語でまとめる依頼です。
Please investigate and summarize the Security Hub CSPM errors and warnings detected for the instance ID i-0bd6d9d216a55e005. Please report in Japanese.
権限エラー
実行すると早々に Security Hub に対する権限不足エラーが発生しました。DevOps Agent が確認に必要だと考えた API へのアクセス権限を持っていません。

詳細は実行ログから確認できました。ログには AccessDenied エラーが記録されていました。具体的には securityhub:GetFindings アクションへのアクセスが拒否されています。

別なアプローチへの切り替え
権限エラーで諦めた DevOps Agent は別の調査方法を試みました。EBS の暗号化や、セキュリティグループなど一般的なセキュリティの設定確認をすることにした模様。自律的で素晴らしいのですが、求めているものはそれではない。

意図しない調査結果を得た
というわけで、当初の目的から大きく逸れてしまいました。検出した脆弱性の調査という本来の目的から遠ざり、求めていない内容の調査結果をもらいました。

二回目: なんとかならないか
1 回目の失敗を踏まえ、プロンプトを多少修正してもう一度トライさせました。
Please investigate the CVE vulnerabilities related to the EC2 instance ID: i-0bd6d9d216a55e005 detected by Security HUB SCPM. Please report in Japanese.
CSPM を SCPM とタイポしていました(後で気づきました)。ちなみにタイポは結果に影響しませんでしたが、調査過程のメッセージの随所に SCPM という名前が出力されました。
Security Hub CSPM への権限はない
今回も当然権限エラーです。

Inspector での調査
今回の DevOps Agent は Amazon Inspector を利用して調査を開始しました。Inspector は EC2 インスタンスなどお脆弱性スキャンを行うサービスです。Security Hub とも連携しており脆弱性情報を提供します。
初回の検索では 0 件という結果でした。

その後、検索条件の変更を試みて該当インスタンスの検出に成功しました。DevOps Agent が検索フィルターを工夫し、対象インスタンス ID で絞り込み、該当インスタンスに関連する脆弱性情報が見つかりました。自律的に試行錯誤できて実に偉い。

SSM でパッチ状況を確認
次に AWS Systems Manager(SSM)でパッチの適用状況を確認しています。特段有益な情報は得られませんでした。

脆弱性は検出できた
2 つの Medium 重大度の脆弱性が見つかりました。DevOps Agent から一言メッセージが表示されました。

詳細確認へ
次に DevOps Agent は Inspector の検出結果の詳細を取得しました。

以下は結果に至るまでの処理ステップのサマリです。EC2 インスタンスの基本情報を調べていました。必要なそうな情報は自分で考え、段階的に情報収集してくれています。

調査結果は以下の通りです。2 つの CVE が特定され、それぞれの詳細情報が整理されています。また、EC2 インスタンスは現在停止状態であることも伝えてくれています。

調査結果のまとめ
DevOps Agent は以下の情報を正確に取得できました。
- 2 つの CVE 番号の特定と脆弱性の確認
- 該当インスタンスの状態
調査によりインスタンスのセキュリティ状態を把握できました。次のステップとして、これらの脆弱性への対処方法を DevOps Agent に提案してもらいます。
緩和策を考えてもらう
脆弱性が見つかったため、DevOps Agent に緩和策を提案してもらいました。
DevOps Agent の提案

DevOps Agent は以下の対処方法を提案しました。
- EC2 インスタンスを起動して接続できるようにする
amd64-microcodeパッケージのアップデートに必要な具体的なコマンドの提示
一見妥当な提案に見えます。試してみましょう。

バージョンアップを試す
停止していた EC2 インスタンスを起動し、DevOps Agent の提案に従い、パッケージのアップデートを試みました。
$ sudo apt update
$ sudo apt install --only-upgrade amd64-microcode
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
amd64-microcode is already the newest version (3.20250311.1ubuntu0.24.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
既に最新版だった
結果は「既に最新バージョン」でした。なぜ最新版なのに脆弱性として検出されているのでしょうか。
$ dpkg -l | grep amd64-microcode
ii amd64-microcode 3.20250311.1ubuntu0.24.04.1 amd64 Processor microcode firmware for AMD CPUs
Security Hub CSPM のコンソールから確認してみるとより詳細な情報がありました。修正バージョンは Pending と書いてあります。ここで重要なのが「Pending」ステータスの意味です。

Ubuntu CVE データベースから確認
Ubuntu 公式の CVE データベースで確認しました。
- Ubuntu 24.04 LTS に関してはパッチを準備中
- まだ公式リポジトリにリリースされていない
- なので apt でアップデートしても当然修正版は降ってこない
現時点では Ubuntu を 25.04 以上に上げない限りは、Ubuntu 24.04 LTS 用のパッチリリースを待つ必要がありました。つまり、ペンディングした状態です。

参考: https://ubuntu.com/security/CVE-2024-36357
調査結果まとめ
DevOps Agent に考えてもらった緩和策は方針としては間違いではないけども、もう少し情報を整理しパッチの提供状況も確認してくれたら 100 点でした。Slack との連携設定をしていたため、調査結果は Slack のスレに展開されており、気が効いています。

まとめ
DevOps Agent は Security Hub CSPM を直接確認できませんでした。しかし Inspector を使って 2 つの CVE を特定し、脆弱性調査は実施できました。緩和策の提案については、Ubuntu 24.04 LTS であれば、パッチリリース待ちであることの確認が不足していました。もし Security Hub CSPM の詳細情報にアクセスできればより精度の高い対応策を得られた可能性がありました。
おわりに
Security Hub CSPM の検出結果を確認できれば、気づくきっかけがあったかと思うと惜しい結果です。とはいえ、ここまで調査を自動的に実施し報告をまとめてくれるのは素晴らしいです。Kiro に必要な権限を渡して調査させたらここまでできるのか、プロンプト次第な気がしますがちょっと試したくなりました。









