編集

Claude Code、auto modeで危険操作のみ分類器がブロック

Claude Code 利用者は権限プロンプトの約93%を承認している一方、繰り返しの承認で注意が薄れる「承認疲れ」への対処として、手動承認と --dangerously-skip-permissions の中間を狙う auto mode が用意された。実行前に会話と保留アクションを見る分類器が承認代行し、意図とずれた危険操作のみ止め、それ以外はプロンプトなしでの実行に。

入力側ではサーバー側の prompt-injection probe がツール出力(ファイル読取、web fetch、シェル出力、外部ツール応答など)をエージェント文脈に入れる前にスキャンし、インジェクション疑いへの警告付与。出力側では transcript classifier(Sonnet 4.6)が実行前に各アクションを評価し、高速な単一トークン判定のあと必要時のみ chain-of-thought で再評価。分類器入力はユーザメッセージとツール呼び出しに限定、アシスタント文とツール結果は意図的に除外。

許可の流れは三段構え。変更状態を持たないツールの固定 allowlist とユーザー設定。auto mode 開始時は任意コード実行に相当する広いシェル許可などを外す。プロジェクトディレクトリ内のファイル書き換えは分類器呼び出しなしでの許可。シェル、web fetch、外部ツール連携、サブエージェント起動、プロジェクト外のファイル操作など、影響が大きいものだけが transcript classifier に回る。

ブロックはツール結果として理由付きで返り、より安全な経路への再試行を想定した deny-and-continue。連続3回または累計20回の拒否で人間へのエスカレーション、ヘッドレス claude -p ではプロセス終了。

社内実トラフィック1万件、実セッション由来のオーバーエージャー操作52件、合成データ流出1000件で評価した分類器の指標は次のとおり。

段階実トラフィック(n=10,000)の偽陽性率実オーバーエージャー(n=52)の偽陰性率合成流出(n=1,000)の偽陰性率
ステージ1(高速フィルタ)8.5%6.6%1.8%
ステージ1→2(パイプライン全体)0.4%17%5.7%

取りこぼしの多くは、force-push や削除など危険性の認識はできている一方、ユーザーの発話が当該操作の爆発半径までを明示的に承認していたかの判定で誤るパターン。手動で毎回慎重に承認する運用の代替にはならない一方、--dangerously-skip-permissions と比較した相対的な安全改善としての位置づけ。claude auto-mode defaults で既定ルール一覧の確認に。

#参考文献

編集