Claude 程式碼
管理權限和安全性
了解 Claude Code 的權限系統、工具存取和安全防護措施。
Claude Code 使用分層權限系統來平衡功能和安全性:
工具類型 | 範例 | 需要核准 | ”是的,不要再詢問”行為 |
---|---|---|---|
唯讀 | 檔案讀取、LS、Grep | 否 | 不適用 |
Bash 指令 | Shell 執行 | 是 | 永久性(針對專案目錄和指令) |
檔案修改 | 編輯/寫入檔案 | 是 | 直到工作階段結束 |
Claude 可用的工具
Claude Code 可以使用一系列強大的工具來幫助它理解和修改您的程式碼庫:
工具 | 說明 | 需要權限 |
---|---|---|
Agent | 執行子代理來處理複雜的多步驟任務 | 否 |
Bash | 在您的環境中執行 shell 指令 | 是 |
Glob | 根據模式匹配尋找檔案 | 否 |
Grep | 搜尋檔案內容中的模式 | 否 |
LS | 列出檔案和目錄 | 否 |
Read | 讀取檔案內容 | 否 |
Edit | 對特定檔案進行定向編輯 | 是 |
Write | 建立或覆寫檔案 | 是 |
NotebookEdit | 修改 Jupyter notebook 儲存格 | 是 |
NotebookRead | 讀取和顯示 Jupyter notebook 內容 | 否 |
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: 在容器中重新開啟”)
配置細節
devcontainer 設定包含三個主要組件:
- devcontainer.json:控制容器設定、擴充功能和卷掛載
- Dockerfile:定義容器映像和已安裝工具
- init-firewall.sh:建立網路安全規則
安全功能
容器通過其防火牆配置實作多層安全方法:
- 精確存取控制:僅限白名單域名的對外連接(npm registry、GitHub、Anthropic API 等)
- 預設拒絕策略:阻止所有其他外部網路存取
- 啟動驗證:容器初始化時驗證防火牆規則
- 隔離:建立與主系統分離的安全開發環境
自訂選項
devcontainer 配置設計為可適應您的需求:
- 根據您的工作流程新增或移除 VS Code 擴充功能
- 針對不同硬體環境修改資源分配
- 調整網路存取權限
- 自訂 shell 配置和開發工具