Claude Codeのセキュリティ対策、何から入れる?サンドボックス・権限・スキャンの導入順

サンドボックスで保護されたノートパソコンと鍵のかかった認証情報

Claude Codeのセキュリティ対策について、実際に設定を試したユーザーの投稿が話題になっていました。投稿のポイントは、セキュリティ用のプラグインを入れれば終わり、ではないということです。

Claude Codeは、ターミナルでコマンドを実行したり、複数のファイルを書き換えたりできるAIです。便利なぶん、悪意のある指示が混ざったファイルを読んだときや、うっかり広い権限を与えたときに、パソコン上の別のファイルや認証情報へ影響が及ぶ可能性があります。

この記事では、紹介されていた内容をそのまま再現するのではなく、Anthropicの公式ドキュメントと照らし合わせながら、何を守る機能なのか、筆者が導入するならどこから始めるかを整理します。

話題になった「Claudeのセキュリティ」は一つの機能ではない

今回拝見した投稿はこちらです。

Claude Codeのセキュリティ、やる順番を全部書く(Claude公式推奨法)

今回の投稿で主に触れられているのは、Claude Code向けの次のような機能です。

  • 権限システム:ファイル編集やコマンド実行の前に許可を求める
  • サンドボックス:コマンドが読める・書ける場所と、接続できるネットワークを分ける
  • security-guidanceプラグイン:Claudeが書いたコードを、パターン検知やLLMレビューで確認する
  • Claude Securityプラグインリポジトリ全体や変更範囲を複数エージェントで深くスキャンする

大切なのは、これらの守備範囲が違うことです。サンドボックスは「Claudeが実行する処理をどこまで許すか」を囲うもので、コードの脆弱性を探すものではありません。逆に、セキュリティプラグインはコードの問題を探しますが、認証ファイルを読める状態そのものを止める機能ではありません。

まず知っておきたいClaude Codeの基本の守り

Anthropicの公式ドキュメントでは、Claude Codeは読み取り専用を基本にし、編集やコマンド実行の前に許可を求める設計だと説明されています。初めて使うプロジェクトでは信頼確認も行われます。

ただし、許可を何度も押すのが面倒になると、内容を見ずに承認する「許可疲れ」が起こります。そこで使えるのがサンドボックスです。

サンドボックスはファイルとネットワークを別々に囲う

Claude Codeのサンドボックスは、macOSではOSの仕組みを使って、Bashコマンドとその子プロセスを隔離します。主に次の2つを制御します。

  • ファイルシステム分離:作業フォルダの外へ書き込むことを制限する
  • ネットワーク分離:接続できるドメインを制限する

片方だけでは不十分です。ファイルを読めても外部へ送れなければ被害を抑えられますし、外部へ接続できても秘密ファイルを読めなければ持ち出せません。両方を組み合わせて、被害が広がる経路を減らす考え方です。

Claude Codeのセッション中に /sandbox を実行すると、サンドボックスの設定画面を開けます。いきなり自動許可を最大にするのではなく、最初は通常の確認を残した状態で、必要なコマンドとドメインだけ動くかを確認するのがおすすめです。

認証情報は「自動で全部守られる」わけではない

ここが、今回の話で特に重要なところです。公式ドキュメントには、組み込みの認証情報拒否リストはなく、自分で列挙したファイルや環境変数だけが制限されると書かれています。

つまり、~/.ssh を拒否しても、GitHub CLIの設定や別のクラウド用設定ファイルまで自動的に保護されるとは限りません。自分が実際に使っている認証ファイルと環境変数を洗い出し、サンドボックスの認証情報設定へ追加する必要があります。

筆者が導入するなら、この順番

筆者がClaude CodeをMacのローカル環境で使うなら、次の順番にします。

  1. Claude Codeをプロジェクトのサブディレクトリから起動する
  2. /sandbox でファイルとネットワークの境界を確認する
  3. 認証ファイルとトークンをサンドボックスから拒否する
  4. 必要に応じてRead/Editの拒否ルールを追加する
  5. 最後にコードレビュー系プラグインを追加する

ユーザー設定(~/.claude/settings.json)へ置く最小限の例は次のような形です。パスや環境変数は、自分の環境で使っているものだけに置き換えてください。

{
  "sandbox": {
    "enabled": true,
    "credentials": {
      "files": [
        { "path": "~/.ssh", "mode": "deny" },
        { "path": "~/.aws/credentials", "mode": "deny" },
        { "path": "~/.config/gh", "mode": "deny" }
      ],
      "envVars": [
        { "name": "GITHUB_TOKEN", "mode": "deny" },
        { "name": "NPM_TOKEN", "mode": "deny" }
      ]
    }
  },
  "permissions": {
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.aws/**)",
      "Read(~/.config/gh/**)",
      "Edit(~/.ssh/**)",
      "Edit(~/.aws/**)",
      "Edit(~/.config/gh/**)"
    ]
  }
}

sandbox.credentials はサンドボックス内のBashコマンドに対して働き、permissions.deny 相当の拒否ルールはReadやEditなどのClaude Codeのツールに対して働きます。役割が違うので、両方を置く意味があります。

ただし、この設定をそのままコピーして終わりではありません。GitHub CLIやnpmを使う場合は、認証方法や許可するドメインとの兼ね合いでコマンドが動かなくなることがあります。動かなかったときに、拒否を一気に解除するのではなく、必要なパスやドメインを一つずつ確認してください。

security-guidanceは入れるべき?

security-guidanceは、Claudeがコードを書いている途中で、危険なパターンや差分を確認する公式プラグインです。導入コマンドは次のとおりです。

/plugin install security-guidance@claude-plugins-official

コードを書いた直後のチェックを自動化できるので、Claude Codeを日常的に使うなら試す価値があります。ただし、これはサンドボックスの代わりではありません。また、差分をLLMへ渡してレビューする仕組みなので、機密性の高いコードで使う場合は、契約プランやデータの扱いを確認してから導入したいところです。

公式マーケットプレイスにあるプラグインでも、含まれるMCPサーバーやファイルを無条件に信頼してよいという意味ではありません。導入後に何が追加されたか、どのファイルを読み、どの通信を行うかを確認する習慣は残ります。

Claude Securityは個人でもすぐ使うべき?

Claude Securityには、似た名前の2つがあります。

  • Claude Securityプラグイン:Claude Codeのセッション内で、リポジトリや差分を複数エージェントでスキャンする。現在は有料プランとPython 3.9.6以上などの前提がある
  • Claude Security(マネージド製品):リポジトリを継続監視するEnterprise向けサービス

個人の小さなサイト制作で、いきなりマネージド製品を契約する必要はありません。まずはサンドボックスと認証情報の拒否、必要に応じてsecurity-guidanceを使い、公開前や大きな変更の前だけClaude Securityプラグインでスキャンする、という順番で十分です。

Claude Securityプラグインを試す場合は、Claude Code内で次を実行します。

/plugin install claude-security@claude-plugins-official
/reload-plugins
/claude-security

スキャン結果からパッチを作る場合も、変更は自動適用されません。レポートと差分を自分で確認し、必要なら git apply で適用します。AIに見つけてもらうことと、AIに直させた変更をそのまま採用することは別の判断です。

AIじてんの制作環境なら、今すぐ必要?

筆者のように、Claudeをチャットや仕様整理に使い、実装は主にCodexへ任せているなら、今回のClaude Code向け設定を急いで入れる必要はありません。Claude CodeをローカルのWordPressテーマやプラグインへ直接使い始めるタイミングで、まず /sandbox と認証情報の拒否設定を導入すればよいでしょう。

逆に、Claude Codeでローカルファイルを読み書きしたり、GitHubやnpmへ接続したりするなら、導入をおすすめします。最初から4つすべてを完璧に設定する必要はなく、次の3点だけでも効果があります。

  • /sandbox を有効にする
  • ~/.ssh~/.aws、GitHub CLIの設定などを拒否する
  • --dangerously-skip-permissionsbypassPermissions を常用しない

まとめ

Claude Codeのセキュリティは、プラグインを一つ入れて終わる話ではありません。操作の許可、ファイルとネットワークのサンドボックス、認証情報の拒否、コードレビューを重ねることで、AIに渡す権限と、AIが書くコードの両方を別々に守ります。

まず導入するなら、サンドボックスと認証情報の拒否設定です。security-guidanceはその次、Claude Securityプラグインは大きなリポジトリや公開前の確認で使う、という順番が現実的です。

安全性を高める設定は、便利さを少し下げることもあります。何が止まり、何を許可したのかを確認できる小さな環境から始めて、自分の使い方に合う境界を作っていくのがよさそうです。

参考情報

2026年7月28日時点の情報です。Claude Codeのバージョン、プラグインの提供範囲、必要なプランは変更される可能性があります。

サイト内検索