Claude Code Security とは:何を守り、どこがリスクになるのか
Claude Code は、ローカル環境のコードを読み取り・編集し、必要に応じてコマンド実行(bash)も扱える「開発支援エージェント」です。便利な反面、“ファイルアクセス” と “コマンド実行” が絡むため、セキュリティ設計を理解しておかないと事故りやすい領域でもあります。
本記事では、Claude Code の公式ドキュメントと公開情報をもとに、重要ポイントを 「仕組み」→「設定」→「運用」 の順で分かりやすくまとめます。
1) まず押さえる:Claude Code の基本的な安全境界
ローカル実行が基本(ただし通信は発生する)
Claude Code は基本的に あなたのPC上でコード実行・ファイルアクセスが行われ、そのセッションで必要なデータは Anthropic API へ TLS で送られる形です(つまり「クラウドVMで勝手に実行される」タイプとは違う)。
ここで大事なのは次の整理です。
- 実行場所:ローカル(あなたのマシン)
- 送信:会話・指示・(必要に応じて)読み取ったファイル内容などが API 経由で送られる
- 守るべきもの:秘密鍵、トークン、顧客情報、社外秘コード、機密設定ファイル…など
2) サンドボックス:bash実行の“範囲”を先に区切る
Claude Code の強力な武器が「bash(コマンド実行)」です。これを都度許可にすると疲れるので、Claude Code には ネイティブのサンドボックスが用意されています。
- ファイルシステム隔離とネットワーク隔離を、OSレベルの仕組みで制御
-
「毎回コマンド許可」ではなく、最初に境界を定義して、その範囲で自律的に動けるようにする
何が嬉しい?
-
意図せぬ
rm -rfや危険な書き込み先(例:親ディレクトリやホーム直下)を抑えやすい - うっかり外部に通信してしまう系の事故(無制限のネットアクセス)を抑えやすい
- 開発体験(許可ポップアップの連打)を改善しつつ、守りを固められる
3) “権限(Permissions)”でできること:許可疲れを設計で潰す
Claude Code は、許可プロンプトの多さが運用リスクになります。人間はそのうち「はいはいOK」になりがちだからです(いわゆる prompt fatigue)。
そこで、Claude Code には 権限ルール(permissions) を設定して、できること・できないことを制御する考え方があります(プロジェクト設定を Git 管理してチームへ配布する運用も一般的)。
公式が示す安全境界の例(概念)
- 書き込みはプロジェクト配下に限定(親ディレクトリは明示許可なしに変更不可)
-
読み取りは依存関係などの都合で広めだが、書き込みは絞る
実務では「読み取り範囲を必要最小限」「書き込み範囲はプロジェクト直下のみ」「ネットワークは allowlist」という三点セットが効きます。
4) Auto mode:許可を減らしつつ“安全にスキップ”する仕組み
Anthropic は「ユーザーが許可プロンプトの 93% を承認している」ことを背景に、**Auto mode(より安全な許可スキップ)**を設計しています。
ざっくり言うと、**安全側に倒した自動判定(分類器 + ルール)**で、危険操作を残しつつ、日常操作の摩擦を減らす方向です。
ポイント
- 便利=安全、ではない
- “何を自動化し、何を人間の判断に残すか” を前提にした設計になっている
チーム運用では、Auto mode を有効化する場合ほど、後述の 監視(ログ/OTel) とセットで考えるのが安全です。
5) データ保持とプライバシー:いつまで残る?
セキュリティの話は「侵入」だけでなく **データ保持(Retention)**も重要です。Claude Code のデータ保持は、プランや設定(モデル改善に利用を許可するか)で変わります。
例(消費者向け:Free/Pro/Max)
- モデル改善に利用を許可:最大 5年(匿名化/非特定化された形で保持されうる)
-
許可しない:30日
設定は変更可能、という整理です。
実務の推奨
- 会社・案件のルールに合わせて、まず「改善利用を許可しない」を基準に検討
- 機微情報が混ざる可能性があるなら、保持期間が短い運用へ寄せる
6) 監視・監査:OpenTelemetry(OTel)で“何をしたか”を追える
組織で使うなら、AIエージェントに対しても 監査可能性(Auditability) が重要です。Claude Code は OpenTelemetry で利用状況やツール活動をエクスポートでき、コスト・ツール実行・イベント等の可観測性を上げられます。
よくある使い方
- 「どのリポジトリで」「どんなツール実行が多いか」
- 異常なコマンド頻発や、普段と違う挙動の検知
- コスト急増の早期把握
7) プラグイン/チャネル連携は“許可リスト”で絞る
外部チャネル(例:通知・連携プラグイン)を使う場合、実行できるプラグインを allowlist で制限できる設定が用意されています(管理設定の領域)。
基本方針
- 連携は最小限
- “使っていいもの” を固定し、勝手に増えないようにする
Claude Code を安全に運用するチェックリスト(実務向け)
- Secrets をリポジトリに置かない(APIキー/トークン/秘密鍵は Secrets 管理)
- サンドボックスを使い、境界(FS/Network)を先に決める
- permissions をプロジェクトで管理(チームで同じガードレール)
- ネットワークは allowlist 前提(必要ドメインだけ)
- データ保持設定(改善利用の可否)を確認
- OTel などで監視・監査できる形に
よくある誤解(ここで事故る)
誤解1:ローカル実行=情報が外に出ない
ローカルで実行されても、API 通信は行われます。機密ファイルを読ませる=送信リスクが増える、という意識が必要です。
誤解2:許可プロンプトが出るから安全
許可が多いほど、人は雑になります。ルール化(permissions)とサンドボックスで“押す回数”を減らすのが安全です。
まとめ:Claude Code Security は「境界を決める」が9割
Claude Code のセキュリティを一言で言うと、**“エージェントが動ける境界(ファイル・ネット・権限)を先に決め、監査できる形にする”**です。
- サンドボックスで実行範囲を固定
- permissions で許可疲れを設計で潰す
- データ保持を理解して運用ルールへ落とす
- 監視(OTel)で組織利用に耐える
この4点を押さえるだけで、事故確率はかなり下がります。








