Claude Codeは、パワーと安全性のバランスを取るために階層化された権限システムを使用します:

ツールタイプ承認が必要「はい、次回から確認しない」の動作
読み取り専用ファイル読み取り、LS、Grepいいえ該当なし
Bashコマンドシェル実行はいプロジェクトディレクトリとコマンドごとに永続的
ファイル変更ファイルの編集/書き込みはいセッション終了まで

Claudeが利用可能なツール

Claude Codeは、コードベースを理解し変更するのに役立つ強力なツール群にアクセスできます:

ツール説明必要な権限
Agent複雑な複数ステップのタスクを処理するサブエージェントを実行いいえ
Bash環境内でシェルコマンドを実行はい
Globパターンマッチングに基づいてファイルを検索いいえ
Grepファイル内容のパターン検索いいえ
LSファイルとディレクトリの一覧表示いいえ
Readファイルの内容を読み取りいいえ
Edit特定のファイルに対して的確な編集を実行はい
Writeファイルの作成または上書きはい
NotebookEditJupyterノートブックのセルを変更はい
NotebookReadJupyterノートブックの内容を読み取りと表示いいえ
WebFetch指定されたURLからコンテンツを取得はい

権限ルールは/allowed-toolsまたは権限設定で設定できます。

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

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

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

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

  1. 承認前にコマンドを確認
  2. 信頼できないコンテンツを直接Claudeにパイプしない
  3. 重要なファイルへの変更提案を確認
  4. 不審な動作は/bugで報告

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

ネットワークアクセスの設定

Claude Codeには以下へのアクセスが必要です:

  • api.anthropic.com
  • statsig.anthropic.com
  • sentry.io

コンテナ化された環境でClaude Codeを使用する際は、これらのURLをホワイトリストに登録してください。

開発コンテナのリファレンス実装

Claude Codeは、一貫性のある安全な環境を必要とするチーム向けに開発コンテナ設定を提供します。この事前設定されたdevcontainer設定は、VS CodeのRemote - Containers拡張機能や同様のツールとシームレスに連携します。

コンテナの強化されたセキュリティ対策(分離とファイアウォールルール)により、無人運用のためにclaude --dangerously-skip-permissionsを実行して権限プロンプトをバイパスできます。ニーズに合わせてカスタマイズ可能なリファレンス実装を提供しています。

devcontainerは実質的な保護を提供しますが、完全にすべての攻撃から免れるシステムはありません。 常に適切なセキュリティプラクティスを維持し、Claudeの活動を監視してください。

主な機能

  • 本番環境対応Node.js:必要な開発依存関係を備えたNode.js 20をベースに構築
  • セキュリティバイデザイン:必要なサービスのみにネットワークアクセスを制限するカスタムファイアウォール
  • 開発者フレンドリーなツール:git、生産性向上機能付きZSH、fzfなどを含む
  • VS Codeとのシームレスな統合:事前設定された拡張機能と最適化された設定
  • セッション永続性:コンテナの再起動間でコマンド履歴と設定を保持
  • どこでも動作:macOS、Windows、Linux開発環境と互換

4ステップで始める

  1. VS CodeとRemote - Containers拡張機能をインストール
  2. Claude Codeリファレンス実装リポジトリをクローン
  3. VS Codeでリポジトリを開く
  4. プロンプトが表示されたら、「コンテナで再度開く」をクリック(またはコマンドパレット:Cmd+Shift+P →「Remote-Containers: コンテナで再度開く」を使用)

設定の内訳

devcontainerのセットアップは3つの主要コンポーネントで構成されています:

  • devcontainer.json:コンテナ設定、拡張機能、ボリュームマウントを制御
  • Dockerfile:コンテナイメージとインストールされるツールを定義
  • init-firewall.sh:ネットワークセキュリティルールを確立

セキュリティ機能

コンテナはファイアウォール設定で多層的なセキュリティアプローチを実装しています:

  • 精密なアクセス制御:ホワイトリストに登録されたドメイン(npmレジストリ、GitHub、Anthropic APIなど)のみに外部接続を制限
  • デフォルト拒否ポリシー:その他のすべての外部ネットワークアクセスをブロック
  • 起動時の検証:コンテナ初期化時にファイアウォールルールを検証
  • 分離:メインシステムから分離された安全な開発環境を作成

カスタマイズオプション

devcontainerの設定はニーズに合わせて適応できるように設計されています:

  • ワークフローに基づいてVS Code拡張機能を追加または削除
  • 異なるハードウェア環境のためのリソース割り当ての変更
  • ネットワークアクセス権限の調整
  • シェル設定と開発ツールのカスタマイズ

Was this page helpful?