Safety Guard

affaan-m/ECC/docs/zh-CN/skills/safety-guard

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775无许可证275K 个星标收录于 2026年10月9日更新于 2026年10月9日仓库4天前更新

使用此技能可防止在生产系统上工作或自主运行代理时进行破坏性操作。

仅含说明Security
AI 生成的概览

为在生产系统或自主运行的代理拦截破坏性命令,并将文件编辑限制在指定目录内。

功能
该技能为代理会话定义三种保护模式:谨慎模式会拦截强制推送、硬重置、递归删除、删除数据库和删除集群等破坏性命令,说明命令作用、请求确认并建议更安全的替代方案;冻结模式将写入和编辑锁定在指定目录树内;守护模式同时启用两者。它还提供关闭命令以停用保护。实现方式是通过 PreToolUse 钩子按当前规则检查 Bash、Write、Edit 和 MultiEdit 调用,被阻止的操作会记录到日志文件。
适用场景
适用于代理在生产系统上工作、以全自动模式运行、需要限制只能编辑特定目录,或正在执行迁移、部署、数据变更等敏感操作的场景。
运行要求
需要支持对 Bash、Write、Edit 和 MultiEdit 工具调用使用 PreToolUse 钩子的代理环境。不附带脚本,仅为指令。它会在用户主目录下写入日志文件。

安全防护 — 防止破坏性操作

使用场景

  • 在生产系统上工作时
  • 代理以全自动模式运行时
  • 希望将编辑限制在特定目录时
  • 敏感操作期间(迁移、部署、数据变更)

工作原理

三种保护模式:

模式 1:谨慎模式

在执行破坏性命令前进行拦截并发出警告:

已监控的模式:- rm -rf(特别是 /、~ 或项目根目录)- git push --force- git reset --hard- git checkout .(丢弃所有更改)- DROP TABLE / DROP DATABASE- docker system prune- kubectl delete- chmod 777- sudo rm- npm publish(意外发布)- 任何带有 --no-verify 的命令

检测到时:显示命令功能、请求确认、建议更安全的替代方案。

模式 2:冻结模式

将文件编辑锁定到特定目录树:

/safety-guard freeze src/components/

任何在 src/components/ 之外的写入/编辑操作都会被阻止并附带说明。适用于希望代理专注于某个区域而不触及无关代码的场景。

模式 3:守护模式(谨慎+冻结组合)

双重保护同时生效。为自主代理提供最高安全性。

/safety-guard guard --dir src/api/ --allow-read-all

代理可读取任何内容,但仅能写入 src/api/。破坏性命令在所有位置均被阻止。

解锁

/safety-guard off

实现方式

通过 PreToolUse 钩子拦截 Bash、Write、Edit 和 MultiEdit 工具调用。在执行前根据活动规则检查命令/路径。

集成方案

  • 默认在 codex -a never 会话中启用
  • 配合 ECC 2.0 的可观测性风险评分
  • 所有被阻止的操作记录至 ~/.claude/safety-guard.log

来源与署名

来源:affaan-m/ECC位于docs/zh-CN/skills/safety-guard提交ef648e0

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架