Skip to content

Security

momo edited this page Jul 6, 2026 · 1 revision

安全说明

remote-control 会把“触发 Claude Code 执行 prompt”的入口挂到网络上。token 泄露后,攻击者可以在服务器上以服务进程身份发起 Agent 任务。因此公网部署前必须完成安全检查。

主要缓解措施

风险 缓解措施
无鉴权访问 Bearer token,常量时间比较
任意路径触发 project_key 必须命中白名单,不接受原始路径
权限升级 permission_mode 服务端固定,API 不接收该字段
高危 Bash 命令 can_use_tool 回调按模式拦截危险命令
token 泄露后刷爆资源 按来源 IP 限流
资源耗尽 并发上限、运行超时、max_turns、max_budget_usd
无法追溯 每次触发写审计日志
进程权限过大 裸机用专用低权限用户,容器内使用非 root 用户
后端直接暴露公网 后端只监听本地,由 Caddy 对公网提供 HTTPS

残留风险

  • 黑名单式 Bash 拦截无法覆盖所有变体。高安全场景应收紧 allowed_tools。
  • 当前是单一共享 token,没有多用户或多权限模型。
  • max_budget_usd 和 max_turns 能限制单次运行,不能完全避免被反复触发带来的账单增长。
  • 本地 audit.log 没有防篡改或异地留存。

部署前检查清单

  • REMOTE_CONTROL_TOKEN 使用 secrets.token_urlsafe(32) 或同等强度生成。
  • .env 权限收紧,并确认没有提交进 git。
  • REMOTE_CONTROL_PROJECT_DIRS 只包含需要远程触发的项目目录。
  • systemd ReadWritePaths 或 Docker volumes 覆盖所有白名单项目目录。
  • Caddy 已用真实域名跑通 HTTPS。
  • 防火墙只对外开放 80/443。
  • 后端端口没有直接暴露公网。
  • 容器或服务器已配置 ANTHROPIC_API_KEY。
  • 容器没有覆盖为 root 用户运行。

Clone this wiki locally