开源工具 Danger Guard:为 AI 代理加装「危险指令拦截」防护
开发者推出开源工具 Danger Guard,可拦截 AI 代理执行 rm -rf 等高危命令,支持多平台与多种 AI…
随着 Claude Code、Codex、Cursor 等 AI 编码代理获得直接执行 shell 命令的权限,其背后的安全风险也日益突出。一旦用户的即时通讯账号(飞书、Telegram、Discord、WhatsApp 等)被入侵,攻击者便可能向 AI 发送「删除所有文件」「格式化硬盘」之类的指令,从而借助 AI 完成系统级破坏。针对这一痛点,开发者 Thomaszhou22 在 GitHub 开源了一款名为 Danger Guard 的安全防护工具。
核心思路
Danger Guard 的定位很直接:在 AI 代理与操作系统之间加一层「拦截网」。当 AI 发出命令时,工具会先判断其危险等级,对高危操作强制要求用户输入 sudo 密码进行二次验证,并支持失败锁定与告警通知。密码仅以 SHA256 哈希形式存储,明文不落盘。
工具同时提供 AI Agent 层(拦截来自聊天平台的指令)与系统 Shell 层(可选开启,拦截全部终端命令)两层防护,用户可以根据使用场景灵活选择。
危险指令分级
Danger Guard 把拦截规则划分为两层:
Tier 1:始终拦截,需密码验证
- 文件系统破坏:
rm -rf /、rm -rf ~、mv / /dev/null、format C:等 - 磁盘操作:
dd if=/dev/zero of=/dev/sda、mkfs.*、diskpart clean - 权限滥用:
chmod -R 777 /、sudo /bin/bash - 系统破坏:fork bomb、
shutdown、kill -9 -1、history | sh - 远程执行:
curl ... | sh、wget ... | bash、powershell iwr ... | iex
Tier 2:拦截并要求二次确认
- Git:
git push --force、git reset --hard、git clean -fdx、git branch -D - Docker:
docker system prune -a --volumes、docker volume prune -f - SQL:
DROP TABLE、DROP DATABASE、TRUNCATE TABLE、无WHERE的DELETE/UPDATE
此外,工具内置语义识别能力,可同时识别中英文自然语言指令,例如「删除所有文件」「格式化硬盘」「重置系统」等。
平台与工具适配
Danger Guard 通过不同的配置文件适配主流 AI 编码工具:
- OpenClaw:安装至
~/.openclaw/skills/ - Claude Code:复制
settings.json与CLAUDE.md - OpenAI Codex:写入项目根目录
AGENTS.md - Cursor / Windsurf / GitHub Copilot:写入
.cursorrules - 系统级 Shell:安装
~/.local/bin/danger-guard脚本 - Git Hooks:复制
pre-push至.git/hooks/
告警通道同样覆盖飞书、Telegram、Discord、WhatsApp、Signal、Slack 等多种即时通讯平台,并可选邮件通知(支持 macOS 原生邮件、Windows PowerShell 与 Resend API 三种方式,免费额度为每月 3000 封)。
应急协议与白名单
如果用户怀疑账号已失陷,可在对话中发送「account-hacked」或「账号被盗」,工具会立即记录最近 50 条命令到 memory/security-breach-YYYY-MM-DD.md,停止所有后台任务并发送紧急告警。配置文件中还允许设置白名单,例如 /tmp/、回收站、git clean、git reset(版本回退)等可跳过拦截。
从功能覆盖看,Danger Guard 的设计较为完整,既考虑了命令层面的模式匹配,也兼顾了自然语言层面的语义判断。但作为一项个人维护的开源项目,其规则库的完备性、对抗绕过能力、以及长期维护节奏,仍有待社区与时间检验。对 AI 代理重度用户而言,它提供了一个轻量、可立即上手的纵深防御选项。
