セキュリティへのアプローチ

セキュリティ基盤

あなたのコードのセキュリティは最重要です。Claude Codeはセキュリティを中核に据えて構築されており、Anthropicの包括的なセキュリティプログラムに従って開発されています。詳細情報とリソース(SOC 2 Type 2レポート、ISO 27001証明書など)については、Anthropic Trust Centerをご覧ください。

許可ベースのアーキテクチャ

Claude Codeはデフォルトで厳格な読み取り専用許可を使用します。追加のアクション(ファイルの編集、テストの実行、コマンドの実行)が必要な場合、Claude Codeは明示的な許可を要求します。ユーザーは、アクションを一度承認するか、自動的に許可するかを制御できます。

私たちはClaude Codeを透明性があり安全になるよう設計しました。例えば、gitコマンドを実行する前に承認を要求し、直接的な制御を提供します。このアプローチにより、ユーザーと組織が許可を直接設定できます。

詳細な許可設定については、Identity and Access Managementをご覧ください。

組み込み保護機能

エージェントシステムのリスクを軽減するため:

  • フォルダアクセス制限: Claude Codeは開始されたフォルダとそのサブフォルダのみにアクセスでき、親ディレクトリに上がることはできません。これにより明確なセキュリティ境界が作られ、Claude Codeが意図されたプロジェクト範囲内でのみ動作することが保証されます
  • プロンプト疲労の軽減: ユーザー単位、コードベース単位、または組織単位で頻繁に使用される安全なコマンドの許可リストをサポート
  • Accept Editsモード: 副作用のあるコマンドの許可プロンプトを維持しながら、複数の編集をバッチで承認

ユーザーの責任

Claude Codeは、あなたが付与した許可のみを持ちます。承認前に、提案されたコードとコマンドの安全性を確認する責任があります。

プロンプトインジェクションからの保護

プロンプトインジェクションは、攻撃者が悪意のあるテキストを挿入してAIアシスタントの指示を上書きまたは操作しようとする技術です。Claude Codeには、これらの攻撃に対するいくつかの保護機能が含まれています:

中核的な保護機能

  • 許可システム: 機密操作には明示的な承認が必要
  • コンテキスト認識分析: 完全なリクエストを分析して潜在的に有害な指示を検出
  • 入力サニタイゼーション: ユーザー入力を処理してコマンドインジェクションを防止
  • コマンドブロックリスト: curlwgetなどのウェブから任意のコンテンツを取得する危険なコマンドをブロック

追加の保護機能

  • ネットワークリクエスト承認: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要
  • 分離されたコンテキストウィンドウ: ウェブフェッチは潜在的に悪意のあるプロンプトの注入を避けるため、別のコンテキストウィンドウを使用
  • 信頼性検証: 初回のコードベース実行と新しいMCPサーバーには信頼性検証が必要
  • コマンドインジェクション検出: 疑わしいbashコマンドは、以前に許可リストに登録されていても手動承認が必要
  • フェイルクローズドマッチング: 一致しないコマンドはデフォルトで手動承認が必要
  • 自然言語説明: 複雑なbashコマンドにはユーザーの理解のための説明が含まれる

信頼できないコンテンツを扱う際のベストプラクティス

  1. 承認前に提案されたコマンドを確認する
  2. 信頼できないコンテンツを直接Claudeにパイプしない
  3. 重要なファイルへの提案された変更を検証する
  4. 特に外部ウェブサービスとやり取りする際は、仮想マシン(VM)を使用してスクリプトを実行し、ツール呼び出しを行う
  5. /bugで疑わしい動作を報告する

これらの保護機能はリスクを大幅に軽減しますが、すべての攻撃に対して完全に免疫のあるシステムはありません。AIツールを使用する際は、常に良好なセキュリティプラクティスを維持してください。

MCPセキュリティ

Claude Codeでは、ユーザーがModel Context Protocol(MCP)サーバーを設定できます。許可されたMCPサーバーのリストは、エンジニアがソース管理にチェックインするClaude Code設定の一部として、ソースコードで設定されます。

独自のMCPサーバーを作成するか、信頼できるプロバイダーのMCPサーバーを使用することをお勧めします。MCPサーバーのClaude Code許可を設定できます。AnthropicはMCPサーバーの管理や監査は行いません。

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

機密コードの取り扱い

  • 承認前にすべての提案された変更を確認する
  • 機密リポジトリにはプロジェクト固有の許可設定を使用する
  • 追加の分離のためにdevcontainersの使用を検討する
  • /permissionsで許可設定を定期的に監査する

チームセキュリティ

  • 組織標準を強制するためにenterprise managed policiesを使用する
  • バージョン管理を通じて承認された許可設定を共有する
  • チームメンバーにセキュリティベストプラクティスを教育する
  • OpenTelemetryメトリクスを通じてClaude Codeの使用状況を監視する

セキュリティ問題の報告

Claude Codeでセキュリティ脆弱性を発見した場合:

  1. 公開しない
  2. HackerOneプログラムを通じて報告する
  3. 詳細な再現手順を含める
  4. 公開前に問題に対処する時間を与える

関連リソース