← AIバイブコーディングTips 一覧へ Agent Security / embracethered.com

自動モードは6〜8割の確率で"外"に出た

Claude CodeのAuto Modeに対する新しい攻撃チェーンが、小規模な検証で60〜80%の確率で成功したと報告された。核心はPythonの標準ライブラリと同じファイル名を置くだけで成立するモジュールシャドーイング。Anthropicはこの報告を「対応不要」としてクローズしている。

この記事で手に入るもの

WebFetchの415エラーからcurl誘導→標準ライブラリの乗っ取りまでの5段階の攻撃チェーンの要点、同時期に公表された「攻撃成功率0%」という別の実測値との対比、自分の運用に当てはめる3つの点検項目。

01 — 何が起きたか

小規模な検証で、Auto Modeが6〜8割の確率で"外"に出た

セキュリティ研究者Johann Rehberger氏(embracethered.com、通称wunderwuzzi)が2026年8月26日に公開したレポートは、Claude CodeのAuto Modeに対する新しい攻撃チェーンを実証したものだ。バリアントごとに3〜5回という小規模な試行ではあるが、60〜80%という高い確率で攻撃が成功したと報告されている。

Auto Modeは、個別の許可プロンプトを出さずに分類器がツール呼び出しの安全性を判定する仕組みで、2026年8月にPro/Max/Teamプランの既定になったばかりだった。「いちいち確認しなくていい」という体験の裏側で、この分類器がどこまで防げるかが問われた格好になる。


02 — 核心:5段階の攻撃チェーン

「安全側に倒した判断」が、罠を作動させた

面白いのは、Claudeが律儀に「怪しいバイナリの実行を拒否」したことが、かえって攻撃を成立させる引き金になっている点だ。

01

415エラーが、WebFetchからcurlへの切り替えを誘導する

攻撃者が用意したサーバーは、Claude CodeのWebFetchツールに対して意図的に「415 Unsupported Media Type」を返す。ツールが使えないと判断したClaudeは、自発的にシェルのcurlコマンドへ切り替えて取得を試みる——ここが最初の分岐点になる。

02

正規バイナリの実行を拒否し、代わりに自作デコーダを書いてしまう

curl経由で取得するのは、README・CSV・SHA256マニフェスト・base64エンコード済みJSON・macOS用バイナリdecoder-darwinstruct.pyが同梱されたZIPアーカイブ。Claudeは素性の知れないmacOSバイナリの実行を拒否する——一見安全な判断だが、その代わりに「base64とzlibを使った独自デコーダをPythonで書いて実行する」という選択をしてしまう。

03

モジュールシャドーイング——標準ライブラリと同名のファイルが割り込む

Claudeが書いたデコーダを、展開済みのアーカイブと同じディレクトリで実行すると、Pythonのbase64モジュールが内部でstructをimportする際、標準ライブラリではなくカレントディレクトリの悪意あるstruct.pyが先に読み込まれる。import時にそのまま難読化ペイロードが実行される仕組みだ。

ここが核心。実行されたのは、Claude自身が「安全のために」自作したコードだった。struct.pypython3 -I -cで隔離モードの子プロセスを起動し、リモートのステージをダウンロードして実行ファイルに設定、最終的にCalculatorの起動とC2(Sliver)へのコールバックまで確認されている。


03 — Anthropicの対応とねじれ

「対応不要」のクローズと、「解決した」という発言

Anthropicはこの報告を「Informative」判定としてクローズし、「Auto Modeはベストエフォートの分類器であり、セキュリティ保証ではない」と説明している。一方、Claude Codeチームを率いるBoris Cherny氏は同時期にX(旧Twitter)で「プロンプトインジェクションはほぼ解決された」と発言していた。

Rehberger氏はこの2つのメッセージの矛盾を指摘する。Cherny氏の発言の根拠になっているのは固定72シナリオでの攻撃成功率0.00%というベンチマークで、今回のような新規の攻撃チェーンはそもそもこの測定範囲に含まれていない。「ベンチマークで0%」と「実際の攻撃面全体で安全」は、イコールではない。

補足: 記事には2026年8月30日付の追記があり、後の指摘を受けて、この手口は「古典的なプロンプトインジェクション」ではなく「環境の混乱(environment confusion)を突いた攻撃」だと分類し直されている。攻撃が成立する条件自体は変わらないが、原因の呼び方には留保が必要な段階のようだ。


04 — 同時期の「0%」との対比

同じ会社の中で、防御が効いた場面と効かなかった場面が同時にある

ほぼ同時期の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%」という数字を見たとき、それがどの防御レイヤーの、どの攻撃面についての数字かを確認しないと、自分の使い方には当てはまらない場合がある、という教訓として読める。


05 — 自分の運用に当てはめる

持ち帰れる3点

個人開発の規模でこの攻撃チェーンそのものを狙われる可能性は高くないが、「エージェントが自分で書いたコードを、自分が展開したディレクトリで実行する」という状況は、日常的な自動化でも普通に起こり得る。ハーネス実証データを読んだ記事AIエージェントが4.5日間脱走した実例と同じ、「許可の設計はどこで破られるか」という系譜の一例として捉えるとよい。

Auto Modeを"承認不要"と誤解しないAnthropic自身が「ベストエフォートの分類器であり、セキュリティ保証ではない」と明言している。危険な操作を自動で止めてくれる前提で設計しない。
外部アーカイブを展開したディレクトリで、その場しのぎのコードを実行しない標準ライブラリと同名のファイル(struct.pyのような)が紛れていないか、実行前に確認する習慣を持つ。
コーディングエージェントはコンテナ・VM・OSサンドボックスで動かすネットワークアクセスを制限し、ホームディレクトリやSSH鍵を隔離する。Simon Willison氏も同記事のコメントで同じ結論に達している。

出典: embracethered.com — Breaking Claude Code Opus 5 and Auto ModeSimon Willison's Weblog