>_ claude-code.jp
記事一覧に戻る

Claude Code のセキュリティ|安全に使うための設定と注意点

Claude Code セキュリティ 設定

Claude Code のセキュリティを理解する

Claude Codeはターミナル上で動作し、ファイルの読み書きやコマンドの実行ができるツールです。その強力さゆえに、セキュリティへの配慮が欠かせません。

この記事では、Claude Codeを安全に利用するための設定と運用方法を解説します。Claude Codeの基本操作を理解した上で、セキュリティ面を強化しましょう。

パーミッションモデル

Claude Codeには、ツールの実行を制御するパーミッションモデルがあります。

許可・拒否の設定

.claude/settings.json でツールの許可と拒否を設定できます。

{
  "permissions": {
    "allow": [
      "Read",
      "Glob",
      "Grep",
      "Bash(npm run test)",
      "Bash(npm run lint)",
      "Bash(npm run build)",
      "Bash(npx prisma *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(git push --force *)",
      "Bash(npm publish)",
      "Bash(sudo *)"
    ]
  }
}

パーミッションの動作

設定動作
allow に含まれる確認なしで実行される
deny に含まれる実行がブロックされる
どちらにも含まれないユーザーに確認を求める

ワイルドカードの活用

{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(npx vitest *)"
    ],
    "deny": [
      "Bash(* --force *)",
      "Bash(* | curl *)"
    ]
  }
}

APIキーの安全な管理

やるべきこと

  1. 環境変数で管理 - APIキーはシェルの設定ファイルで環境変数として設定する
# ~/.zshrc または ~/.bashrc
export ANTHROPIC_API_KEY="sk-ant-..."
  1. キーのローテーション - 定期的にAPIキーを再生成する
  2. 使用量のモニタリング - Anthropic Consoleで使用量を定期的に確認する

やってはいけないこと

.gitignore の確認

# 環境変数ファイル
.env
.env.local
.env.production

# APIキーや認証情報
*.pem
*.key
credentials.json
service-account.json

機密ファイルの保護

.claudeignore の設定

.claudeignore ファイルを作成して、Claude Codeがアクセスすべきでないファイルを指定します。

# 環境変数
.env
.env.*

# 秘密鍵・証明書
*.pem
*.key
*.p12
*.pfx

# 認証情報
credentials/
secrets/
service-account*.json

# データベース
*.sqlite
*.db
backups/

# ログ(個人情報を含む可能性)
logs/
*.log

コードの脆弱性チェック

Claude Codeを使って、既存のコードのセキュリティ脆弱性をチェックすることもできます。

SQLインジェクションのチェック

> プロジェクト全体でSQLインジェクションの脆弱性がないか確認してください。
  直接的なSQL文字列結合を使っている箇所があれば、
  パラメータ化クエリに修正してください。

XSSのチェック

> フロントエンドのコードでXSS(クロスサイトスクリプティング)の
  脆弱性がないか確認してください。
  dangerouslySetInnerHTMLの使用箇所、
  ユーザー入力をエスケープせずに表示している箇所を調べてください。

依存パッケージの脆弱性

# npm auditの結果をClaude Codeに分析させる
npm audit 2>&1 | claude "この脆弱性レポートを分析して、対処方法を教えて"

セキュリティレビュー用のカスタムコマンド

<!-- .claude/commands/security-review.md -->
以下のファイルまたはディレクトリのセキュリティレビューを行ってください。

チェック項目:
1. SQLインジェクション
2. XSS(クロスサイトスクリプティング)
3. CSRF(クロスサイトリクエストフォージェリ)
4. 認証・認可の不備
5. 機密情報のハードコーディング
6. 安全でない暗号化の使用
7. パストラバーサル
8. 適切でないエラーハンドリング(情報漏洩)

対象: $ARGUMENTS

ネットワークセキュリティ

Claude Codeの通信内容

Claude Codeは、ユーザーのプロンプトとコードの内容をAnthropicのAPIに送信します。以下の点に注意しましょう。

企業での利用

企業でClaude Codeを使用する場合は、以下を確認しましょう。

安全な開発ワークフロー

本番環境との分離

Claude Codeは本番環境のデータベースやサーバーに直接アクセスさせないようにしましょう。

{
  "permissions": {
    "deny": [
      "Bash(ssh *production*)",
      "Bash(* --env production *)",
      "Bash(kubectl * --context production)"
    ]
  }
}

コードレビューの徹底

Claude Codeが生成したコードも、人間によるレビューを必ず行いましょう。特に以下の点を確認します。

  1. 認証・認可のロジック - 権限チェックが適切に行われているか
  2. 入力バリデーション - ユーザー入力が適切にバリデーションされているか
  3. エラーハンドリング - エラーメッセージに機密情報が含まれていないか
  4. 依存パッケージ - 不必要なパッケージが追加されていないか

セキュリティチェックリスト

Claude Codeを使い始める前に、以下のチェックリストを確認しましょう。

CLAUDE.mdにセキュリティルールを記載する

## セキュリティルール
- ユーザー入力は必ずバリデーションすること
- SQLは必ずパラメータ化クエリを使うこと
- 機密情報は環境変数から取得すること(ハードコーディング禁止)
- エラーメッセージにスタックトレースや内部情報を含めないこと
- 認証が必要なエンドポイントには必ずミドルウェアを適用すること

まとめ

Claude Codeは強力なツールですが、適切なセキュリティ設定なしに使うのは危険です。パーミッションの設定、APIキーの管理、機密ファイルの保護を最初に行い、継続的にセキュリティレビューを実施しましょう。

チーム開発でのセキュリティ管理については、Claude Code チーム開発ガイドも参考にしてください。

AIでプロダクトを作りたい方へ

BlueAI Schoolは月額9,800円から。3ヶ月で自分のプロダクトを公開する実践コースも。

詳しく見る