Claude Code
管理權限和安全性
了解 Claude Code 的權限系統、工具存取和安全防護措施。
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 包含幾項防範這些攻擊的保護措施:
- 權限系統:敏感操作需要明確批准
- 上下文感知分析:通過分析完整請求來檢測潛在有害指令
- 輸入淨化:通過處理用戶輸入防止命令注入
- 命令黑名單:阻止從網絡獲取任意內容的風險命令,如
curl
和wget
處理不受信任內容的最佳實踐:
- 批准前審查建議的命令
- 避免將不受信任的內容直接傳送給 Claude
- 驗證對關鍵檔案的建議更改
- 使用
/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 步開始使用
- 安裝 VS Code 和 Remote - Containers 擴展
- 克隆 Claude Code 參考實現 存儲庫
- 在 VS Code 中打開存儲庫
- 當提示時,點擊”在容器中重新打開”(或使用命令面板:Cmd+Shift+P → “Remote-Containers: Reopen in Container”)
配置細節
devcontainer 設置由三個主要組件組成:
- devcontainer.json:控制容器設置、擴展和卷掛載
- Dockerfile:定義容器映像和安裝工具
- init-firewall.sh:建立網絡安全規則
安全特性
容器通過其防火牆配置實現多層安全方法:
- 精確訪問控制:僅限制出站連接到白名單域(npm 註冊表、GitHub、Anthropic API 等)
- 默認拒絕策略:阻止所有其他外部網絡訪問
- 啟動驗證:容器初始化時驗證防火牆規則
- 隔離:創建與主系統分離的安全開發環境
自定義選項
devcontainer 配置設計為可適應您的需求:
- 根據您的工作流程添加或移除 VS Code 擴展
- 為不同硬件環境修改資源分配
- 調整網絡訪問權限
- 自定義 shell 配置和開發工具