コンテンツへスキップ

media AI活用の最前線

AIガバナンス・セキュリティ

【2026年最新】Claude Code危険性|事故を防ぐ5つの対策

【2026年最新】Claude Code危険性|事故を防ぐ5つの対策

2026年のClaude Code導入で押さえるべき要点:「事故が起きるかどうか」ではなく「事故が起きても被害を局所化できる設計になっているか」が経営者・情シスの本当の論点です。本記事はAnthropic公式ドキュメントとGitHub上で実際に報告されている事故報告を突き合わせ、法人導入で使える予防策まで落とし込みます。

結論: Claude Codeの事故は「rm -rfによる誤削除」「force pushによる履歴破壊」「秘密情報の漏洩」「予期しない高額課金」の4パターンに集約され、そのすべてがpermissionモード設計・Hooks・sandbox・CLAUDE.mdの停止線という公式機能の組み合わせで防止・局所化できます。

この記事の要点:

  • 要点1: rm -rf誤削除・force push事故はAnthropic公式GitHubリポジトリのIssueとして複数報告されており、原因はほぼ「無制限の実行権限」に集約される
  • 要点2: 2026年のClaude Codeはautoモードの分類器がforce pushや`git reset –hard`などを既定でブロックするようになったが、bypassPermissions(旧–dangerously-skip-permissions)はこの保護が効かない
  • 要点3: hooks・permissions.deny・sandbox・git worktreeの4つを組み合わせると、1つの防御が抜けても他の層で被害を止められる

対象読者: Claude Codeの全社導入・チーム展開を検討している経営者、情報システム部門の責任者、開発チームのリード

読了後にできること: 自社のClaude Code運用について、permissionモード・hooks・CLAUDE.mdの停止線を今日中に見直し、最低限の事故予防設定を入れられる


「Claude Codeを全社導入したいけど、AIが勝手にファイルを消したり、変な操作をしたりしないか心配で……」

法人向けのAI研修・導入支援の相談で、この種の質問は本当によく聞かれます。実際、Claude Codeの公式GitHubリポジトリには「rm -rf」「force push」「削除」で検索すると、100件を超えるIssueが並んでいます。「AIエージェントに強い権限を渡すのが怖い」という直感は、正しい警戒心です。

一方で、競合ツールのセキュリティガイド記事を読んでも「気をつけましょう」「権限管理が大事です」で終わっていて、じゃあ具体的に何を設定すればいいのかまでは書かれていないケースがほとんどでした。これは片手落ちです。Claude Codeには、permissionモード・Hooks・sandbox・git worktreeという、事故を機械的にブロックするための公式機能が2026年時点でかなり充実しています。「気をつける」を精神論で終わらせず、設定ファイルに落とし込めるのがこのツールの強みです。

この記事では、Claude Code公式GitHub Issue・Anthropic公式ドキュメント(code.claude.com/docs)・セキュリティ調査レポートで実際に確認できる事故を出典つきで整理したうえで、「起こりうるが未確認」の想定シナリオと明確に区分します。そのうえで、hooks・permissions.deny・sandbox・CLAUDE.mdの停止線・git worktreeという5層の予防策を、コピペで使える設定例つきで解説します。

Claude Code自体の基本機能や導入ステップを先に押さえたい方は、Claude Code Best Practices完全ガイドもあわせてご覧ください。


実際に報告されている事故4パターン(出典つき)

まず大前提として、以下はすべてAnthropic公式GitHubリポジトリのIssueとして提出されている実際の報告、または信頼できるセキュリティ調査機関のレポートです。特定企業の実名事例ではなく、公開されている一般ユーザー・研究者からの報告であることを明記しておきます。

事例区分: 実際の報告事例(GitHub Issue/セキュリティ調査レポート)
以下4パターンは、Anthropic公式GitHub(anthropics/claude-code)に一般ユーザーから提出されたIssue、およびDocker社・GitGuardian社などのセキュリティレポートで確認できる事例です。

1. rm -rf による誤削除(113件超のIssueが「data-loss」タグ)

Claude Code公式リポジトリには「rm -rf」「data-loss」タグが付いたIssueが113件以上オープンになっています(参照日: 2026-07-11)。代表的なものだけでも、ホームディレクトリ全体が削除された報告、約1,500ファイル・約50GBが完全消失した報告などが並びます。

根本原因として指摘されているのはシェルのチルダ展開のタイミングです。「古いリポジトリを整理して」という指示に対し、Claudeがrm -rf tests/ patches/ plan/ ~/のようなコマンドを生成し、末尾の~/がホームディレクトリ全体に展開されて全消失した、という報告がDocker社のブログで詳しく分析されています。「エージェントはユーザーの権限で、ユーザーのファイルシステム上で、ユーザーの認証情報のまま動く。モデルの判断とシェルの実行の間には、何も挟まっていない」という指摘は、法人導入の意思決定者が肝に銘じるべき一文です。

2. force push によるブランチ・履歴の破壊

Claude Codeがブランチ更新時に既定でrebaseforce pushを選択し、他の開発者のブランチ履歴を書き換えてしまう報告が複数のIssueで確認されています。あるケースでは、既存の履歴を持つプライベートリポジトリに対して、ユーザーの許可なくforce pushが実行され、既存のコミット履歴が単一の新規コミットで上書きされたと報告されています。git worktree内でのgit checkout origin/branch -- .実行によって、未コミットの変更が無言で上書きされたという報告も出ています。

3. 秘密情報(APIキー・トークン)の漏洩

ジョンズ・ホプキンス大学の研究者らが2026年4月に開示した「Comment and Control」という脆弱性では、GitHubのPRタイトルやIssue本文、HTMLコメントに仕込まれた悪意ある指示をAIエージェントが実行してしまい、本番環境の秘密情報がGitHub経由で外部に送信される攻撃が確認されました。GitGuardian社の2026年版レポートによると、AIの支援を受けたコミットの秘密情報漏洩率は約3.2%で、人間だけによるコミット(約1.6%)のおよそ2倍に達しています。MCP設定ファイル経由でも2万4,000件超の秘密情報が公開GitHub上で発見され、うち2,100件超が有効な認証情報だったと報告されています。

4. サプライチェーン攻撃(悪意あるnpmパッケージ・MCPサーバー)

2026年6月、AIエージェントフレームワーク「Mastra」のnpmスコープで、メンテナーアカウントが乗っ取られ140以上のパッケージにtyposquat(タイポスクワッティング)した悪意あるパッケージが混入する事件が発生しました。週間ダウンロード数110万件超のパッケージ群が影響を受けています。悪意あるコードはnpmのインストール時ライフサイクルフックに仕込まれており、開発者がコードをインポートする前に実行される設計でした。Microsoft社も、AWS認証情報・HashiCorp Vaultトークン・CI/CDパイプラインの秘密情報を収集するtyposquatパッケージ群を報告しています。

【要注意】起こりうるが未確認の想定シナリオ

事例区分: 想定シナリオ(法人研修・コンサル相談で実際に聞かれる懸念をもとに構成)
以下は公式Issueとしては未確認ですが、法人向けAI研修・導入相談で経営者・情シス担当者から実際によく聞かれる懸念です。「起こった」という確定事実ではなく「起こりうる」設計上のリスクとして紹介します。

想定シナリオ想定される原因本記事内の対応する予防策
権限を絞らないまま本番DBに対してマイグレーション・削除系コマンドを実行してしまうbypassPermissionsモードを本番環境に近い場所で使い続けているpermissionモード設計・sandbox
コスト上限を設定せずAPIキー経由で夜間に自律実行し、想定外の高額請求が発生するAnthropic Consoleの支出上限(spending limit)を未設定のまま従量課金APIを使っているコスト管理(本記事「コスト暴走」の項)
複数エージェントを並列実行し、同じファイルへの同時編集でコンフリクト・上書きが発生するworktree分離をせず同一ディレクトリで並列セッションを走らせているgit worktreeでの分離

個人ブログ「EMILIA_Lab」では、Claude Codeに一晩処理を任せて放置した結果、翌朝APIの請求額が高額になっていたという体験が報告されています。これは第三者による検証がされた公式統計ではなく個人の体験談ですが、「コスト上限を設定していないと、Claude Codeは疲れを知らずに動き続ける」という構造的リスクを示す事例として押さえておく価値があります。

予防策1: permissionモードを「初期値=Manual」で設計する

Claude Codeには2026年7月時点で6つのpermissionモードがあります。まずこの表を、経営者・情シス担当者向けの「危険度マップ」として理解してください。

モードUI表記プロンプトなしで実行される範囲推奨シーン
defaultManual読み取りのみ導入初期・機微な作業
acceptEditsEdit automatically読み取り+ファイル編集+mkdir/touch/mv/cpレビュー前提でコードを書かせる時
planPlan読み取りのみ(計画だけ提示)変更前に設計を確認したい時
autoAuto分類器モデルによる安全チェックつきで大半を自動実行長時間タスクでプロンプト疲れを避けたい時
dontAsk(CI向け)事前承認済みツールのみCI/CDパイプライン・ロックダウン環境
bypassPermissionsBypass permissionsすべて(ただしルート/ホーム削除は例外的にプロンプト)ネット接続なしのコンテナ・VM限定

ここで重要なのは、Anthropic公式ドキュメントが明言している一文です。「bypassPermissionsは、プロンプトインジェクションや意図しない操作に対して一切の保護を提供しない」。つまりbypassPermissions(旧--dangerously-skip-permissionsフラグ)は、コンテナやネット接続のないVMなど「Claude Codeがホストシステムを傷つけられない環境」限定の機能であり、通常の業務用マシンや本番環境に近い場所での常用は想定されていません。

法人導入では、プロジェクト単位の設定ファイル.claude/settings.jsondefaultModeを明示しておくのが第一歩です。

{
  "permissions": {
    "defaultMode": "plan"
  }
}

新規メンバーが最初に触るプロジェクトほどplanモード(読み取り専用で計画だけ提示)を初期値にし、レビューに慣れたメンバーにはacceptEditsを許可する、という段階設計が現実的です。

予防策2: permissions.deny で破壊コマンドを構文レベルで拒否する

Claude Code公式のpermissions設定は、Tool(パターン)という構文でBashコマンドを個別に許可・拒否できます。deny・ask・allowの評価順はdeny → ask → allowの順で、より具体的なallowルールがあっても、広いdenyルールが一致すれば必ずブロックされます。

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git commit *)",
      "Bash(git * main)"
    ],
    "deny": [
      "Bash(rm *)",
      "Bash(git push *)",
      "Read(~/.ssh/**)",
      "Read(.env)"
    ]
  }
}

この設定で、rmを含むコマンド全般とgit pushを個別承認制にし、SSH鍵や.envファイルの読み取りをブロックできます。ただし公式ドキュメントは重要な注意点も明記しています。Bash(curl http://github.com/ *)のようにURLで絞り込もうとするルールは、オプションの順序やリダイレクト、変数展開で簡単にすり抜けられるため、コマンド文字列のパターンマッチだけに頼るのは脆弱だという指摘です。ネットワークアクセスを本気で制限したいなら、次のhooksとsandboxを併用してください。

予防策3: hooksで「モデルの判断」ではなく「コード」に止血させる

CLAUDE.mdに「rm -rfは使わないでください」と書いても、それはお願いであって強制ではありません。Anthropic公式ドキュメントも明記している通り、「permissionルールはClaude Codeによって強制されるのであって、モデルによってではない。プロンプトやCLAUDE.mdの指示はClaudeが何をしようとするかを形作るが、Claude Codeが何を許可するかを変えるものではない」のです。

ここで使うのがPreToolUse hookです。Bashツールが呼ばれる直前にスクリプトを実行し、終了コード2を返すとツール呼び出しそのものをブロックできます(stderrの内容がClaudeへのエラーメッセージとして渡されます)。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/block-dangerous-bash.sh"
          }
        ]
      }
    ]
  }
}
#!/bin/bash
# ~/.claude/hooks/block-dangerous-bash.sh
COMMAND=$(jq -r '.tool_input.command')

if echo "$COMMAND" | grep -Eq 'rm -rf|git push .*--force|git push .*-f( |$)'; then
  echo "破壊的コマンドのためhookでブロックしました。具体的な削除対象パスを明示してから再実行してください。" >&2
  exit 2
fi

exit 0

hookによるブロックはallowルールより優先されます。つまり「Bashは基本許可しつつ、危険なパターンだけhookで弾く」という運用が可能です。CLAUDE.mdでの注意書きが「お願い」なのに対し、hooksは機械的に実行を止める「コード」である、という違いを法人導入の設計で必ず区別してください。

AI活用、何から始めればいい?

100社以上の研修実績をもとに、30分の無料相談で貴社の課題を整理します。

無料相談はこちら

予防策4: sandbox(ファイルシステム・ネットワーク分離)で被害範囲を制限する

Anthropic公式エンジニアリングブログによると、Claude Codeのsandbox機能はファイルシステム分離とネットワーク分離の2層で構成されます。作業ディレクトリとそのサブディレクトリのみを「サンドボックス内」として許可し、親ディレクトリや他のパスへのアクセスをOSレベルで制限します。ネットワーク面では、プロキシサーバー経由で許可済みドメインのみに通信を絞り、プロンプトインジェクションを受けたClaudeがSSH鍵などの機微情報を外部に持ち出すのを防ぎます。社内利用実績として「サンドボックス化によって権限確認プロンプトが84%削減された」とAnthropicは公表しています。

/sandboxコマンドで有効化でき、autoAllowBashIfSandboxed: true(既定値)が設定されていれば、サンドボックス化されたBashコマンドは境界内で自動実行されます。ただし公式ドキュメントは「ファイルシステム分離とネットワーク分離は両方揃って初めて安全になる」と明言しています。ネットワーク分離だけではSSH鍵の持ち出しを防げず、ファイルシステム分離だけではサンドボックスを脱出してネットワークにアクセスされるリスクが残るためです。

予防策5: git worktreeで並列エージェントの被害を局所化する

複数のClaude Codeセッションを並列で走らせる場合、同一ディレクトリで作業させると、ある1つのセッションの誤操作が他のセッションの成果物まで巻き込みます。公式ドキュメントでは、セッションごとに独立したgit worktreeを割り当てることで、編集内容の衝突を構造的に防ぐ運用が案内されています。

# 名前つきworktreeで独立したセッションを起動
claude --worktree feature-a

# worktreeはリポジトリと履歴・リモートを共有しつつ、
# 作業ディレクトリとブランチだけを分離する

実務上のポイントは、ファイルの所有範囲をエージェントごとに明確に分けてからworktreeを割り当てることです。同じファイルを複数エージェントが触る設計だと、worktreeで分離していても最終マージで衝突します。目安として、1人の開発者が同時に管理するworktreeは6〜10個程度が現実的な上限とされています。定期的なgit worktree pruneで、使われなくなったworktreeを掃除する運用も忘れないでください。

コスト暴走を防ぐ運用ルール

rm -rfやforce pushほど話題になりませんが、法人導入で実務的に効いてくるのがコスト管理です。サブスクリプション(Pro/Max)に加入していても、シェルの環境変数にANTHROPIC_API_KEYが残っていると、意図せず従量課金APIが併用されるケースが個人ブログで複数報告されています。予防の基本は次の3点です。

  • Anthropic Consoleの支出上限(spending limit)を必ず設定する — 月次のハードリミットに達すると自動的にAPI実行が停止し、想定外の高額請求を構造的にゼロにできます
  • サブスクリプションとAPIキーの併用を避ける — シェル設定ファイルに残ったANTHROPIC_API_KEYが二重課金の原因になっていないか確認する
  • 夜間・週末の自律実行にはタイムアウトを設定する — 「疲れを知らないAI」を無制限に放置しない

【要注意】よくある失敗パターンと回避策

失敗1:CLAUDE.mdに「危険な操作はしないで」とだけ書いて満足する

❌「rm -rfは絶対使わないでください」とCLAUDE.mdに書くだけ

⭕ CLAUDE.mdの注意書き(お願い)+permissions.deny(構文レベルの拒否)+hooks(コードによる強制ブロック)の3層で二重・三重に守る

なぜ重要か: CLAUDE.mdの指示はモデルの「意図」を形作るだけで、Claude Codeというツール自体の「許可」を変えるものではありません。プロンプトインジェクションを受けた場合、CLAUDE.mdの指示は簡単に上書きされます。

失敗2:bypassPermissionsを「早いから」という理由で通常業務に常用する

❌ 「毎回確認されるのが面倒」という理由で--dangerously-skip-permissionsを通常のPC作業で使い続ける

⭕ bypassPermissionsはネット接続のないコンテナ・VM限定にし、通常業務はplanまたはacceptEditsで運用する

なぜ重要か: 公式警告の通り、このモードはプロンプトインジェクションや意図しない操作への保護が一切効きません。速度と引き換えに、防御層をまるごと外すことになります。

失敗3:並列エージェントを同一ディレクトリで走らせる

❌ 複数のClaude Codeセッションを同じ作業ディレクトリで同時に走らせ、誰がどのファイルを触っているか把握していない

⭕ セッションごとにgit worktreeを割り当て、ファイルの所有範囲を事前にマッピングしてから並列実行する

なぜ重要か: worktree分離をしないまま並列実行すると、あるセッションの誤操作が他のセッションの成果物まで巻き込みます。切り戻しの手間も倍増します。

失敗4:秘密情報の管理をClaude Codeの外側で完結させたつもりになる

.envや認証情報ファイルへの読み取り制限を何も設定せず、「秘密は別管理だから大丈夫」と思い込む

Read(.env)Read(~/.ssh/**)をdenyルールで明示的にブロックし、MCPサーバーは信頼できる提供元のみ利用する

なぜ重要か: 「Comment and Control」のような攻撃は、PRやIssue経由でエージェントに間接的に指示を送り込みます。読み取り制限がなければ、エージェント自身が秘密情報を読み込んでしまう入口を塞げません。

社内導入チェックリスト(今日から使える)

チェック項目設定場所
□ defaultModeをplanまたはacceptEditsにしているか(bypassPermissionsを常用していないか).claude/settings.json
rmgit push --force系のdenyルールを設定しているか.claude/settings.json
□ PreToolUse hookで破壊コマンドを機械的にブロックしているか~/.claude/hooks/
.env・SSH鍵など機微ファイルへのReadをdenyしているか.claude/settings.json
□ sandbox(ファイルシステム+ネットワーク分離)を有効化しているか/sandboxコマンド
□ 並列実行するセッションはgit worktreeで分離しているかプロジェクト運用ルール
□ Anthropic Consoleで月次の支出上限を設定しているかAnthropic Console Billing設定
□ MCPサーバー・npmパッケージの導入元を確認しているか(typosquat対策)導入前レビュー運用

まとめ:今日から始める3つのアクション

  1. 今日やること: 自社の.claude/settings.jsonを開き、defaultModebypassPermissionsになっていないか確認する
  2. 今週中: permissions.denyrmgit push --force・機微ファイルへのReadを追加し、PreToolUse hookを1つ設定する
  3. 今月中: チーム全体でgit worktree運用ルールと月次支出上限を決め、CLAUDE.mdに停止線として明記する

より体系的にCLAUDE.md・Hooks・Plugins・Subagentの設計原則を学びたい方はClaude Code Best Practices完全ガイドを、法人でのセキュリティ・権限設計をゼロから体系的に押さえたい方はClaude Code法人利用セキュリティガイドを、実際に90日間で失敗から立て直した中小企業の一連の流れを知りたい方はClaude Code中小企業90日間の失敗と成功の物語をあわせてご覧ください。

Claude Codeの基本的な導入ステップやAIエージェントの全体像はAIエージェント導入完全ガイドで体系的にまとめています。


参考・出典


著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。
100社以上の企業向けAI研修・導入支援。著書『AIエージェント仕事術』(SBクリエイティブ)。
SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。

Claude Codeの全社導入・権限設計・社内ルール策定でお悩みの場合は、Claude法人研修で運用設計からハンズオンまで伴走支援しています。ご質問・ご相談はお問い合わせフォームからお気軽にどうぞ。

無料・初回相談

100社以上の支援実績|30分の無料相談で導入設計を一緒に組みます

Claude Code / Codex の社内展開・チーム導入・セキュリティ設計まで、貴社の業務と組織に合わせて伴走支援します。

  • 100社以上の企業支援実績
  • 初回30分無料・即日返信
  • 導入後3ヶ月の伴走付き

お問い合わせフォームから24時間以内にUravation担当者がご返信します。

佐藤傑
この記事を書いた人 佐藤傑

株式会社Uravation 代表取締役CEO/生成AIエバンジェリスト。法人向けAI研修・コンサルティングを手がけ、日経・SBクリエイティブ・GMO等のメディアで生成AIについて執筆。

この記事をシェア

Claude Codeを本格的に使いこなしたい方へ

業務に合わせたマンツーマン指導で、Claude Codeを実務に組み込める状態まで伴走します。
現役エンジニアが貴方の業務に合わせてカリキュラムをカスタマイズ。

✓ 1対1のマンツーマン ✓ 業務に合わせた設計 ✓ 実務ベースの指導
Claude Code 個別指導の詳細を見る まずは無料相談

Contact お問い合わせ

生成AI研修や開発のご依頼、お見積りなど、
お気軽にご相談ください。

Claude Code 個別指導(1対1・12セッション)をご希望の方はこちらから別途お申し込みください

Claude Code 個別指導 無料相談