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 包含几个针对这些攻击的安全保护措施:

  • 权限系统:敏感操作需要明确批准
  • 上下文感知分析:通过分析完整请求来检测潜在的有害指令
  • 输入净化:通过处理用户输入来防止命令注入
  • 命令黑名单:阻止从网络获取任意内容的危险命令,如 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 设置由三个主要组件组成:

安全特性

容器通过其防火墙配置实现多层安全方法:

  • 精确访问控制:仅限制对白名单域名的出站连接(npm 注册表、GitHub、Anthropic API 等)
  • 默认拒绝策略:阻止所有其他外部网络访问
  • 启动验证:容器初始化时验证防火墙规则
  • 隔离:创建与主系统分离的安全开发环境

自定义选项

devcontainer 配置设计为可适应您的需求:

  • 根据您的工作流添加或删除 VS Code 扩展
  • 针对不同硬件环境修改资源分配
  • 调整网络访问权限
  • 自定义 shell 配置和开发工具

Was this page helpful?