Claude Code 使用分層權限系統來平衡功能和安全性:

工具類型範例需要批准”是的,不要再詢問”行為
唯讀檔案讀取、LS、Grep不適用
Bash 命令Shell 執行永久性(按專案目錄和命令)
檔案修改編輯/寫入檔案直到會話結束

Claude 可用的工具

Claude Code 可以使用一系列強大的工具,幫助它理解和修改您的程式碼庫:

工具描述需要權限
Agent運行子代理處理複雜的多步驟任務
Bash在您的環境中執行 shell 命令
Glob基於模式匹配查找檔案
Grep在檔案內容中搜索模式
LS列出檔案和目錄
Read讀取檔案內容
Edit對特定檔案進行有針對性的編輯
Write創建或覆寫檔案
NotebookEdit修改 Jupyter 筆記本單元格
NotebookRead讀取並顯示 Jupyter 筆記本內容
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: Reopen in Container”)

配置細節

devcontainer 設置由三個主要組件組成:

安全特性

容器通過其防火牆配置實現多層安全方法:

  • 精確訪問控制:僅限制出站連接到白名單域(npm 註冊表、GitHub、Anthropic API 等)
  • 默認拒絕策略:阻止所有其他外部網絡訪問
  • 啟動驗證:容器初始化時驗證防火牆規則
  • 隔離:創建與主系統分離的安全開發環境

自定義選項

devcontainer 配置設計為可適應您的需求:

  • 根據您的工作流程添加或移除 VS Code 擴展
  • 為不同硬件環境修改資源分配
  • 調整網絡訪問權限
  • 自定義 shell 配置和開發工具