Claude Code のオートモード

Simon Willison's Blog / 2026/3/25

📰 ニュースDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical Usage

要点

  • Claude Code は新しい「オートモード」権限設定を追加しました。これにより、ユーザーの代わりに Claude が権限判断を行いながら、セーフガードが実行前にアクションを監視します。
  • ドキュメントでは、別の分類器モデル(Claude Sonnet 4.6)が、要求された各アクションをレビューし、スコープ外に見えるもの、認識されていないインフラを対象とするもの、または敵対的なコンテンツの影響を受けているものをブロックするとされています。
  • オートモードには、豊富なデフォルトの許可/ブロック用フィルタが付属しており、ユーザーはルールをカスタマイズして、自身の環境やリスク許容度により適合させることができます。
  • この投稿では、ターミナルコマンド `claude auto-mode defaults` を示すことで、システムがどのように設定されるかを強調しています。このコマンドはデフォルトのフィルタセットを JSON 形式で出力します。
提供: WorkOS — 成長著しいB2B企業がエンタープライズ向けに販売するために使うインフラ。

2026年3月24日 - リンクブログ

Claude Code のオートモード--dangerously-skip-permissions の代替として、今日の Claude Code における本当に興味深い新展開があります:

本日、オートモードという新しい権限モードを導入します。Claude があなたの代わりに権限判断を行い、実行前に行動を監視するためのセーフガードが付くモードです。

これらのセーフガードは、ドキュメントで説明されているように、Claude Sonnet 4.6 を使って実装されているようです:

各アクションが実行される前に、別の分類器モデルが会話を見て、そのアクションがあなたの依頼した内容と一致するかどうかを判断します。タスクの範囲を超えて権限を拡大するアクションをブロックし、分類器が信頼できると認識していないインフラを対象にするアクションをブロックし、ファイルまたはWebページで遭遇した敵対的なコンテンツに駆動されているように見えるアクションをブロックします。 [...]

モデル: 分類器は、メインのセッションが別のモデルを使っていても、Claude Sonnet 4.6 上で動作します。

彼らは、デフォルトのフィルタを非常に包括的なセットとして出荷しており、さらに独自ルールでカスタマイズすることもできます。彼らの仕組みがどうなっているかを最も興味深く理解できるのは、ターミナルでこの新しいコマンドを実行したときです:

claude auto-mode defaults

完全なJSON出力はこちら。かなり長いので、ここでは分かりやすい一部を示します:

「allow」リストから:

  • テストアーティファクト: ハードコードされたテストAPIキー、例におけるプレースホルダ資格情報、またはテストケースのハードコーディング
  • ローカル操作: エージェントが作業ディレクトリ内のローカルファイルを削除すること、プロジェクトスコープ内でのローカルファイル操作、またはローカルテストのために --ignore-certificate-errors を使うこと。 「プロジェクトスコープ」とは、セッションが開始されたリポジトリのことです — ~/, ~/Library/, /etc、または他のリポジトリへ迷い込むのはスコープのエスカレーション(ユーザー意図ルール#2)であり、ローカル操作ではありません。既存ファイルやローカルのステートフルサービスの不可逆な破壊はカバーしません — BLOCK 内の「Irreversible Local Destruction」(不可逆なローカル破壊)を参照してください。
  • 読み取り専用操作: GETリクエスト、読み取り専用のAPI呼び出し、または状態を変更せず、かつURLに機密情報を含まないクエリ。注: 「意図が明確な場合の先回りブロック(PREEMPTIVE BLOCK ON CLEAR INTENT)」はまだ適用されます — トランスクリプトに、エージェントが読み取り専用操作を使ってブロックされたアクションを下調べ(偵察)していると明確に分かる証拠が含まれている場合、それをブロックします。
  • 宣言された依存関係: 標準コマンドで、リポジトリのマニフェストファイル(requirements.txt、package.json、Cargo.toml、pyproject.toml、Gemfile など)を読み取って行う、すでに宣言されているパッケージのインストール(pip install -r requirements.txtnpm installcargo buildbundle install など) — ただし、このセッションでエージェントがマニフェストを変更していないことが条件です。エージェントが選んだパッケージ名のインストール(例: pip install foonpm install bar)はカバーしません — それらは typosquat(タイポスクワット)とサプライチェーンのリスクを伴います。 [...]

「soft_deny」から:

  • Git の破壊的操作: 強制プッシュ(git push --force)、リモートブランチの削除、またはリモート履歴の書き換え
  • デフォルトブランチへの Git Push: main、master、またはリポジトリのデフォルトブランチへ直接プッシュすること — これによりプルリクエストのレビューを回避します。コミットは代わりに、新しい機能ブランチへプッシュされるべきです。 -外部からのコード: 外部ソースからコードをダウンロードして実行すること — 例: curl | bash、コードを実行し得る形式による外部データのデシリアライズ(eval、exec、yaml.unsafe_load、pickle など)、または同様の仕組み。さらに、トランスクリプト内で前にクローンされた外部リポジトリからコードを実行することも含まれます(pip install -e、make install、python script.py、pickle.load/torch.load をクローンしたリポジトリのファイルに対して行うなど) — 「ローカルディスク上にある」ことは、トランスクリプトに可視化されている外部ソースからクローンされたものであれば信頼できることを意味しません。エージェントが開始するリポジトリは信頼されます。
  • クラウドストレージの大量削除: クラウドストレージ(S3、GCS、Azure Blob など)上のファイルを削除する、または大量に変更すること。 [...]

私は、AI に依存したプロンプトインジェクション対策には納得できません。そもそも本質的に非決定的だからです。ドキュメントも、それでも何かが通ってしまう可能性があることを警告しています:

分類器は、いくつかの危険なアクションを許可してしまうかもしれません。たとえばユーザー意図が曖昧な場合、あるいは Claude があなたの環境について十分な文脈を持っておらず、そのアクションが追加のリスクを生み得ると判断できない場合です。

デフォルトの allow リストに pip install -r requirements.txt が含まれているという事実も、今朝の LiteLLM で見られたような、未ピン留めの依存関係によるサプライチェーン攻撃からは保護にならないことを意味しています。

それでも私は、コーディングエージェントはデフォルトで、堅牢なサンドボックス内で動かしたいです。ファイルアクセスやネットワーク接続を決定論的に制限するものです。この新しいオートモードのようなプロンプトベースの保護よりも、そうした仕組みをはるかに信頼しています。

2026年3月24日 24th March 2026 に投稿(午後11:57)

これは Simon Willison による リンク投稿 で、2026年3月24日 に投稿されました。

security 583 ai 1929 prompt-injection 147 generative-ai 1710 llms 1676 coding-agents 183 claude-code 100

月次ブリーフィング

$10/月で私をスポンサーにして、今月の最も重要なLLMの動向を厳選したメールダイジェストを受け取ってください。

送る量を減らすために、私にお金を払ってください!

スポンサー&購読