安全
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 |
| 关闭名 | bypassPermissions | enabled: false |
| 关系 | 独立 —— 沙盒开着时,app 层即便 bypass 也越不过 OS 边界 |
权限模式包含:
default—— 危险操作弹确认(推荐)acceptEdits—— 自动批准编辑类操作plan—— 只规划不动手bypassPermissions—— 跳过所有权限确认(高风险)auto—— 由内置分类器自动决定通过 / 询问 / 拒绝(需启用相应 feature flag)
详见 iam 与 sandboxing。
Bypass 模式(高风险)
crabcode --permission-mode bypassPermissionscrabcode --permission-mode bypassPermissionsCrabCode 想读、想写、想执行什么都不会再问。只在你完全信任本次任务时用:
- CI 跑预定批处理
- 临时容器内 demo
组织可在 settings.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 联系页面联系我们;如属高敏问题,请提供可复现环境与影响范围,我们会优先排期。