/sandbox 启用以定义 CodeBuddy Code 可以自主工作的边界。curl 和 wget。当明确允许时,请注意权限模式限制-p 标志非交互式运行时,信任验证被禁用。--serve 模式或 Daemon 启动 HTTP 服务时,CodeBuddy Code 采用多层防御保护 API 端点:https://example.com)、子域通配(https://*.example.com)和全部允许(*)三种配置模式。通过环境变量 CODEBUDDY_CODE_CORS_ORIGINS 或 Settings gateway.corsOrigins 配置。X-CodeBuddy-Request: 1 头。此机制利用浏览器安全策略:自定义头会强制触发 CORS preflight,且 no-cors 模式下浏览器不允许发送自定义头,从而阻止跨站请求伪造。codebuddy --serve 默认开启密码认证(secure by default)。这组端点包含执行进程(/api/v1/process/*)、读写任意文件(/api/v1/files/*、/api/v1/fs/*)和交互式终端(/api/v1/pty/*)等敏感能力,因此不再依赖"仅监听回环地址"作为安全边界——同机的其他进程以及浏览器中打开的网页都能触达回环端口。Authorization: Bearer <password> 或该 Cookie(?password= 仅对首页有效)。--auth none 或 CODEBUDDY_GATEWAY_AUTH=none 显式关闭认证,此时启动会打印警告。关闭后同机任意进程都能通过该服务执行命令、读写文件,仅建议在隔离环境(容器 / 一次性沙箱)或 CI 中使用。{"sandbox": {"enabled": true,"autoAllowBashIfSandboxed": true,"excludedCommands": ["git", "docker"],"network": {"allowUnixSockets": ["/var/run/docker.sock"],"allowLocalBinding": true}}}
/permissions 审计您的权限设置。{"permissions": {"allow": ["Read","Edit(src/**/*.ts)","Bash(npm:test,npm:build)"],"deny": ["Edit(**/*.env)","Bash(rm:*)","Bash(sudo:*)"]}}
{"permissions": {"deny": ["Read(.env)","Read(.env.*)","Read(secrets/**)","Read(~/.ssh/**)","Read(~/.aws/**)","Edit(**/*.key)","Edit(**/*.pem)"]}}
{"permissions": {"ask": ["WebFetch"],"allow": ["WebFetch(domain:github.com)","WebFetch(domain:npmjs.com)"]}}
{"permissions": {"deny": ["Bash(rm:*)","Bash(sudo:*)","Bash(chmod:*)","Bash(chown:*)","Bash(curl:*)","Bash(wget:*)"]}}
# 生产代码 - 严格权限cd ~/production/appcodebuddy --permission-mode default# 实验项目 - 宽松权限cd ~/experiments/testcodebuddy --permission-mode acceptEdits
# 在容器中运行docker run -it --rm -v $(pwd):/workspace codebuddy
# 查看所有更改git diff# 审查特定文件git diff src/critical.ts
{"hooks": {"PreToolUse": {"Edit": "npm run lint-staged"}}}
# 创建 PR 而不是直接提交git checkout -b feature/codebuddy-changesgit push origin feature/codebuddy-changes
# 错误示例export API_KEY="sk-1234567890"# 正确示例 - 使用环境变量管理工具export $(cat .env.local | xargs)
# 使用 git-cryptgit-crypt initecho "secrets.json filter=git-crypt diff=git-crypt" >> .gitattributes
# 使用 apiKeyHelper 动态获取密钥{"apiKeyHelper": "/usr/local/bin/get-rotating-key.sh"}
{"hooks": {"PreToolUse": {"*": "echo \\"[$(date)] Tool: $TOOL_NAME\\" >> ~/.codebuddy/audit.log"}}}
# 查看最近的工具使用tail -f ~/.codebuddy/audit.log# 搜索敏感操作grep "Edit.*\\.env" ~/.codebuddy/audit.log
# 查看当前权限codebuddy config get permissions# 列出所有设置文件find . -name "settings.json" -o -name "settings.local.json"
Esta página foi útil?
Você também pode entrar em contato com a Equipe de vendas ou Enviar um tíquete em caso de ajuda.
comentários