awesome-hacks
Docs

Claude Codeを安全に使うための実践ルール

危険操作の制御、承認フロー、秘密情報の扱い、Hooks活用の基本

最終更新:2026/05/08

この記事では、Claude Codeを実務利用する際の安全運用をまとめる。
速度よりも「事故を起こさないこと」を優先する。

まず決めるべき4つ

  • 何を自動実行してよいか
  • 何を必ず手動承認にするか
  • 何を絶対禁止にするか
  • 秘密情報をどう扱うか

迷ったら、最初は次の初期設定に固定すると運用しやすい。

  • 自動実行OK: 読み取り系(lsrggit status
  • 手動承認: 書き込み系(git commit、ファイル編集、大量変更)
  • 絶対禁止: reset --hardpush --force、本番環境への直接操作

危険操作の例(原則: 手動承認)

  • 本番DBへの変更
  • デプロイ実行
  • インフラ変更(AWS/GCP設定変更)
  • 大量削除
  • 履歴改変系のGit操作

絶対禁止にしやすい項目

  • git reset --hard
  • git push --force(特に main/master)
  • .env の自動編集
  • 本番資格情報を含むファイルの編集

承認の運用ルール例

ルール1: 破壊的操作は必ず事前説明

最低限、以下を説明させる。

  • 何を実行するか
  • 影響範囲
  • ロールバック手順

ルール2: 1操作ずつ承認

まとめて許可すると、意図しない操作が混ざっても気づきにくい。

ルール3: 実行後ログを残す

何を実行し、結果がどうだったかを残しておく。

.env と秘密情報の扱い

  • 生成AIに秘密情報を直接貼らない
  • .env は自動編集禁止にする
  • ダミー値で検証できる構成を優先する
  • 設定変更時は人間レビューを必須化する

Hooksの活用(考え方)

Hooksは「危険操作を止める」「必須確認を差し込む」用途で有効。
特に PreToolUse でブロック条件を定義する運用が実用的。

導入時は以下から始めるとよい。

  • 破壊的コマンドをブロック
  • 本番環境向けキーワードを検知したら確認要求
  • 実行前にチェックリストを表示

すぐ使える CLAUDE.md 追記例

## Safety policy
- 以下コマンドは禁止: git reset --hard, git push --force
- 本番環境キーワード(prod, production, main DB)を含む操作は必ず停止して確認
- `.env` / `secrets` / `credentials` を含むファイルは自動編集しない

運用開始チェックリスト

  • 禁止操作を CLAUDE.md に明文化した
  • 承認が必要な操作を定義した
  • .env と秘密情報の扱い方針を決めた
  • 事故時のロールバック手順を決めた
  • 実行ログの残し方を決めた

参考