文档
推荐给好友,福利领不停!好友同步开通最高 1000 万词元额度 · 后续消费分佣最高 30%。
+50万 Token生成链接

安全

CrabCode 的安全设计:信任目录、权限模式、Bypass 风险、敏感信息脱敏。

是什么

CrabCode 默认对当前目录与外部输入持保守态度:

  • 启动时弹"信任此目录吗"对话框
  • 危险操作(写非项目文件、执行 shell、网络访问)默认需要确认
  • 上报到 /bug 与日志的内容会自动脱敏 API key、AWS/GCP 凭证、Authorization 头等

什么时候用得上

  • 首次启动 / /init 引导页 — Trust 对话框
  • 切换权限模式时
  • 看到 CRABCODE.md 外部 include 警告
  • 准备用 /bug 上报问题前

信任目录

CrabCode 启动时若 cwd 还没被信任,会弹 Trust 对话框:

  • Trust — 加入白名单,本目录及子目录后续不再问
  • Don't trust — 本次会话退到只读
  • 信任状态记录在用户配置里(按项目路径存)

不要"全部信任":陌生仓库可能在 CRABCODE.md / AGENTS.md 里埋 prompt injection。

权限模式

CrabCode 同时使用 app 层权限与 OS 层沙盒:

维度权限模式(app 层)沙盒(OS 层)
谁来挡CrabCode 自检后弹确认内核拒绝越界 syscall
关闭名bypassPermissionsenabled: false
关系独立 —— 沙盒开着时,app 层即便 bypass 也越不过 OS 边界

权限模式包含:

  • default —— 危险操作弹确认(推荐)
  • acceptEdits —— 自动批准编辑类操作
  • plan —— 只规划不动手
  • bypassPermissions —— 跳过所有权限确认(高风险)
  • auto —— 由内置分类器自动决定通过 / 询问 / 拒绝(需启用相应 feature flag)

详见 iamsandboxing

Bypass 模式(高风险)

shell
crabcode --permission-mode bypassPermissions
crabcode --permission-mode bypassPermissions

CrabCode 想读、想写、想执行什么都不会再问。只在你完全信任本次任务时用

  • CI 跑预定批处理
  • 临时容器内 demo

组织可在 settings.json 里加:

json
{
  "permissions": {
    "disableBypassPermissionsMode": "disable"
  }
}
{
  "permissions": {
    "disableBypassPermissionsMode": "disable"
  }
}

完全锁死 bypass 模式 —— 用户即便加 CLI flag 也起不来。

敏感信息脱敏

/bug 上报、crabcode --debug 日志写入、错误上报路径会自动脱敏:

  • API key 形态的 token(带常见前缀)
  • AWS 访问 key(AKIA... 等)
  • GCP 服务账号凭证
  • HTTP header 里的 Authorization / x-api-key
  • 命名含 *_TOKEN / *_SECRET / *_PASSWORD 的环境变量值

脱敏在文本入磁盘/网络前完成;本机内存里仍以明文使用。

CRABCODE.md 外部 include

CRABCODE.md 支持 @./other.md 把别的文件内联进上下文。引入项目目录之外的文件(如 @~/.dotfiles/...)会触发警告对话框 —— 这是潜在的 prompt injection 入口。

应对:

  • 直接把要用的提示文字 inline 进项目 CRABCODE.md
  • 或者确认外部文件来源可信后批准本次 include

凭证与数据传输

  • CrabCode 与 acosmi 网关之间全程走 HTTPS
  • 登录 token 存在系统 keychain(macOS Keychain / Linux secret service / Windows Credential Manager),不可用时降级到加密本地文件
  • 多窗口同时跑时共用同一份 token,由 SDK 处理刷新竞争
  • 关闭 CrabCode 后磁盘上不残留 prompt / 工具调用明文(除非你自己开了 --debug 写日志)

限制与注意

  • /bug 会附带 transcript:再多脱敏也别把私密内容写进对话
  • MCP server 是黑盒:HTTP MCP 配置前先看清它能拉走什么数据
  • hook 命令 跑在你本地 shell 用户下,等同于本地代码执行权限 —— 第三方 hook 与第三方插件要审
  • 共享 CI runner 建议同时开沙盒并锁掉 bypassPermissions

报告安全问题

在 acosmi.com 或 acosmi.ai 联系页面联系我们;如属高敏问题,请提供可复现环境与影响范围,我们会优先排期。

相关