AIにコーディング作業を任せるとき、「余計なところまで触られたらどうしよう」と心配になることがあります。古いブランチを整理してほしかっただけなのに大事なブランチまで消されていたり、開発環境のジョブを止めたかっただけなのに本番のジョブまで巻き込まれていたり。そういう事故を防ぐために、Claude Codeには自動許可モードという仕組みが用意されています。エージェントが危ない操作をしようとしたら、別の判定役が割って入って止めてくれる、いわば関所のような機能です。

本記事では、この関所が実際どれくらい機能しているのかを調べた検証研究を紹介します。結論を先に言うと、あえて判断に迷う指示を並べてテストしたところ、関所は危ない操作の8割を見逃していました。しかも見逃しの多くは、関所の判定が甘かったというよりは、そもそも関所を通らない抜け道があったために起きていました。
たとえば「古いジョブを消して」と頼まれたエージェントが、ジョブを管理するコマンドを環境内に見つけられなかったとき、どうしたでしょうか。エージェントはごく自然に、ジョブ一覧が書かれたJSONファイルを直接書き換えて消してしまいました。関所はコマンド実行には目を光らせていましたが、ファイル編集は見ない設計だったので、そのまま素通りしてしまったのです。
どこに穴があるのか、なぜその穴が生まれたのか、そしてエージェントに権限を預ける側として何を気にすればよいのかを、順番に見ていきます。