claude --dangerously-skip-permissions 來繞過權限提示,以進行無人值守操作。
雖然 devcontainer 提供了實質性的保護,但沒有系統能完全免疫所有攻擊。
當使用
--dangerously-skip-permissions 執行時,devcontainer 無法防止惡意專案竊取 devcontainer 中可存取的任何內容,包括 Claude Code 憑證。
我們建議僅在開發受信任的儲存庫時使用 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、Claude API 等)
- 允許的出站連接:防火牆允許出站 DNS 和 SSH 連接
- 預設拒絕政策:阻止所有其他外部網路存取
- 啟動驗證:在容器初始化時驗證防火牆規則
- 隔離:創建與您主系統分離的安全開發環境
自定義選項
devcontainer 配置設計為可適應您的需求:- 根據您的工作流程添加或移除 VS Code 擴充功能
- 為不同硬體環境修改資源分配
- 調整網路存取權限
- 自定義 shell 配置和開發者工具