Claude Code 安全運用 研修 / モジュール 5(公開版)
全員に安全 baseline を配布・強制し、CI で安全のスコアが閾値を下回ったら止める。手を動かす演習で学びます。
これは研修の公開のモジュールです。そのまま読んで手を動かせます。モジュール 1〜モジュール 4に続く5本目で、残りのモジュール(事故対応と復旧)の構成はカリキュラムをご覧ください。
モジュール 1〜4 で学んだ防御(削除・機密・費用・委譲の hook)は、入れた人だけを守ります。組織では、これが最大の弱点になります。1人が hook を入れ忘れていれば、その1人の環境で #27063 のデータベースの破壊や #65152 のサブエージェントの暴走が起こりえます。組織の安全は、最も無防備な1人の水準で決まります。
手作業で「各自入れてください」と配ると、必ず設定のズレ(人によって入っている hook が違う)と付け忘れ(新しいメンバー、新しいリポジトリ)が起きます。だから、安全 baseline は、口頭の依頼ではなく、git で配布し、CI で強制します。
組織の安全は、3つの層で考えます。
.claude/hooks/ に入れて git で配る。各自の手作業に頼らず、リポジトリを clone すれば baseline が付いてくる状態にする。実際に baseline をリポジトリで共有し、CI のゲートを置きます。所要およそ15分。
プロジェクトの単位で hook を共有するには --team を使います。
npx cc-safe-setup --team
これで hook がリポジトリの .claude/hooks/ に入ります。これを git にコミットすれば、リポジトリを clone した全員に baseline が配布され、各自の手作業の付け忘れがなくなります。
監査は、設定の安全のスコア(0〜100)と、足りない防御の一覧を出します。
npx cc-safe-setup --audit
スコア、評価(A/B/C/F)、検出した risk の数が表示されます。--audit --fix で自動で直せるものは直せます。スコアは設定の状態で変わるため、「何点以上を組織の必須にするか」を baseline として決めます(既定の CI の閾値は70点)。
監査を CI に組み込み、スコアが閾値を下回ったら CI を落とします。次のワークフローを .github/workflows/ に置きます(npx cc-safe-setup --generate-ci でも生成できます)。
name: Claude Code Safety
on:
pull_request:
push:
branches: [main, master]
jobs:
safety-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Run safety audit
run: |
npx cc-safe-setup --audit --json > /tmp/audit.json 2>&1 || true
SCORE=$(jq -r '.score // 0' /tmp/audit.json)
echo "Safety score: $SCORE/100"
if [ "$SCORE" -lt 70 ]; then
echo "::error::Safety score $SCORE is below threshold (70)"
exit 1
fi
これで、安全のスコアが70点を下回る PR は、CI で止まります。閾値は組織の baseline に合わせて調整します(GitHub Marketplace の Action 版では threshold の入力で指定できます)。
--team・--audit・CI のゲートは、すべて cc-safe-setup(無料・MIT)の機能です。組織への配布と強制に、追加の費用はかかりません。
--team で baseline をリポジトリの .claude/hooks/ に入れ、git で配布できることを確認した。--audit で自分の設定の安全のスコアを測った。.claude/hooks/ と CI のワークフローを最初から含める(付け忘れをなくす)。--audit の確認を組み込む。--audit を走らせ、設定のズレ(drift)を検出する。このモジュールは「組織で守る層」です。研修の全体(約12時間・7モジュール)では、削除とデータ破壊(モジュール 1)、機密と認証情報(モジュール 2)、費用と利用枠(モジュール 3)、サブエージェントと auto モード(モジュール 4)に続き、最後に事故対応と復旧を、同じように手を動かして学びます。
本モジュールは公開版です。引用した事故はすべて番号で辿れる実際の報告で、演習で使う機能(--team・--audit・CI のゲート)はすべて cc-safe-setup(無料・MIT)に実在します。安全のスコアは設定の状態で変わるため、特定の点数は記載していません。個人での利用は無料のままです。