Skip to content

Safety Guard Skill 是 Everything Claude Code 针对生产环境和自主 Agent 场景设计的安全防护工具。它通过三种模式(Careful、Freeze、Guard),在 Bash 命令、文件写入、编辑等操作前拦截高危行为,防止 rm -rf、DROP TABLE、git push --force 等破坏性指令误操作或被 AI 自动化流程误触发。Skill 支持目录写入限制、操作日志记录,并可与 Hooks、Agent 风险评分等体系协同,是保障 AI 编程助手安全落地的关键组件。

Everything Claude Code Safety Guard Skill:在生产操作和自主 Agent 运行前阻止破坏性操作

在使用 Claude Code、Codex、Cursor 等 AI 编程助手进行生产级自动化开发时,安全始终是第一要务。尤其是当 Agent 具备自主执行能力(如自动修复、批量重构、自动部署等),一条误操作的命令可能导致数据丢失、服务中断甚至不可逆的损失。Safety Guard Skill 正是为此场景而生:它通过多层次防护机制,帮助开发者和团队在 AI 赋能的高效率与生产安全之间取得最佳平衡。

Safety Guard Skill 能解决什么问题?

在没有 Safety Guard Skill 的情况下,AI Agent 或助手在自动化流程中可能会:

  • 误执行高危命令(如 rm -rf /DROP TABLEgit push --force 等),导致数据或代码不可恢复
  • 在错误的目录范围批量修改、删除文件,影响项目稳定性
  • 在生产环境下直接发布、重置、清除关键资源,造成业务中断
  • 缺乏操作日志与审计,事后难以追溯风险来源

而 Safety Guard Skill 通过“拦截-确认-限制-记录”四步机制,将这些风险降到最低。它不仅适用于开发者手动操作,更是自主 Agent、自动化流水线、CI/CD 任务的安全守门员。

触发条件与防护模式

Safety Guard Skill 支持三种核心防护模式,满足不同场景下的安全需求:

1. Careful Mode(细致防护模式)

适用场景:日常开发、生产环境操作、Agent 自动化执行前

  • 机制:在执行高危 Bash 命令或数据库操作前自动拦截,详细展示命令意图,要求用户确认,并给出更安全的替代方案。

  • 典型拦截指令

    • 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 的命令

触发示例

bash
# AI Agent 试图执行危险命令
rm -rf /

输出示例

⚠️ 检测到高危操作:rm -rf /
此命令将递归删除根目录,极易导致系统不可用!
请确认是否继续?(yes/no)
建议替代方案:请指定更具体的路径,或使用 --dry-run 先行验证。

2. Freeze Mode(目录写入冻结模式)

适用场景:限制 Agent 只在特定目录下写入/编辑,防止波及无关代码

  • 机制:通过命令指定允许写入的目录树,所有写入/编辑操作必须在该范围内,超出即被拦截并给出解释。
  • 典型用法
bash
/safety-guard freeze src/components/

效果:Agent 仅能在 src/components/ 目录下修改文件,其他目录写入全部被阻止。

输出示例

❌ 拒绝写入:/src/utils/helper.ts
仅允许在 src/components/ 目录下编辑,当前操作已被拦截。

3. Guard Mode(全防护模式)

适用场景:自主 Agent、无人值守自动化、关键生产任务

  • 机制:结合 Careful + Freeze 双重保护,既拦截高危命令,也强制目录写入范围,最大化安全性。
  • 典型用法
bash
/safety-guard guard --dir src/api/ --allow-read-all

效果:Agent 可读取任意目录,但只能在 src/api/ 下写入,且所有高危命令全局拦截。

输出示例

⚠️ 检测到危险命令:git push --force
❌ 操作已被阻止。请使用普通 git push 或联系管理员解除限制。

4. 解除保护

当需要临时关闭所有防护时,可用:

bash
/safety-guard off

注意:关闭后所有写入、命令操作将不再受限,请谨慎使用。

Step by Step:实际项目中的用法指南

  1. 在生产环境或自动化流程前激活 Safety Guard

    推荐在 .claude/ 配置、Agent 启动脚本或 CI/CD 前置 Hook 中加上:

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

    这样无论是人机混合操作还是全自动 Agent,都能获得最高级别的安全防护。

  2. 限制 AI 只编辑指定目录

    只需:

    bash
    /safety-guard freeze src/pages/

    适合多 Agent 协作、代码分区治理等场景,防止误改核心模块。

  3. 敏感操作时自动拦截高危命令

    无需额外配置,Careful Mode 默认启用。AI 生成的 Bash、SQL、Git 等命令只要命中高危规则,都会被拦截并要求人工确认。

  4. 查看和审计被拦截的操作

    所有被阻止的命令和写入尝试,都会记录到:

    ~/.claude/safety-guard.log

    便于事后回溯和安全审计。

  5. 与其他安全体系协作

    Safety Guard Skill 可与 Everything Claude Code Hooks 集成,基于 PreToolUse 事件实现实时拦截;也支持与 ECC 2.0 的风险评分体系联动,对高风险操作动态调整防护等级。配合 AgentShield 防御体系 可实现端到端的 AI 编程安全闭环。

输出示例

1. 高危命令拦截

检测到危险命令:DROP DATABASE production;
❌ 操作已被阻止。请确认是否为预期操作,并考虑备份后再执行。

2. 非法目录写入拦截

尝试写入 /config/settings.yaml 被拒绝。仅允许在 src/config/ 目录下编辑。

3. 解锁操作反馈

Safety Guard 已关闭,所有操作恢复正常。请确保当前环境安全!

常见配套 Agent 与 Skill 协作关系

常见问题与注意事项

Q: Safety Guard Skill 会影响开发效率吗? A: 日常开发下只拦截高危操作,绝大多数正常命令不受影响。对于自动化 Agent,Freeze/Guard 模式可定向放行指定目录,安全与效率兼得。

Q: 如何自定义高危命令或写入规则? A: 当前版本以内置规则为主,高危命令可通过配置文件扩展,未来将支持更细粒度的自定义策略。

Q: 被拦截的操作如何恢复或强制执行? A: 可通过人工确认、调整目录范围或临时关闭 Safety Guard 实现,但建议仅在充分评估风险后操作,并保留完整审计日志。


通过合理配置和集成 Safety Guard Skill,开发者可以放心地将 AI 编程助手应用于生产环境和复杂自动化场景,最大限度减少因误操作或 Agent 失控带来的安全风险。更多生产级 AI 编程安全实践,可参考 Everything Claude Code 完全指南AI 编程助手安全指南