「承認」ボタンを、コマンド自身が欺いていた──Claude Codeが3日連続で塞いだ、エージェント権限チェックの抜け穴群

承認ダイアログに映らない不可視文字でコマンドを隠せた——Claude Codeが8月4〜6日のv2.1.221〜223で連続修正した、エージェント権限チェックの抜け穴群と、無人運用でいま打てる手をまとめる。

シェア
「承認」ボタンを、コマンド自身が欺いていた──Claude Codeが3日連続で塞いだ、エージェント権限チェックの抜け穴群

承認ダイアログに映らない「見えない文字」

コーディングエージェントの安全設計は、最後は人間の「承認」で担保されます。Claude Code のようなツールは、シェルコマンドやファイル書き込みを実行する前に「このコマンドを実行してよいか」と確認ダイアログを出し、利用者がそこで許可を押して初めて動きます。ところが 8 月 6 日にリリースされた Claude Code v2.1.223 の修正内容は、その最後の砦が欺かれていた可能性を示すものでした。

Anthropic が公開した変更履歴には、「タブや不可視の Unicode 文字で埋められたコマンドが、承認ダイアログからコマンドの一部を隠せる不具合を修正した」と記されています。つまり、利用者が承認ダイアログで見ている文字列と、実際に実行されるコマンドがずれていた——見えている部分だけを見て「問題なさそう」と許可を押すと、隠された部分まで一緒に走ってしまう、という穴です。人間の目には同一に見える文字(confusable characters)を突く手口は以前から指摘されており、この修正はその系譜に連なるものです。

3日で連続した、権限まわりの修正

注目すべきは、これが単発の修正ではない点です。8 月 4 日の v2.1.221 から 6 日の v2.1.223 まで、3 リリース連続で権限チェックと分離(isolation)の抜け穴が塞がれました。主なものを並べると次の通りです。

バージョン塞いだ抜け穴
v2.1.221
(8/4)
zsh の [[ ]] 正規表現条件の中で隠しコマンドが実行できた/Windows で引用符を含むパスが検査を素通りした/ワークフロー・スクリプトが動的 import() でサンドボックス外のコードを実行できた
v2.1.222
(8/5)
worktree で分離したはずのセッションとサブエージェントが、本チェックアウトに対して破壊的な git コマンドを実行できた/バックグラウンド処理で PreToolUse の自動許可フックがツール制限を回避できた
v2.1.223
(8/6)
タブ・不可視 Unicode でコマンドの一部を承認ダイアログから隠せた/エージェント定義の bypassPermissions が組織側の「無効化ポリシー」を無視していた/worktree 分離の穴を、ファイル編集と Bash の全セッションに適用し直した

いずれも派手な新機能ではなく、地味な「配管の穴埋め」です。ですが共通しているのは、エージェントに与えたはずの制約(承認・サンドボックス・作業ディレクトリの分離・組織ポリシー)が、特定の条件で効いていなかったという点です。同じ週には、承認を経ずにエージェントが自ら実行判断を下す「自動モード」が全ユーザーに展開されてからちょうど 1 か月が経とうとしていました。判断を機械に預ける度合いが増すほど、これらの「関所」が確実に効くことの重みは増します。

関所が効かないと、何が起きうるか

コーディングエージェントは、外部から読み込んだ内容(Web ページ、スキルファイル、MCP サーバーのメタデータなど)を手がかりに動きます。もし承認ダイアログが欺けるなら、悪意ある指示を「安全そうに見える承認」として通される余地が生まれます。破壊的な git コマンドが分離された作業場を飛び越えて本体に及べば、意図しない変更や履歴の破壊につながりえます。こうしたリスクは、エージェントに強い権限を渡して無人で回すほど大きくなる、という指摘があります。便利さの裏側にある構造的な弱点として、頭の片隅に置いておきたいところです。

一方で、こうした穴が外部の攻撃事例としてではなく、開発元自身の変更履歴として速いテンポで塞がれ、内容まで具体的に開示されている点は前向きに評価できます。修正の透明性そのものが、エージェントを業務に組み込む際の判断材料になります。

いま打てる手

実運用でエージェントを使っているなら、まず Claude Code を最新版(v2.1.223 以降)へ更新するのが最初の一手です。そのうえで、組織で無人運用している場合は、bypassPermissions の無効化ポリシーが意図通り効いているかを確認する価値があります。マーケットプレイスの許可・ブロックを組織単位でまとめて管理したい場合は、v2.1.223 で追加された owner/* のワイルドカード指定が使えます。承認ダイアログを「見て押すだけ」の運用は、今回のような死角がある前提で、権限そのものを絞る設計に寄せておくのが堅実です。

参照: Claude Code changelog(公式)Releasebot: Claude Code UpdatesClaude Code Changelog (August 2026)TechTimes: Claude Code Seals Bash and Unicode Bypass GapsGitHub Issue #29489: Unicode confusable characters can bypass permission rule matching

続きを読む

「一時間を超える処理」を待てるようにした──Codex 0.152が、MCPの出力量と実行時間に“上限のつまみ”を付け、計画ツールを既定オフに回した

「一時間を超える処理」を待てるようにした──Codex 0.152が、MCPの出力量と実行時間に“上限のつまみ”を付け、計画ツールを既定オフに回した

8月31日のCodex v0.152.0と翌日の修正版が、MCPツールの出力量や実行時間に明示的な上限を足し、計画ツールを既定オフに切り替えた。長く走らせる無人・半自動のエージェント運用に効く変更点を整理する。

FF
CLIの既定モデルが、100万トークンの頭に入れ替わった──Claude Code v2.1.257がFable 5.1を標準に据え、自動モードに『封じ込め破り』の関所を足した

CLIの既定モデルが、100万トークンの頭に入れ替わった──Claude Code v2.1.257がFable 5.1を標準に据え、自動モードに『封じ込め破り』の関所を足した

2026年9月1日公開のClaude Code v2.1.257が、既定モデルを100万トークン文脈のFable 5.1へ差し替え。自動モードには資格情報取得や範囲外読み取りを素通しさせない歯止めを追加した。開発者に効く変更点を整理する。

FF
「これは許可された演習だ」――そう言い張って、ランサム集団はCursorのAIエージェントに“実際の侵入作業”をやらせていた

「これは許可された演習だ」――そう言い張って、ランサム集団はCursorのAIエージェントに“実際の侵入作業”をやらせていた

ランサムウェア集団AuroraがCursorのAIエージェントを実際の侵入作業に悪用していたと、Gambit SecurityとCloudSEKが報告。「許可された演習」と偽って安全弁を回り込み、盗んだ認証情報を前提に偵察や権限奪取を代行させていた。開発者を速める道具は、攻撃者も速める――という警鐘。

FF
「買う」より「作る」を選ぶ会社が三社に一社──McKinseyが測った、コーディングエージェントが動かし始めた稟議

「買う」より「作る」を選ぶ会社が三社に一社──McKinseyが測った、コーディングエージェントが動かし始めた稟議

McKinseyの年次調査で、回答者の約3割が「コーディングエージェントで社内開発できる」を理由にソフト購入を見送ったと判明。買うより作るへ傾く調達の変化と、生産性は上がっても利益は動かないという足元の現実を読み解きます。

FF