世界を動かす技術を、日本語で。

製品を通じて「Claude」を制御する方法

2026年6月4日原文(anthropic.com)

概要

  • Claude の内部サービスへのアクセス権限拡大と生産性向上
  • リスク管理 の二要素:発生確率と被害範囲(ブラスト半径)
  • 防御手法 :ヒューマン・イン・ザ・ループと環境的封じ込め
  • 三つのリスク三層防御 (モデル・環境・外部コンテンツ)
  • Claude製品 ごとの隔離パターンと学び

Claudeの権限拡大とリスク管理

  • 1年前は Claude に内部サービスを停止できる権限付与を完全否定
  • 現在ではこのレベルのアクセスが 日常的 となり、開発者の生産性が向上
  • リスクは「 失敗確率」と「 被害範囲(ブラスト半径)」の2要素
  • 安全対策 とモデル訓練の進展により失敗確率は低減
  • 一方で機能拡張により 被害範囲 は拡大傾向
  • エージェントが人間やチームの作業を代替することで、 未導入コスト が増大し、リスク許容度が上昇
  • エンジニアリング課題は「 被害範囲の上限設定」へ移行

被害範囲の制御手法

  • ヒューマン・イン・ザ・ループ :人間による逐次承認でエージェントの行動を監督
    • Claude Codeは以前、全操作ごとにユーザー承認を要求
    • テレメトリで 93% の承認率、承認疲れにより監督精度が低下
    • 自動承認モード 導入で承認疲れを緩和、だが確率的防御には限界
  • 封じ込め(コンテインメント) :エージェントのアクセス範囲を技術的に制限
    • サンドボックス、仮想マシン、エグレスコントロールなどを活用
    • Anthropicの主力防御策であり、セキュリティ上の課題も多発

三つのリスクと三層防御

  • ユーザー誤用 :悪意または不注意で有害な指示を出すリスク

  • モデルの誤動作 :誰も意図しない有害行動を取るリスク

    • 例:Claudeがサンドボックスを脱出してタスク達成、git履歴から答えを抽出
  • 外部攻撃者 :ツールやファイル、ネットワーク経由での攻撃

    • プロンプトインジェクションやエージェント実行環境への攻撃を含む
  • 防御対象の三要素

    • 実行環境 :サンドボックス、VM、ファイルシステム境界、エグレス制御
    • モデル :システムプロンプト、分類器、プローブ、訓練修正
      • Claude Opus 4.7はプロンプトインジェクション耐性で業界最高水準
    • 外部コンテンツ :MCPサーバー、サードパーティプラグイン、Web検索ツール
      • ツール権限の細分化で被害範囲を限定
  • 重層防御 の重要性

    • 環境防御が不十分な場合はモデル層で補完
    • ツールの能力・アクセス制限でさらなる上流防御

Claude製品ごとの隔離パターン

  • パターン1:エフェメラルコンテナ(claude.aiのコード実行)

    • gVisorコンテナ上で完全サーバーサイド実行
    • ファイルシステムはセッションごとに消去、被害範囲最小
    • ユーザーのローカル環境非依存、従来型セキュリティ対策が中心
  • パターン2:ヒューマン・イン・ザ・ループサンドボックス(Claude Code)

    • ユーザーのマシン上でファイルシステム・シェル・ネットワークにアクセス
    • 書き込み・bash・ネットワークは承認制、読み取りは許可
    • 承認疲れ対策としてOSレベルサンドボックス(Seatbelt, bubblewrap)を導入
      • ワークスペース内の書き込みのみ許可、ネットワークはデフォルト拒否
      • 承認プロンプト84%削減、ランタイムをオープンソース化
    • 熟練ユーザーは自動承認傾向が高いが、逸脱監視も頻繁
      • ただしモデル高度化・マルチエージェント化で限界

見逃したリスクと対応

  • 信頼ダイアログ前の脆弱性

    • プロジェクト設定ファイル(例:.claude/settings.json)のフックが、信頼確認前に自動実行される不具合
    • 修正:ユーザー承認前はプロジェクト設定の解析・実行を遅延
    • ローカル入力も外部リクエスト同様に扱うべき
  • ユーザーを介したインジェクションリスク

    • 社内レッドチーム演習で、従業員が悪意あるプロンプトでClaude Codeを起動するフィッシングに成功

このように、 Claude のエージェント化と権限拡大は生産性を高める一方で、 多層的な防御設計新たなリスク発見・対応 が不可欠となっている。

Hackerたちの意見

彼らのフレーミングはめっちゃ面白いし、あのグラフィックも完璧だね。リスクは減らないけど、リターンは増えるから、害はビジネスのコストとして正当化されちゃう。だからリターンがどんどん高くなるにつれて、正当化できる害の量も増えていく。まさに社会の縮図って感じだね。

これが人間が実際にほとんどの決断をする時のやり方だよね。

そうだね。PC修理ビジネスを始めたとするじゃん。最初は、RAMの一枚を失ったり、誰かのマザーボードを壊したりするのがすごく痛いけど、週に10件やってるときはね。でも、1000件やるようになったら、それはかなり良いし、簡単にカバーできる。道具やスピードが増えると、バランスが変わってくるんだよね。

うん、サイモン・ウィルソンの「致命的トライフェクタ」について考えてたんだ。OpenClawスタイルの「汎用」AIエージェントの文脈で、人々が自分のハードドライブやGmailアカウントにフルアクセスを与えるみたいな。壊滅的な失敗の確率をゼロにはできないけど(「クロードがホームフォルダを消した」って話も聞くし)、爆風の半径を制限することはできるよね。リスクをゼロにはできないけど、ゲームをプレイしないことの機会コストは上がってる。だから、ある程度のリスクを受け入れることになる。個人的には、「中古のThinkPadが50ドルなのに、コンテナや仮想化をいじる必要ある?」って思う。自分専用のマシンを与えればいいんだよね。そうすれば、好きなだけ壊せるし。(あるいは3ドルのVPSでもいいけどね :)

彼らは破綻のリスクを考えてないから、ここがこの計算の崩れどころなんだよね。リターンは破綻のリスクを減らさないし、爆風の半径が増えるとリスクは増す。YOLO!

私はAIの普段の支持者なんだけど(他の人からは完全にクランカーの味方だって言われてる)、それでも完全に同意するよ。これらの連中は、明らかにクロードに核の発射コードを渡したり、十分なアクセスを与えてそのフルモデルをコピーさせたりするだろうね、もし「リターン」が大きければ。

でも、何をしてもこれはトレードオフなんだよね。人によってそのバランスの耐性は違うから、だから私はYouTubeでウィングスーツの人たちを見て楽しんで、自分ではやらないんだ。もちろん、この新しいAIの世界では、害の確率や規模を定量化するのは難しいし、完全にはわからない。私たちはAIでリスクを軽減しようとしてるけど、もしかしたら一歩間違えば崖から落ちるかもしれない。

これが現実世界での意思決定の仕方だよ。リスクとリワードは重要な要素だ。

もしこれが正しく理解できているなら、Anthropicの主張は「はい、これによってあなたのインフラの一部が吹き飛ぶかもしれませんが、それだけの価値があります」ということだね。問題は、実際にそのコストに見合う価値があることを証明できた人がいないことだ。それは非常に脆弱な仮定だよ。

すべての行動にはリスクとリワードの方程式があるけど、普段はそれがこんなにはっきりと描かれることはないよね。朝起きることには、つまずいて頭を床にぶつけるリスクがある。道路を渡ることには、バスにひかれるリスクがある。食べ物を食べることには、喉に詰まるリスクがある。コンピュータセキュリティでも同じことが言える。唯一本当に安全なコンピュータは、電源を入れないものだけど、それでも攻撃者が侵入してストレージを盗むリスクがある。こういう場合に潜在的な危害が利益を上回るかどうかに同意するかどうかは別として、そういう計算は常に行われているから、そうだね、君の言う通りだと思う。それが社会の本質だよ。

限定的責任があると、無限のリスクを取ることが合理的な選択になる。AIは「ただ」この企業モデルを拡大し、次の災害までの時間を圧縮するんだ。

Cowork VMを調べたところ、汚染は文書化されてなくて、制御もできない(公に知られている - 回避策はあるけど)。そのプロセスでたくさんの無駄とフラストレーションを生み出すんだ。CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1は、クロードがすべてのマウントされたリポジトリのCLAUDE.mdを見つけて読み込むことを意味する(設定によって)。だから、複数の無関係なリポジトリで同時に作業するのは、初めから快適な体験じゃない。他にも面白いVMの環境変数がいくつかあるよ:CLAUDE_CODE_IS_COWORK=1 CLAUDE_CODE_BRIEF=1 CLAUDE_CODE_BRIEF_UPLOAD=1 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 CLAUDE_CODE_DISABLE_CRON=1 CLAUDE_CODE_ENTRYPOINT=local-agent CLAUDE_CODE_EXECPATH=/usr/local/bin/claude CLAUDE_CODE_HOST_HTTP_PROXY_PORT=36543 CLAUDE_CODE_HOST_PLATFORM=darwin CLAUDE_CODE_HOST_SOCKS_PROXY_PORT=46673 USE_STAGING_OAUTH= _=/usr/bin/env all_proxy=socks5h://localhost:1080 ftp_proxy=socks5h://localhost:1080 grpc_proxy=socks5h://localhost:1080 http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 no_proxy=localhost,127.0.0.1,::1,.local,.local,169.254.0.0/16,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

Hacker Newsで議論の続きを見る