💻 Claude Code入門 | 📖 6分

セキュリティとベストプラクティス

Claude Codeのパーミッションモデル

Claude Codeはあなたのコンピュータ上でファイル操作やコマンド実行を行うため、セキュリティへの配慮が重要です。Claude Codeには、安全性を確保するためのパーミッション(権限)システムが組み込まれています。

パーミッションモード

モードフラグ説明推奨場面
default(なし)ファイル変更やコマンド実行前に許可を求める通常の開発作業
acceptEdits--permission-mode acceptEditsファイル編集は自動承認、コマンド実行は確認を求めるコード生成中心の作業
plan--permission-mode planファイル変更やコマンドを一切実行せず、計画のみ提示する方針の確認・レビュー
dontAsk--permission-mode dontAsk事前許可されたツール以外は自動拒否(確認なし)/permissionsで許可設定済みの環境
bypassPermissions--dangerously-skip-permissionsパーミッションチェックを完全にスキップ信頼できるテスト環境のみ

デフォルトモードの動作

通常のモードでは、Claude Codeが以下の操作を行う際に確認を求めます。

  • ファイルの作成・編集: 変更内容のプレビューを表示し、承認を求める
  • Bashコマンドの実行: 実行するコマンドを表示し、承認を求める
  • ファイルの読み取り: 通常は自動で許可(読み取りは安全なため)
# Claude Codeが確認を求める例
Claude wants to run: rm -rf node_modules/
Allow? [y/n]

ツール呼び出しの確認ポイント

Claude Codeが操作の許可を求めてきたら、以下を確認しましょう。

  • ファイルパス: 意図したファイルが対象になっているか
  • 変更内容: 予期しない変更が含まれていないか
  • コマンド: 危険なコマンド(rm -rfgit push --force 等)ではないか
  • スコープ: プロジェクト外のファイルに影響していないか

認証情報の安全な管理

開発中に扱う認証情報(パスワード、APIキーなど)の管理は特に注意が必要です。

やってはいけないこと正しい方法
APIキーをコードに直接書く環境変数(.env)で管理する
.envファイルをGitにコミット.gitignoreに.envを追加する
パスワードをClaude Codeに伝える環境変数名だけを伝える
本番DBに直接接続して作業開発用のDBを使用する

安全なBashコマンド実行

# Claude Codeが実行するコマンドを確認する習慣をつける

# 安全なコマンドの例
ls, cat, grep, find, git status, git diff, npm test

# 注意が必要なコマンドの例
rm(ファイル削除), git push --force, chmod, curl(外部通信)
npm install(パッケージ追加), pip install

セキュリティのベストプラクティス

  • 最小権限の原則: Claude Codeに与える権限は必要最小限にする
  • 確認を怠らない: 特にBashコマンドの実行は内容を必ず確認する
  • Bypassモードは慎重に: 自動承認モードは、テスト環境など安全な場所でのみ使用
  • .envファイルの保護: 認証情報は環境変数で管理し、Gitにコミットしない
  • 定期的なレビュー: Claude Codeが作成したコードにセキュリティの問題がないか確認する
💡 キーポイント: Claude Codeの操作確認は「面倒」ではなく「安全のためのセーフティネット」です。特にファイル削除やコマンド実行の際は、内容を必ず確認する習慣をつけましょう。認証情報は絶対にコードやGitに含めず、環境変数で管理してください。