OWN NEWS GATHER
← 戻る
The Hacker News

AWSのAIコード生成ツール「Kiro」に脆弱性、Webページを読み込ませるだけで任意のコードが実行される危険性

要点

  • AWSのAIコード生成ツール「Kiro」において、特定のWebページを読み込ませるだけで任意のコードを強制実行される深刻な脆弱性が存在したことが判明した。

  • セキュリティ企業のIntezerとKodem Securityによる共同調査で明らかになり、AWSはすでに修正プログラムをリリースしている。

  • 開発者がKiroにWebページの要約を依頼するなどの日常的な操作だけで、ユーザーの意図しない設定ファイル書き換えが行われるリスクがあった。

  • 過去にも同様の設定ファイル書き換えによる脆弱性が報告されており、AWSは重要なファイルパスへの書き込みに明示的な承認を求める仕様に変更して対応した。

  • AWSが開発・提供するAIエージェント型のコーディング用統合開発環境(IDE:プログラムの記述やビルドなどを一括して行える開発ツール)である「Kiro」において、開発者のコンピューター上で任意のコードを遠隔実行させることができる深刻な脆弱性が存在していたことが明らかになった。これはセキュリティ企業のIntezerがKodem Securityと共同で行った調査により判明したもので、2026年7月にその詳細が公表された。AWSはすでにこの問題に対応する修正パッチを適用しており、現在はこの脆弱性に対する個別のCVE(共通脆弱性識別子:セキュリティ上の脆弱性を識別するための世界共通の識別番号)は割り当てられていない。

  • 今回判明した脆弱性は、AIエージェントが外部ツールを読み込むための設定ファイルである「mcp.json」の仕様に関連している。Kiroは、AIアシスタントと外部のツールやデータを接続するためのオープンな接続規格であるModel Context Protocol(MCP)のサーバー一覧や、それぞれのサーバーを起動するためのコマンド情報を ~/.kiro/settings/mcp.json というファイルから読み込んでいる。このファイルに変更が加えられると、Kiroは自動的に設定をリロードし、記載された起動コマンドを開発者と同じシステム権限で実行する仕様になっていた。

  • 調査が行われた当時、Kiroは独自のファイル書き込みツールである「fsWrite」を使用し、ユーザーの承認を得ることなくこの mcp.json ファイルを書き換えることが可能だった。攻撃者はこの仕様を悪用し、Kiroに不正なコマンドを実行させる設定を自動で流し込むことができたという。

  • Intezerによる実証実験では、攻撃の起点としてWebページに隠された不可視のテキストが利用された。開発者がKiroに対して、特定のAPIドキュメントなどのURLを読み込ませたり要約を指示したりする際、KiroはWebページの内容を読み込む。攻撃者は、Webページ上に1ピクセルの極めて小さな白色テキストで「mcp.json」を書き換えるための悪意ある指示を埋め込んでおく。

  • 開発者の画面上は通常のAPIドキュメントが表示されているだけだが、KiroのAIモデルは隠された指示をセットアップ用のタスクとして解釈してしまう。その結果、Kiroは自動的に悪意あるサーバー起動コマンドを mcp.json に書き込み、ファイルを再読み込みして実行する。これにより、開発者がURLの読み込みを許可しただけで、数秒のうちに開発者のPC上で任意のプログラムが実行されてしまう状態になっていた。

  • 実証実験においてIntezerは、侵入成功を示す証拠として、PCのホスト名やユーザー名、プラットフォーム情報を10秒ごとに特定のサーバーへ送信するプログラムを実行させた。しかし、この仕組みを悪用すれば、開発者がアクセス権を持つ認証情報やソースコードの窃取、システムへの常駐、さらには組織内の他システムへの不正アクセスなど、開発者の権限で実行可能なあらゆる操作が行われる危険性があった。

  • なお、AIモデルの動作には不確実性があるため、Webページを読み込ませても指示が無視され、1回で確実に攻撃が成功するとは限らない。しかし、同社のテストでは1回から2回程度の試行で実行に成功しており、一度でも成功すればシステムが支配されるため脅威であることに変わりはない。また、Kiroの画面上に設定変更を警告するポップアップが表示される場合もあったが、ユーザーのクリック操作に関係なく設定ファイルのリロードが実行されてしまうため、実質的な防御策として機能していなかったという。

  • Kiroにおけるこの種の設定ファイル書き換えの脆弱性は、今回が初めてではない。2025年7月の製品リリース当日にも、セキュリティ研究者のJohann Rehberger氏が同様の手法を指摘していた。このときは、プロンプトインジェクション(AIへの指示に悪意ある命令を紛れ込ませて意図しない動作をさせる手法)によって mcp.json.vscode/settings.json などの設定ファイルにコマンドを書き込み、実行させるルートが示された。これに対しAWSは、バージョン0.1.42で書き込み時に承認プロンプトを表示する修正を行ったが、これは開発者が監視を行う「Supervisedモード」のみの対応であり、デフォルトである自動実行の「Autopilotモード」では承認なしの書き込みが可能なまま放置されていた。今回Intezerが利用したのは、このAutopilotモードにおける制限の隙間である。

  • さらに、別のアプローチとして、Cymulateという企業からも、特定のフォルダーを開いた際に .vscode/tasks.json に書き込まれたコードが自動実行される脆弱性が報告されている。これについては、AWSによって「CVE-2026-10591」が割り当てられ、バージョン0.11シリーズで修正が完了している。

  • 今回のIntezerが指摘した設定ファイルに関する攻撃ルートは、同社が2026年2月に報告した時点で、macOS向けのバージョン0.9.2およびUbuntu向けのバージョン0.10.16において依然として有効であったが、その後のアップデート(バージョン0.11.130)で修正が確認されている。

  • AWSは、AIモデルの判断だけに設定ファイルの安全性を依存させるのを止め、プラットフォーム側でアクセス制限を設ける対策を講じた。具体的には、 mcp.json.vscode/tasks.json、さらには .git ディレクトリなどの重要なファイルパスを「保護されたパス(protected paths)」として指定し、これらのファイルへの書き込みが発生する際には、AIモデルの動作モードに関わらずユーザーの明示的な承認を必須とする仕様に変更した。Kiroの公式ドキュメントにも「Supervised(監視)モードはコードレビューのためのワークフローであり、セキュリティ制御ではない」との記述が追加され、システム側での制御の重要性が強調されている。

元URL