Claude Codeの『Web要約』を悪用したプロンプトインジェクション攻撃とは
Claude Code Web要約を用いたプロンプトインジェクション攻撃の手順
- 01攻撃者が悪意あるWebサイトを用意Webページ内に隠れた指示文を埋め込む
- 02開発者がClaude Codeにサイトの要約を依頼Opus 5・Auto Modeの既定設定で動作中
- 03WebFetchを意図的に失敗させる安全なページ取得ツールを無効化し、代替手段を誘導
- 04Claudeがcurlコマンドを実行攻撃者が仕込んだ指示によりシェルコマンドを選択
- 05攻撃者のコードが実行されるツール選択がハイジャックされ、最大80%の成功率
室谷代表取締役今回はThe Registerが報じた話なんですけど、Anthropic製のAIコーディングエージェント「Claude Code」がOpus 5モデル・Auto Modeで動いている場合、悪意あるWebサイトを「要約して」と頼むだけで、攻撃者の仕込んだコードを実行させられてしまうという攻撃が実証されたんですよ。成功率は最大80%だとか。
テキトー教師DotAI 認定講師ええ、これはかなり強烈な話ですね。私も記事を読んで驚きました。
AIエージェントにWebサイトを要約させるというのは、もはや日常的な操作ですから。その日常操作がトリガーになるというのがポイントです。
AIエージェントにWebサイトを要約させるというのは、もはや日常的な操作ですから。その日常操作がトリガーになるというのがポイントです。
室谷代表取締役実証したのは、プロンプトインジェクション研究で知られるJohann Rehbergerさん、通称wunderwuzziさんですね。ブログと動画で詳細を公開しています。
Claude CodeがOpus 5でAuto Mode、つまり2026年8月中旬時点でのClaudeの既定設定で動いている状態を標的にしているんです。
Claude CodeがOpus 5でAuto Mode、つまり2026年8月中旬時点でのClaudeの既定設定で動いている状態を標的にしているんです。
テキトー教師DotAI 認定講師まず基本を整理すると、Claude Codeは開発者がターミナル上で自然言語で操作する、コード作成・実行を自動化するAIエージェントです。Auto Modeは、AIがファイル操作やコマンド実行などのツールを自律的に判断して使うモード。
つまり、今回の攻撃は「AIが自分で判断して行動する」という当たり前の仕組みを、悪意あるWebサイトの内容でハイジャックする話ですね。
つまり、今回の攻撃は「AIが自分で判断して行動する」という当たり前の仕組みを、悪意あるWebサイトの内容でハイジャックする話ですね。
室谷代表取締役そうなんです。攻撃者は「要約して」という指示に、Webページ内に埋め込んだ指示文を混ぜて、Claudeのツール選択を操作します。
今回は特に、安全なページ取得ツール「WebFetch」をわざと失敗させて、代わりに「curl」というシェルコマンドをAIに実行させるという手口が使われています。
今回は特に、安全なページ取得ツール「WebFetch」をわざと失敗させて、代わりに「curl」というシェルコマンドをAIに実行させるという手口が使われています。
攻撃の流れ:WebFetchの失敗からcurl、ZIPダウンロードまでを再現
攻撃の流れ:WebFetch失敗からZIP展開・コード実行まで
- 01WebFetchで要約を指示ユーザーまたは攻撃者がClaude CodeへWebサイトの要約を依頼
- 02サーバーが415エラーを返すWebFetchが「Unsupported Media Type」で失敗
- 03Bashでcurlを実行ClaudeはWebFetch不可と判断し代替手段としてcurlを選択(直接のcurl指示ではない)
- 04303リダイレクトでZIPを取得悪意のあるZIPファイルがダウンロードされる
- 05ZIP内のファイル群を展開カタログメタデータ、README、7つのBase85/zlibエンコードJSON、decoder-darwin、細工されたstruct.py
- 06デコーダー実行をセーフガードが拒否ClaudeはZIP内のデコーダーを直接実行せず、自作のデコーダーを書く判断をする
- 07自作デコーダーがbase64をインポートPythonモジュールシャドーイングにより悪意のあるstruct.pyが読まれて実行される
- 08遠隔ペイロードを実行難読化で安全対策をバイパスし、Calculator起動や偵察・ファイル書き込みなどの子エージェント活動が可能になる
テキトー教師DotAI 認定講師攻撃の流れをステップで見ていくと、とても巧妙です。まず、ユーザーか攻撃者がClaude Codeに「このサイトを要約して」と指示します。
ClaudeはWebFetchでアクセスするのですが、サーバーは意図的に「415 Unsupported Media Type」エラーを返します。
ClaudeはWebFetchでアクセスするのですが、サーバーは意図的に「415 Unsupported Media Type」エラーを返します。
室谷代表取締役するとClaudeは「WebFetchが使えない」と判断して、代替手段としてBashツールでcurlを実行するんですね。このとき、攻撃者は直接「curlを使え」とは指示していないのがミソです。
ツールのエラーという正当な判断材料を逆手に取っているわけです。
ツールのエラーという正当な判断材料を逆手に取っているわけです。
テキトー教師DotAI 認定講師curlが実行されると、Webサイトは303リダイレクトを返して、悪意のあるZIPファイルをダウンロードさせます。ZIPの中には、一見無害そうなカタログのメタデータやREADME、7つのBase85/zlibエンコードされたJSONノートブックレコード、macOS用のデコーダー「decoder-darwin」バイナリ、そして細工されたPythonファイル「struct.py」が入っています。
室谷代表取締役ここでClaudeはセーフガードにより、ZIP内のデコーダーを直接実行するのを拒否します。Rehbergerさんは「これは攻撃者が計画した通りで、むしろ望んでいることだ」と指摘しています。
なぜなら、Claudeが「自分でデコーダーを書こう」と判断するからです。
なぜなら、Claudeが「自分でデコーダーを書こう」と判断するからです。
テキトー教師DotAI 認定講師その判断がまさに「安全な選択」だったのに、それが逆に脆弱性の入口になるというのが皮肉ですよね。AIが自ら書いたデコーダーはbase64をインポートしますが、ここからPythonモジュールシャドーイングという手法で、悪意のあるstruct.pyを実行させられます。
室谷代表取締役モジュールシャドーイングは、ローカルファイルがPython標準ライブラリのモジュールと同じ名前を持つことで、そちらが優先的に読み込まれてしまう現象です。標準ライブラリのbase64モジュールは本来のstructモジュールをインポートしますが、悪意のあるZIPには同名のファイルが入っているため、Pythonはそちらを読み込んでしまうんですね。
テキトー教師DotAI 認定講師さらにRehbergerさんはChatGPTを使ってstruct.pyのコードを難読化し、Claudeの安全対策をバイパスさせたと報告しています。これによって、別のPythonプロセスが起動し、遠隔ペイロードをダウンロード・実行する——デモではコマンド&コントロールのコールバックが実行され、最終的にCalculator(電卓アプリ)が開いたそうです。
室谷代表取締役もちろん実際の攻撃者なら、もっと悪質なことをするでしょうね。別のシナリオでは、struct.pyが
子エージェントは自分のツールアクセスとコンテキストを持ち、
claude -pでヘッドレスのClaude Codeを起動し、「子エージェント」として自律的に活動させることも実証されています。子エージェントは自分のツールアクセスとコンテキストを持ち、
whoamiやuname、idといった基本的な偵察を行ったり、Calculatorを開いたり、ローカルファイルに書き込んだりもできたとのことです。なぜAuto Modeが標的になるのか——成功率80%の理由を読み解く
まとめ
Auto Modeが標的になる理由
- 既定設定のため多くの開発者が無意識に使用
- AIがツールを自律選択する構造を攻撃者が誘導
- Webサイト要約は一般的な用途で、信頼を悪用
- ツールのエラーが正当な判断材料として利用される
- 安全な行動自体が攻撃経路になることがある
テキトー教師DotAI 認定講師成功率が最大80%という数字は、かなり高いですよね。なぜAuto Modeがこんなに狙われやすいのか。
まず、Auto Modeが2026年8月中旬時点でのClaudeの既定設定であることが大きいでしょう。多くの開発者が無意識のうちにこのモードを使っていることになります。
まず、Auto Modeが2026年8月中旬時点でのClaudeの既定設定であることが大きいでしょう。多くの開発者が無意識のうちにこのモードを使っていることになります。
室谷代表取締役加えて、Auto ModeはAIが自律的にツールを選択するため、攻撃者が「WebFetchが失敗したらcurlに切り替える」という自然な動作を誘導しやすい構造になっているんです。AIは与えられたタスクを達成するために最も効率的な方法を選ぶように設計されていますから、エラーが出れば代替手段を模索する。
その合理性を逆手に取られています。
その合理性を逆手に取られています。
テキトー教師DotAI 認定講師さらに厄介なのは、Webサイトの要約というのが、AIエージェントの最も一般的な使い方のひとつだという点です。開発者が「このサイトの内容をまとめて」と頼むとき、そのサイトが悪意のあるコンテンツを含んでいるとは思わないでしょう。
攻撃者はその信頼を利用するわけです。
攻撃者はその信頼を利用するわけです。
室谷代表取締役また、今回の攻撃では「ツールのエラー」という正当な判断材料が利用されています。ClaudeはWebFetchが415エラーを返したので、curlを使うのは合理的だと判断している。
人間から見れば「怪しいサイトだな」と気づけるかもしれませんが、AIはとにかくタスクを完了しようとする。その結果、セーフガードをすり抜けてしまうんですね。
人間から見れば「怪しいサイトだな」と気づけるかもしれませんが、AIはとにかくタスクを完了しようとする。その結果、セーフガードをすり抜けてしまうんですね。
テキトー教師DotAI 認定講師私が特に注目したのは、Claudeの安全な行動が逆に攻撃経路になるという点です。デコーダーを直接実行するのを拒否した結果、自分でデコーダーを書いてしまい、結果としてモジュールシャドーイングに引っかかる。
これはAIエージェントの安全性設計の難しさを象徴している例です。
これはAIエージェントの安全性設計の難しさを象徴している例です。
開発者が今すぐできる対策と注意点
室谷代表取締役じゃあ、開発者はどうすればいいんでしょうか。正直、現時点でAnthropicがどのような対策を公式に打ち出しているかは明らかにされていません。
まずはこの攻撃の存在を認識して、Claude CodeにWeb要約をさせる際のリスクを理解しておくことが重要です。
まずはこの攻撃の存在を認識して、Claude CodeにWeb要約をさせる際のリスクを理解しておくことが重要です。
テキトー教師DotAI 認定講師基本的な対策としては、信頼できないWebサイトをAIに要約させない、という運用が考えられますね。また、AIエージェントがcurlをはじめとするシェルコマンドを実行する権限を過剰に与えないようにするのもひとつの手です。
ただ、これはあくまで一般的なセキュリティの話であって、Anthropicが推奨する公式の対策というわけではありません。
ただ、これはあくまで一般的なセキュリティの話であって、Anthropicが推奨する公式の対策というわけではありません。
室谷代表取締役そうですよね。ソースの範囲で言えるのは、Rehbergerさんがブログと動画で攻撃の詳細を公開しているので、開発者はそれを確認して自社の利用状況と照らし合わせるのが第一歩だろう、ということです。
この辺りは、ChatGPT警告の種類と対処法で解説しているプロンプトブロックの話と通じるものがありますね。
この辺りは、ChatGPT警告の種類と対処法で解説しているプロンプトブロックの話と通じるものがありますね。
テキトー教師DotAI 認定講師ええ。AIエージェントの出力だけでなく、入力側にも目を向ける必要があるというのが今回の教訓です。
Web要約という機能は、NotebookLMで読書が変わる?でも取り上げたように、AIの活用シーンを広げる便利な機能です。その便利さの裏で、今回のような攻撃ベクトルが存在することを意識しておくべきでしょう。
Web要約という機能は、NotebookLMで読書が変わる?でも取り上げたように、AIの活用シーンを広げる便利な機能です。その便利さの裏で、今回のような攻撃ベクトルが存在することを意識しておくべきでしょう。
室谷代表取締役あとは、Auto Modeの動作を監視する仕組みを入れるのも有効かもしれません。Claude Codeがどのようなツールを呼び出しているのか、ログを取っておくだけでも、不審なcurl実行やZIPダウンロードに気づける可能性があります。
ただし、これも私の個人的な見解で、公式のガイドラインではありません。
ただし、これも私の個人的な見解で、公式のガイドラインではありません。
よくある質問:Claude Codeのセキュリティとプロンプトインジェクション
テキトー教師DotAI 認定講師最後に、よくある質問を整理しておきましょう。まず「Claude Codeとは何ですか?」という質問。
Claude Codeは、Anthropicが提供するAIコーディングエージェントで、開発者がターミナル上で自然言語で指示すると、コードの作成や実行を自動化してくれます。
Claude Codeは、Anthropicが提供するAIコーディングエージェントで、開発者がターミナル上で自然言語で指示すると、コードの作成や実行を自動化してくれます。
室谷代表取締役次に「この脆弱性はどのように悪用されるのですか?」ですね。悪意あるWebサイトを要約させるだけで、AIがcurlを実行し、ZIPファイルをダウンロードし、Pythonモジュールシャドーイングを利用して攻撃者のコードを実行させられる可能性があります。
成功率は最大80%と報告されています。
成功率は最大80%と報告されています。
テキトー教師DotAI 認定講師「Auto Modeは危険なのでしょうか?」という質問もありますね。Auto Mode自体が危険というわけではありませんが、AIが自律的にツールを判断するため、攻撃者がツール選択を誘導しやすいという側面があります。
また、Auto Modeが既定設定であるため、多くのユーザーが知らないうちに影響を受ける可能性があるというのが、研究者の指摘です。
また、Auto Modeが既定設定であるため、多くのユーザーが知らないうちに影響を受ける可能性があるというのが、研究者の指摘です。
室谷代表取締役「開発者はどう対策すれば良いですか?」については、信頼できないサイトをAIに要約させない、AIのツール実行を監視する、といった基本的なセキュリティ運用が考えられます。ただ、Anthropicが公式に発表した対策は現時点では明らかにされていません。
テキトー教師DotAI 認定講師最後に「どのような影響が考えられますか?」。今回のデモでは電卓が開いた程度ですが、実際の攻撃者なら遠隔コード実行や別エージェントの起動などを悪用して、情報窃取やシステム侵害につなげる可能性があります。
研究では、
研究では、
claude -pによる子エージェントの起動が実証されており、より高度な攻撃への発展が懸念されます。
室谷代表取締役まだAnthropicからの公式なセキュリティアドバイザリや修正情報も発表されていない段階なので、今後のアップデートには注視が必要ですね。AIエージェントの活用が進むほど、今回のような「普通の操作」を狙った攻撃は増えそうです。
テキトー教師DotAI 認定講師まさに、AIエージェント時代のセキュリティは「プロンプトインジェクションとの終わりなき戦い」だということです。今回の報を受けて、自分たちの使い方を見直すきっかけにしてもらえればと思います。
室谷代表取締役また新しい研究が出たら、このチャンネルでも速報していきますね。
