关于 dangerous-action-guard
dangerous-action-guard 是一项技能,要求在执行不可逆或影响重大的操作前取得用户明确确认,并将确认、拒绝和过期的审批记录到审计日志。
主要功能
- 01在列出的危险操作前暂停
- 02说明影响范围和可逆性
- 03仅接受明确确认
- 04确认在五分钟后过期
- 05将结果写入审计日志
适用场景
- 01防止未经确认删除文件
- 02发送外部消息前核实审批
- 03记录生产环境或财务操作的决策
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ archieindian/ openclaw-superpowers --skill dangerous-action-guard安装后在 Claude Code 中输入/dangerous-action-guard确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
audit.pyexample-state.yamlSTATE_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