
Claude Codeセキュリティ設定ガイド|数千万円被害の事件から学ぶ対策
この記事で分かること:
- 2026年3月に起きたClaude Codeセキュリティ事件の全容
- 設定ファイルにコピペするだけの防御策3つ
- 組織導入で追加すべきセキュリティ対策
Claude Codeで何が起きたのか — 2026年3月の事件とCVE
Claude Codeのセキュリティが炎上したのは2026年3月。実害が出た事件と、2件のCVE公開が重なった。
Google広告MCC乗っ取り — 被害額は数千万円
広告代理店がClaude Codeを導入した直後、Google広告のMCCが乗っ取られた。MCCとはマネージャーアカウントのこと。配下の広告アカウントを一括管理する仕組みで、ここを奪われると配下すべてのアカウントが攻撃者の手に渡る。
被害額は8桁後半。数千万円だ。
攻撃者は「他人の広告予算で自分の広告を配信」していた。単一アカウントの乗っ取りとは桁が違う。原因をたどると、Claude Codeが .env ファイルを読み取り、そこに書かれた認証情報が外部に漏れたことだった。
公開された2つの脆弱性(CVE-2025-59536 / CVE-2026-21852)
2026年2月、Check Point Researchが2件の脆弱性を公開した。
| CVE番号 | CVSS | 内容 | 修正バージョン |
|---|---|---|---|
| CVE-2025-59536 | 8.7 | Hook/MCP設定経由のリモートコード実行 | v1.0.111(2025年10月) |
| CVE-2026-21852 | 5.3 | ANTHROPIC_BASE_URL改ざんによるAPIキー漏洩 | v2.0.65(2026年1月) |
2件とも修正済み。だが「パッチが当たった=安全」とはならない。同じ発想の攻撃は形を変えて出てくる。設定側で備えておく必要がある。
Claude Codeのセキュリティは何が問題だったのか
被害の裏には、4つの攻撃経路がある。ここでは特に影響の大きい2つを取り上げる。
攻撃ベクトル① 信頼できないリポジトリを開くだけで発動
CVE-2025-59536の手口はシンプルだった。悪意ある .claude/settings.json をリポジトリに仕込む。開発者がgit cloneしてClaude Codeを起動すると、確認ダイアログが出る前にHookやMCPサーバーが走る。
開くだけで終わる。クリックも、承認操作も要らない。
攻撃ベクトル② .envファイルからの認証情報漏洩
Claude Codeは .env を読める。攻撃者はプロンプトインジェクションで .env の中身をpingコマンドのサブドメインに埋め込み、DNSリクエストとして外部サーバーに飛ばした。
厄介なのは、curl や wget をブロックしても防げない点だ。Pythonの urllib やNode.jsの fetch() でもHTTP通信はできる。コマンド単位のブロックには限界がある。
どの攻撃にどの設定が効くか、対応表にまとめた。

今すぐやるべきClaude Codeセキュリティ設定3選
.claude/settings.json にコピペするだけで済む。3つとも5分で終わる。
サンドボックスを有効化する
Claude Codeが実行するBashコマンドを、OSレベルで隔離する。効果はこの3つの中で最も高い。
{
"sandbox": {
"enabled": true,
"allowUnsandboxedCommands": false
}
}
macOSならSeatbelt、LinuxならBubble Wrapが動く。ファイルシステムもネットワークも制限される。
allowUnsandboxedCommands は必ず false に。true のままだとサンドボックス外でコマンドを実行できてしまう。
機密ファイルへのアクセスを拒否する
.env や秘密鍵をClaude Codeの読み取り対象から外す。
{
"permissions": {
"deny": [
"Read(./.env*)",
"Read(**/*.pem)",
"Read(**/*.key)",
"Read(**/*.keystore)",
"Read(**/*.jks)",
"Read(**/*.p12)",
"Read(**/google-services.json)"
]
}
}
MCC乗っ取りの直接原因は .env の漏洩だった。この1つの設定だけでも、同じタイプの被害はかなり防げる。
bypassPermissionsモードを無効化する
--dangerously-skip-permissions というフラグがある。名前のとおり、すべてのパーミッションチェックを飛ばす。CI/CDの自動化では便利だが、攻撃者にとっても便利だ。
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}
使う予定がなければ、閉じておく。
余裕があればやっておきたい追加設定
上の3つを済ませた人向け。防御の層を厚くする設定だ。
危険なコマンドをdenyルールでブロック
ファイル削除やネットワーク系コマンドを明示的に止める。
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(curl *)",
"Bash(wget *)"
]
}
}
繰り返しになるが、curl を止めてもPython経由の通信は通る。python3 * と node * もallowリストから外しておくのが無難だ。
ネットワークアクセスを制限する
ホワイトリスト方式でドメインを絞る。
{
"sandbox": {
"network": {
"allowedDomains": [
"github.com",
"*.npmjs.org",
"registry.yarnpkg.com"
]
}
}
}
「必要なものだけ許可、それ以外は全遮断」が基本方針になる。
/permissionsで定期的に棚卸しする
セッション中に「Allow always」で通したルールは消えずに残る。Claude Codeで /permissions と打てば、現在の許可状況を一覧できる。
月に1回、不要な許可が残っていないか眺めるだけでいい。
チーム・企業で導入するなら押さえるべきポイント
個人の設定だけでは足りないケースがある。組織導入なら以下も検討したい。
devcontainerで隔離環境を作る。 Anthropic公式にリファレンス実装がある。ホストマシンと完全に切り離した環境でClaude Codeを動かせるので、万が一の被害がコンテナの外に波及しない。
Managed Settingsで全員に同じポリシーを強制する。 Server-managed settingsかEndpoint-managed settingsを使えば、メンバーが個別に設定を上書きできなくなる。セキュリティの抜け穴をゼロにする仕組みだ。
利用状況はOpenTelemetryメトリクスで追える。設定変更の検知には ConfigChange フックが使える。
よくある質問
Q. Claude Codeの脆弱性はすでに修正されていますか?
CVE-2025-59536はv1.0.111で、CVE-2026-21852はv2.0.65で修正済み。最新版にアップデートすればこの2件の影響は受けない。ただ、新しい脆弱性がいつ見つかるかは誰にもわからない。設定による防御は続けたほうがいい。
Q. 無料プランでもセキュリティ設定は必要ですか?
必要だ。有料か無料かに関係なく、Claude Codeはローカルのファイルを読める。.env や秘密鍵があるマシンで使うなら、サンドボックスとdenyルールは入れておくべきだ。
Q. Claude Code以外のAIコーディングツールにも同じリスクがありますか?
ある。GitHub Copilot、Cursor、Codexなど、ローカルファイルを扱うツールならどれも同じリスクを抱えている。Claude Codeが目立ったのはCVEの公開と被害報道が重なったから。どのツールであれ、見知らぬリポジトリを開くときは慎重に。
この記事で紹介したサービス
| サービス名 | カテゴリ |
|---|---|
| ココナラ | freelance |