名称: skill-guard
描述: 在安装前扫描 ClawHub 技能是否存在安全漏洞。在从 ClawHub 安装新技能时使用,以检测提示词注入、恶意软件载荷、硬编码密钥和其他威胁。通过 mcp-scan 预检包裹 clawhub install 命令。
ClawHub 技能唯一的预安装安全门。
| VirusTotal (ClawHub 内置) | skillscanner (Gen Digital) | skill-guard | |
|---|---|---|---|
| 运行时机 | 发布后 (服务端) | 按需查询 | 安装前 (客户端) |
| 检查内容 | 恶意软件特征码 | 其数据库 | 实际技能内容 |
| 提示词注入 | ❌ | ❌ | ✅ |
| 数据外泄 URL | ❌ | ❌ | ✅ |
| 隐藏指令 | ❌ | ❌ | ✅ |
| AI 特定威胁 | ❌ | ❌ | ✅ |
| 阻止安装 | ❌ | ❌ | ✅ |
VirusTotal 能捕获已知的恶意软件二进制文件——但不会标记 <!-- 忽略之前的指令 --> 这类内容。
skillscanner 检查 Gen Digital 是否已审核该技能——但无法扫描新的或更新的技能。
skill-guard 使用 mcp-scan(Invariant Labs 开发,已被 Snyk 收购)来分析技能的实际内容,捕获 AI 特定威胁,并在发现问题时阻止安装。
技能可能包含:
- 🎭 提示词注入 —— 隐藏的“忽略之前指令”攻击
- 💀 恶意软件载荷 —— 伪装成自然语言的危险命令
- 🔑 硬编码密钥 —— 明文中的 API 密钥、令牌
- 📤 数据外泄 —— 泄露你的对话、记忆、文件的 URL
- ⛓️ 有害流程 —— 导致连锁有害操作的指令
一个恶意技能 = 代理被攻陷。 你的代理会无条件信任技能。
# 替代命令:clawhub install some-skill
./scripts/safe-install.sh some-skill
skill-guard 的工作流程:
1. 下载到暂存区 (/tmp/) —— 绝不接触你真实的技能文件夹
2. 使用 mcp-scan 扫描 —— Invariant/Snyk 为 AI 代理开发的安全扫描器
3. 阻止或安装 —— 干净的技能会被安装,威胁会被隔离
真实示例 —— skill-guard 标记了这个恶意技能:
● [E004]: 检测到提示词注入 (高风险)
● [E006]: 检测到恶意代码模式
● [W007]: 不安全的凭据处理
● [W008]: 尝试破坏机器状态
● [W011]: 第三方内容暴露
VirusTotal 结果:0/76 引擎报毒。mcp-scan 抓住了杀毒软件遗漏的威胁。
# 安全安装 (推荐)
./scripts/safe-install.sh <技能别名>
# 指定版本
./scripts/safe-install.sh <技能别名> --version 1.2.3
# 强制覆盖
./scripts/safe-install.sh <技能别名> --force
| 代码 | 含义 | 操作 |
|---|---|---|
0 |
干净 | 技能已安装 ✓ |
1 |
错误 | 检查依赖/网络 |
2 |
发现威胁 | 技能已隔离在 /tmp/,请在决定前审查 |
技能会保留在 /tmp/skill-guard-staging/skills/<别名>/(隔离区)。你可以:
1. 审查 —— 阅读扫描输出,检查文件
2. 强制安装 —— mv /tmp/skill-guard-staging/skills/<别名> ~/.openclaw/workspace/skills/
3. 丢弃 —— rm -rf /tmp/skill-guard-staging/
clawhub CLI —— npm i -g clawhubuv —— curl -LsSf https://astral.sh/uv/install.sh | sh你的代理可以访问你的文件、消息,甚至可能是你的整个机器。一个恶意技能可以:
- 读取你的密钥并发送到别处
- 永久修改你代理的行为
- 利用你的身份传播到其他系统
信任,但要验证。 安装前请先扫描。