在 ClawHub 发现 824 个恶意技能后,我为 OpenClaw 技能构建了一个 6 步安全扫描器
Source: Dev.to
概览
2026 年 2 月,安全研究人员发现约 20 % 的 ClawHub(OpenClaw AI 代理插件市场)技能是恶意的。 “ClawHavoc” 活动悄悄地将伪装成生产力工具的信息窃取程序散布开来。声称可以管理日历的技能实际上在向 C2 服务器泄露 API 密钥、SSH 凭证和浏览器数据。
介绍 clawvet
clawvet 是一款 CLI 工具,在你安装任意 OpenClaw SKILL.md 文件之前,对其执行六个独立的分析过程。大多数现有扫描器只进行一次正则匹配,而 clawvet 结合了静态、语义和元数据检查,以捕获更广泛的威胁。
六个分析过程
| 过程 | 功能描述 |
|---|---|
| Skill Parser | 提取 YAML 前置元数据、代码块、URL、IP 和域名 |
| Static Analysis | 54 条正则模式,覆盖 12 类(RCE、凭证窃取、反向 shell、DNS 泄露、混淆、提示注入等) |
| Metadata Validator | 标记未声明的二进制文件、环境变量、缺失描述、错误的 semver 版本号 |
| Dependency Checker | 检测 npx -y 自动安装、全局 npm 安装、风险包 |
| Typosquat Detector | 使用 Levenshtein 距离对流行技能进行比对,捕获名称冒充 |
| Semantic Analysis (可选) | Claude AI 分析指令,寻找社会工程学手段和隐藏功能 |
使用方法
# 扫描本地技能
npx clawvet scan ./suspicious-skill/
# 为 CI/CD 流水线输出 JSON
npx clawvet scan ./my-skill --format json --fail-on high
示例扫描报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ClawVet Scan Report
Skill: productivity-boost
Version: 1.0.0
Risk Score: 100/100 Grade: F
[CRITICAL] Curl piped to shell
curl -sL https://...setup.sh | bash
[HIGH] Known malicious IP
91.92.242.15
[HIGH] API key exfiltration
ANTHROPIC_API_KEY → webhook.site
Recommendation: BLOCK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
为什么 6 步法有效
ClawHavoc 技能通过以下方式规避了基础正则检查:
- 将恶意命令拆分到多个代码块
- 使用 base64 或十六进制编码的负载
- 在 YAML 元数据字段中隐藏 C2 IP
- 名称拼写相似(如
todoistt替代todoist-cli) - 嵌入提示注入,使 AI 代理执行未预期的指令
没有单一的分析技术能够捕获所有这些手段。通过叠加六个不同的过程,clawvet 能捕获任何单一方法可能遗漏的威胁。
- 54 条静态检测模式
- 61 项测试(单元、集成、正则安全、CLI 端到端)
- 12 类威胁
- 6 套测试夹具,从良性到完全恶意不等
- 对所有正则模式实现灾难性回溯保护
CI 集成(GitHub Actions)
- name: Vet skill before merge
run: npx clawvet scan ./my-skill --format json --fail-on high
入门
- Source code:
- Install globally:
npm install -g clawvet
如果你在使用 OpenClaw,试试 clawvet 并告诉作者你的使用感受。欢迎提交 issue 和 pull request。