← → でめくる
Claude Code Meetup ・ Lightning Talk

Claude Code が
本番を壊す日

報告された事故と、hook で機械的に止める方法。
そして、止められなかった時にどう戻すか。

自己紹介

「実物の hook」で話します

座学ではなく、コピーして今日から効く実物の話をします。

恐怖は妄想ではない

2026年、実際に起きたこと

エージェントが本番のデータベースを全消し
破壊的な db コマンドを自律で実行 · #27063
$1,446 の無断の送金
生成したスクリプトが承認なしに金銭の処理を実行 · #46828
「本番を消すと決めた」
本番のデータベースの削除 · #14411
パターン

派手な事故の正体は
数個の破壊的なコマンド

rm -rfgit reset --harddrizzle-kit push --forceprisma db push --accept-data-loss

どれも、たった1つのフラグで、確認の問いも出さずに走る。
そして、消えたものは戻らない。

よくある誤解

CLAUDE.md に書けば守る」は効かない

お願いの言葉は、実行を止めない。
止めるなら、実行の層に置く。

効く場所

PreToolUse hook = 実行の直前の関所

Claude が道具(Bash・Edit・Write)を呼ぶ直前に、こちらのスクリプトが割り込む。
危険なら exit 2 を返して、その実行を止める。

# 破壊的なコマンドを止める PreToolUse hook
入力(コマンド)→ パターンに一致?
  一致 → exit 2(ブロック)
  不一致 → exit 0(通過)

お願いではなく、機械的なゲート。auto モードでも効く(実機で確認済み)。

デモ 1

再帰削除を止める

$ rm -rf ~/
→ PreToolUse: rm-safety-net
BLOCKED: 絶対パス/ホーム配下の再帰削除を拒否(exit 2)

$ rm -rf node_modules
→ 通過(プロジェクト内の安全な削除)

全部を禁止しない。取り返しのつかないものだけを止める。

デモ 2

補助エージェントの暴走を止める

# 「2コマンド実行して」→ 補助が15ファイルを無断書き換え(#65152)
Edit/Write に agent_id が付く=補助由来と分かる
高リスクのパス(本番の設定・マイグレ・.env)への
補助由来の書き込み → 止める、メインは無干渉

実行の層で「誰の書き込みか」を見て、巻き添えを防ぐ。

それでも起きたら

復旧の手順と、正直な限界

「戻せない」を隠さないことが、次の事故を防ぐ。

個人 → チーム

組織のリスクは
最も無防備な1人で決まる

19人が丁寧に設定しても、20人目(新人)は何も設定していない。
エージェントは同じリポジトリと同じ認証情報に対して走る。

差別化

教える のではなく 実物を残す

研修・座学

知識は残るが、
事故は止まらない。

運用の層のガードレール

配って、実機で効く。
事故を機械的に止める。

報告された事故から作った、動く hook と CI のゲート。
これが、座学に勝てる唯一の差別化。

まとめ

今日から、無料で始められる

$ npx cc-safe-setup
github.com/yurukusa/cc-safe-setup チーム導入の相談 → 法人向けサービス