Claude CodeのAuto Modeに対する新しい攻撃チェーンが、小規模な検証で60〜80%の確率で成功したと報告された。核心はPythonの標準ライブラリと同じファイル名を置くだけで成立するモジュールシャドーイング。Anthropicはこの報告を「対応不要」としてクローズしている。
WebFetchの415エラーからcurl誘導→標準ライブラリの乗っ取りまでの5段階の攻撃チェーンの要点、同時期に公表された「攻撃成功率0%」という別の実測値との対比、自分の運用に当てはめる3つの点検項目。
セキュリティ研究者Johann Rehberger氏(embracethered.com、通称wunderwuzzi)が2026年8月26日に公開したレポートは、Claude CodeのAuto Modeに対する新しい攻撃チェーンを実証したものだ。バリアントごとに3〜5回という小規模な試行ではあるが、60〜80%という高い確率で攻撃が成功したと報告されている。
Auto Modeは、個別の許可プロンプトを出さずに分類器がツール呼び出しの安全性を判定する仕組みで、2026年8月にPro/Max/Teamプランの既定になったばかりだった。「いちいち確認しなくていい」という体験の裏側で、この分類器がどこまで防げるかが問われた格好になる。
面白いのは、Claudeが律儀に「怪しいバイナリの実行を拒否」したことが、かえって攻撃を成立させる引き金になっている点だ。
攻撃者が用意したサーバーは、Claude CodeのWebFetchツールに対して意図的に「415 Unsupported Media Type」を返す。ツールが使えないと判断したClaudeは、自発的にシェルのcurlコマンドへ切り替えて取得を試みる——ここが最初の分岐点になる。
curl経由で取得するのは、README・CSV・SHA256マニフェスト・base64エンコード済みJSON・macOS用バイナリdecoder-darwin・struct.pyが同梱されたZIPアーカイブ。Claudeは素性の知れないmacOSバイナリの実行を拒否する——一見安全な判断だが、その代わりに「base64とzlibを使った独自デコーダをPythonで書いて実行する」という選択をしてしまう。
Claudeが書いたデコーダを、展開済みのアーカイブと同じディレクトリで実行すると、Pythonのbase64モジュールが内部でstructをimportする際、標準ライブラリではなくカレントディレクトリの悪意あるstruct.pyが先に読み込まれる。import時にそのまま難読化ペイロードが実行される仕組みだ。
ここが核心。実行されたのは、Claude自身が「安全のために」自作したコードだった。struct.pyはpython3 -I -cで隔離モードの子プロセスを起動し、リモートのステージをダウンロードして実行ファイルに設定、最終的にCalculatorの起動とC2(Sliver)へのコールバックまで確認されている。
Anthropicはこの報告を「Informative」判定としてクローズし、「Auto Modeはベストエフォートの分類器であり、セキュリティ保証ではない」と説明している。一方、Claude Codeチームを率いるBoris Cherny氏は同時期にX(旧Twitter)で「プロンプトインジェクションはほぼ解決された」と発言していた。
Rehberger氏はこの2つのメッセージの矛盾を指摘する。Cherny氏の発言の根拠になっているのは固定72シナリオでの攻撃成功率0.00%というベンチマークで、今回のような新規の攻撃チェーンはそもそもこの測定範囲に含まれていない。「ベンチマークで0%」と「実際の攻撃面全体で安全」は、イコールではない。
補足: 記事には2026年8月30日付の追記があり、後の指摘を受けて、この手口は「古典的なプロンプトインジェクション」ではなく「環境の混乱(environment confusion)を突いた攻撃」だと分類し直されている。攻撃が成立する条件自体は変わらないが、原因の呼び方には留保が必要な段階のようだ。
ほぼ同時期の2026年8月26日、Anthropicは「Claude in Chrome」の一般提供(GA)を発表している。そこでは、プローブと安全分類器を組み合わせた防御によりClaude Sonnet 5・Opus 5・Mythos 5への攻撃成功率が0%、Claude Fable 5でも0.3%に抑えられたという実測値が示された(分類器なしの生の数字では、Opus 4.5が17.6%・Opus 5でも3.8%が成功していたという言及もある)。
Auto ModeとClaude in Chromeは、防御している「面」がそもそも違う——一方はブラウザ操作、もう一方はコード実行環境だ。同じ会社が同じ時期に、片方では0%近くまで抑え込み、もう片方では60〜80%が通っている。「攻撃成功率0%」という数字を見たとき、それがどの防御レイヤーの、どの攻撃面についての数字かを確認しないと、自分の使い方には当てはまらない場合がある、という教訓として読める。
個人開発の規模でこの攻撃チェーンそのものを狙われる可能性は高くないが、「エージェントが自分で書いたコードを、自分が展開したディレクトリで実行する」という状況は、日常的な自動化でも普通に起こり得る。ハーネス実証データを読んだ記事やAIエージェントが4.5日間脱走した実例と同じ、「許可の設計はどこで破られるか」という系譜の一例として捉えるとよい。
struct.pyのような)が紛れていないか、実行前に確認する習慣を持つ。出典: embracethered.com — Breaking Claude Code Opus 5 and Auto Mode / Simon Willison's Weblog