前言¶
在使用 DeepSeek Harness (DSH) 时,Agent 代理可能会根据指令执行文件系统操作或 Git 命令。这些操作如果误触,可能导致代码回滚或敏感信息泄露。为了在 Agent 代理运行代码前增加一道防线,需要在 Harness 环境中引入执行前的安全检查。CC Safety Net 是为此设计的 DSH 插件,它通过解析命令意图,在 Agent 代理真正执行破坏性操作前进行拦截。
插件定位¶
CC Safety Net (Coding CLI Safety Net) 是一个针对 AI 编码 Agent 的预执行防护工具。它由 kenryu42 维护,采用 MIT 许可证。其核心作用是在工具调用运行前检查命令意图,阻止破坏性的 Git 和文件系统命令,并禁止访问密钥文件(如 SSH keys 和 .env 文件)。
核心功能¶
该插件提供以下具体能力:
- 阻断破坏性命令:能够识别并拦截如
git reset --hard、git push --force以及rm -rf等危险命令,防止 Agent 代理误删代码或覆盖历史记录。 - 阻断密钥访问:防止 Agent 代理从 Shell 或文件工具中读取敏感文件,包括 SSH 密钥、
.env文件、~/.aws目录以及编码 CLI 的凭证。 - 策略可视化调整:通过图形界面调整策略。运行 GUI 命令可以快速选择 Standard(标准)、Strict(严格)或 Paranoid(偏执)预设,并手动开启或关闭具体规则。
- 规则书扩展:支持通过规则书(Rulebooks)添加自定义阻断规则,官方提供 Terraform、AWS、gcloud 和 Azure 的规则包,也支持使用自定义 JSON。
- 策略版本管理:支持将策略配置通过 Git 共享,确保团队成员或云环境中的会话使用一致的规则。
- 工具嵌入:允许开发者在自己的工具中调用
checkCommand接口,无需安装 Hook 即可集成安全检查逻辑。
安装与启用¶
使用前需确保系统已安装 Node.js 18 或更高版本。
执行以下命令安装插件并检查环境状态:
npx -y cc-safety-net@latest install
npx -y cc-safety-net@latest doctor
安装完成后,插件会自动介入 DSH 的执行流程。如需更新插件,请运行:
npx -y cc-safety-net@latest update
典型用法¶
在本地开发时,建议启动 GUI 界面来审查和调整安全策略:
npx cc-safety-net gui
通过 GUI 可以直观地查看当前生效的规则,并根据需要调整阻断策略。
适用场景与注意¶
该插件适合需要严格管控 Agent 代理执行权限的开发环境。
注意事项:
* 配置文件损坏:如果配置文件损坏,插件将不会阻止任何命令。
* 非沙箱机制:它不是沙箱。插件不包含进程、不设置文件系统权限、也不监控网络出口。包装命令或重新排序标志无法隐藏危险操作。
* 依赖要求:必须使用 Node.js 18 或更高版本。
总结¶
CC Safety Net 通过命令级别的预检,为 DeepSeek Harness 提供了基础的执行安全防线,有效防止 Agent 代理因误操作导致的数据丢失或泄露。若需深入了解配置模式或官方规则书,可参考其文档。