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

セキュリティの基盤

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

権限ベースのアーキテクチャ

Claude Codeはデフォルトで厳密な読み取り専用権限を使用します。追加のアクション(ファイルの編集、テストの実行、コマンドの実行)が必要な場合、Claude Codeは明示的な権限を要求します。ユーザーはアクションを1回だけ承認するか、自動的に許可するかを制御できます。 Claude Codeは透過的で安全になるように設計されています。例えば、bashコマンドを実行する前に承認が必要であり、直接制御できます。このアプローチにより、ユーザーと組織は権限を直接設定できます。 詳細な権限設定については、Identity and Access Managementを参照してください。

組み込み保護

エージェントシステムのリスクを軽減するために:
  • サンドボックス化されたbashツール: Sandboxでbashコマンドをファイルシステムとネットワーク分離でサンドボックス化し、権限プロンプトを減らしながらセキュリティを維持します。/sandboxで有効にして、Claude Codeが自律的に作業できる境界を定義します
  • 書き込みアクセス制限: Claude Codeは開始されたフォルダとそのサブフォルダにのみ書き込みでき、明示的な権限なしに親ディレクトリのファイルを変更することはできません。Claude Codeは作業ディレクトリ外のファイルを読み取ることができます(システムライブラリと依存関係にアクセスするのに便利です)が、書き込み操作はプロジェクトスコープに厳密に限定され、明確なセキュリティ境界を作成します
  • プロンプト疲労の軽減: ユーザーごと、コードベースごと、または組織ごとに頻繁に使用される安全なコマンドのホワイトリスト登録をサポート
  • Accept Edits モード: 複数の編集をバッチで受け入れながら、副作用のあるコマンドの権限プロンプトを維持

ユーザーの責任

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

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

プロンプトインジェクションは、攻撃者がAIアシスタントの指示を悪意のあるテキストを挿入することでオーバーライドまたは操作しようとする技術です。Claude Codeにはこれらの攻撃に対する複数のセーフガードが含まれています:

コア保護

  • 権限システム: 機密操作には明示的な承認が必要です
  • コンテキスト認識分析: 完全なリクエストを分析することで潜在的に有害な指示を検出します
  • 入力サニタイゼーション: ユーザー入力を処理することでコマンドインジェクションを防止します
  • コマンドブロックリスト: curlwgetのようなウェブから任意のコンテンツを取得するリスクのあるコマンドをデフォルトでブロックします。明示的に許可する場合は、権限パターンの制限に注意してください

プライバシー保護

データを保護するために、複数のセーフガードを実装しています:
  • 機密情報の保持期間の制限(詳細についてはPrivacy Centerを参照してください)
  • ユーザーセッションデータへのアクセス制限
  • データトレーニング設定に対するユーザーコントロール。コンシューマーユーザーはプライバシー設定をいつでも変更できます。
詳細については、Commercial Terms of Service(Team、Enterprise、APIユーザー向け)またはConsumer Terms(Free、Pro、Maxユーザー向け)およびPrivacy Policyをご確認ください。

追加のセーフガード

  • ネットワークリクエスト承認: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要です
  • 分離されたコンテキストウィンドウ: ウェブフェッチは潜在的に悪意のあるプロンプトの挿入を避けるために別のコンテキストウィンドウを使用します
  • 信頼検証: 初回のコードベース実行と新しいMCPサーバーは信頼検証が必要です
    • 注:信頼検証は-pフラグで非対話的に実行する場合は無効になります
  • コマンドインジェクション検出: 疑わしいbashコマンドは、以前にホワイトリストに登録されていても手動承認が必要です
  • フェイルクローズドマッチング: マッチしないコマンドはデフォルトで手動承認が必要です
  • 自然言語説明: 複雑なbashコマンドにはユーザーの理解のための説明が含まれます
  • 安全な認証情報ストレージ: APIキーとトークンは暗号化されます。Credential Managementを参照してください
Windows WebDAVセキュリティリスク: Windows上でClaude Codeを実行する場合、WebDAVを有効にすることはお勧めしません。WebDAVはセキュリティリスクのためMicrosoftによって廃止されました。WebDAVを有効にすると、Claude Codeが権限システムをバイパスしてリモートホストへのネットワークリクエストをトリガーできる可能性があります。
信頼できないコンテンツを使用する場合のベストプラクティス
  1. 承認前に提案されたコマンドを確認します
  2. 信頼できないコンテンツをClaude に直接パイプすることを避けます
  3. 重要なファイルへの提案された変更を確認します
  4. 仮想マシン(VM)を使用してスクリプトを実行し、ツール呼び出しを行います。特に外部ウェブサービスと相互作用する場合
  5. /bugで疑わしい動作を報告します
これらの保護措置はリスクを大幅に軽減しますが、すべての攻撃に対して完全に免疫のあるシステムはありません。AIツールを使用する場合は常に良好なセキュリティプラクティスを維持してください。

MCPセキュリティ

Claude Codeにより、ユーザーはModel Context Protocol(MCP)サーバーを設定できます。許可されたMCPサーバーのリストはソースコードで設定され、Claude Codeの設定エンジニアがソース管理にチェックインします。 独自のMCPサーバーを作成するか、信頼できるプロバイダーからのMCPサーバーを使用することをお勧めします。Claude Codeの権限をMCPサーバー用に設定できます。AnthropicはいかなるMCPサーバーも管理または監査しません。

IDEセキュリティ

Claude CodeをIDEで実行する場合のセキュリティの詳細については、こちらを参照してください。

クラウド実行セキュリティ

ウェブ上のClaude Codeを使用する場合、追加のセキュリティ制御が実施されています:
  • 分離された仮想マシン: 各クラウドセッションは分離されたAnthropicが管理するVM内で実行されます
  • ネットワークアクセス制御: ネットワークアクセスはデフォルトで制限され、無効にするか特定のドメインのみを許可するように設定できます
  • 認証情報保護: 認証はサンドボックス内のスコープ付き認証情報を使用するセキュアプロキシを通じて処理され、その後実際のGitHub認証トークンに変換されます
  • ブランチ制限: Gitプッシュ操作は現在のワーキングブランチに制限されます
  • 監査ログ: クラウド環境内のすべての操作はコンプライアンスと監査目的でログに記録されます
  • 自動クリーンアップ: クラウド環境はセッション完了後に自動的に終了されます
クラウド実行の詳細については、ウェブ上のClaude Codeを参照してください。

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

機密コードの使用

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

チームセキュリティ

  • enterprise managed policiesを使用して組織標準を実施します
  • 承認された権限設定をバージョン管理を通じて共有します
  • チームメンバーにセキュリティベストプラクティスについてトレーニングを行います
  • OpenTelemetry metricsを通じてClaude Codeの使用状況を監視します

セキュリティ問題の報告

Claude Codeでセキュリティ脆弱性を発見した場合:
  1. 公開で開示しないでください
  2. HackerOne programを通じて報告してください
  3. 詳細な再現手順を含めてください
  4. 公開開示前に問題に対処する時間を与えてください

関連リソース