AgentGuard 代理操作安全防护
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的安装指南,为当前 AI 助手安装 @user_3c6cb52e/block-unsafe-agent-actions-and-scan-newly-added-skills-with-agentguard 技能。
技能介绍
问题:代理执行的副作用不再可控
当 Agent 能够自主运行 shell 命令、读写本地文件、访问网络时,一次被污染的提示词或一个来源不明的技能,就足以让它执行 rm -rf、把 SSH 私钥发到外部地址,或者在 0.0.0.0 上暴露 Redis、Docker API、MySQL 这类危险端口。问题在于,这些动作往往发生在工具调用层面,上游模型只看到函数名和参数,很难判断一条命令到底是不是危险。AgentGuard 要解决的就是这一点:在代理操作真正落地之前设置一道运行时闸门。
工作方式:运行时拦截 + 新技能审计
核心是一个运行时保护器,它挂在代理操作钩子之后,对每一条待执行的命令做评估,命中危险模式(破坏性命令、密钥外泄、敏感文件读取等)时直接阻止。与此同时,AgentGuard 会对新加入的技能做事前扫描,在技能被运行之前完成审计。
具体能力包括:
- 操作拦截:阻止危险命令执行与密钥泄露
- 8 项安全检查:按可配置计划运行(
cron/ 开机时触发) - 端口与网络检测:识别绑定到
0.0.0.0的危险端口(Redis、Docker API、MySQL 等),检查防火墙状态,标记可疑的出站连接 - 技能扫描:扫描
skills目录,将匹配结果报告回来
适用边界
这套方案的巡逻模式依赖本地 OpenClaw 网关(127.0.0.1:18789)。如果你的运行时是 Claude Code 或其他非 OpenClaw 环境,巡逻功能不可用,需要改用 /agentguard scan 与 /agentguard report 做手动安全检查。此外,前提是环境里有 Node.js、可用的代理运行时、本地技能目录和操作钩子;如果攻击者直接绕过钩子执行,这层防护同样无法覆盖。
使用场景
- 给 Claude Code 等代理挂上操作钩子后,需要拦下模型发起的 rm -rf 等破坏性命令
- 从第三方仓库克隆新技能进 skills 目录,想在它首次运行前完成安全审计
- 服务器上跑着 Redis、Docker API,担心被绑定到 0.0.0.0,需要定期检查端口与防火墙状态
- 在 OpenClaw 环境部署巡逻任务,希望按 cron 定时扫描技能目录并把结果报告回来
适合人员
- 代理应用开发者:自建工具调用层,想拦掉模型发起的危险命令与密钥泄露
- Agent 平台运维:需要在 cron 或开机时自动扫描新技能并接收审计报告
- 安全工程师:排查内网中 Redis、Docker API 等端口暴露与可疑出站连接
- 技能作者:把新技能提交进 skills 目录前,想先跑一遍安全检查再上线