mcpField
D
dangerous-action-guard

dangerous-action-guard

github.com/archieindianAgent 工作流7351 次安装26 周前更新
代码仓库

关于 dangerous-action-guard

dangerous-action-guard 是一项技能,要求在执行不可逆或影响重大的操作前取得用户明确确认,并将确认、拒绝和过期的审批记录到审计日志。

主要功能

  1. 01在列出的危险操作前暂停
  2. 02说明影响范围和可逆性
  3. 03仅接受明确确认
  4. 04确认在五分钟后过期
  5. 05将结果写入审计日志

适用场景

  1. 01防止未经确认删除文件
  2. 02发送外部消息前核实审批
  3. 03记录生产环境或财务操作的决策

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/archieindian/openclaw-superpowers --skill dangerous-action-guard

安装后在 Claude Code 中输入/dangerous-action-guard确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

audit.py
example-state.yaml
STATE_SCHEMA.yaml

详细介绍

dangerous-action-guard

执行任何不可逆或影响重大的操作前,先暂停并征得用户明确确认。将每项已确认和已拒绝的操作记录到审计日志中。

危险操作类别

类别示例
文件销毁rm -rf、unlink、删除文件、清空废纸篓、清除目录
Git 破坏性操作git push --force、git reset --hard、git clean -f、git branch -D
外部消息发送发送电子邮件、在 Slack/Teams/Discord 上发帖、发布社交媒体帖子、回复所有人
财务操作确认购买、提交付款、执行交易、取消订阅
凭据操作轮换/删除 API 密钥、修改 OAuth 应用、更改密码
基础设施操作部署到生产环境、删除数据库、终止服务实例
权限变更共享文档、更改访问控制、将资源设为公开

确认流程

即将执行危险操作时:

步骤 1 — 执行前暂停 暂不执行操作。将该操作写入状态中的 pending_action,并设置 5 分钟的过期时间。

步骤 2 — 向用户说明 告知用户:

  • 即将执行的操作(确切命令或操作内容)
  • 受影响的对象(文件、人员、系统)
  • 操作是否可逆,以及如何撤销(如果可以)

步骤 3 — 等待明确确认 只接受明确无歧义的肯定答复:“是”“继续”“已确认”“执行吧”“进行操作”。 不要根据“也许”“我想是吧”“我猜可以”或任何其他含糊答复继续操作。

步骤 4 — 在有效期内执行 如果用户确认,请在 5 分钟内执行。如果会话已过期或用户不再活跃,请重新确认。

步骤 5 — 记入审计日志 将以下信息写入状态:操作、时间戳、用户的确认措辞、结果(已执行 / 已拒绝 / 已过期)。

确认有效期

确认在 5 分钟后过期。如果在收到确认超过 5 分钟后才执行危险操作,请向用户重新确认。之前会话中的过期确认不再有效。

批量操作

对于批量操作(例如“删除所有临时文件”),确认前应列出具体项目和数量 — 切勿在未展示操作范围的情况下确认批量操作。如果范围超过 10 项,请展示前 5 项和总数量。

审计日志

每项操作 — 无论已确认还是已拒绝 — 都会记录到状态中。使用 python3 audit.py --history 查看完整记录。对于有争议的操作,审计日志是用户的安全保障。

评论

支持 Markdown