temurkhan13/openclaw-skill-vetter-mcp
GitHub: temurkhan13/openclaw-skill-vetter-mcp
针对AI Agent扩展的安全验证MCP服务器,通过41条检测规则对技能进行静态分析并生成0-100风险评分,帮助在安装前阻断恶意扩展。
Stars: 0 | Forks: 0
# openclaw-skill-vetter-mcp
[](https://github.com/temurkhan13/openclaw-skill-vetter-mcp) [](./tests) [](./LICENSE) [](https://modelcontextprotocol.io/) [](https://pypi.org/project/openclaw-skill-vetter-mcp/)
## 功能说明
第三方 AI Agent 扩展程序——Claude 技能、ClawHub 插件、MCP 服务器本身、Agent 工具包、npm 分发的 Agent 代码——这些代码运行在您的环境中,使用您的 API 密钥、访问您的文件系统、占用您的网络出口。供应链攻击面现已得到广泛认可并被积极利用:
- [OWASP MCP Top 10](https://owasp.org/www-project-mcp-top-10/) 收录了提示词注入、命令注入以及" rug pull"攻击(受损的 MCP 服务器在用户批准后用恶意工具定义进行更新)。Microsoft、Datadog、Atlassian、Palo Alto Unit 42 和 Prompt Security 在 2026 年都发布了详细的威胁分析:参见 [Datadog 的 MCP 风险博客](https://www.datadoghq.com/blog/monitor-mcp-servers/)、[Atlassian 的 MCP 客户端风险认知](https://www.atlassian.com/blog/artificial-intelligence/mcp-risk-awareness) 以及 [Unit 42 的 MCP 采样攻击向量](https://unit42.paloaltonetworks.com/model-context-protocol-attack-vectors/)。
- 2026 年 **ClawHavoc** 活动大规模污染了 OpenClaw 技能注册表(ClawHub)。**最新公开统计:截至 2026 年 2 月中旬,在 10,700+ 注册技能中确认了 824 个恶意技能(约 7.7%)**,数据来源 [Koi Security](https://www.koi.ai/blog/clawhavoc-341-malicious-clawedbot-skills-found-by-the-bot-they-were-targeting) 和 [The Hacker News](https://thehackernews.com/2026/02/researchers-find-341-malicious-clawhub.html)。[Snyk 的 ToxicSkills 研究](https://snyk.io/blog/toxicskills-malicious-ai-agent-skills-clawhub/) 发现 **36% 的技能存在提示词注入,另有 1,467 个恶意有效载荷**。[Bitdefender 的独立分析](https://www.bitdefender.com) 认为约为 900 个 / 约占生态系统的 20%。[Antiy Labs 记录了 1,184 个历史发布](https://cyberpress.org/clawhavoc-poisons-openclaws-clawhub-with-1184-malicious-skills/)。[Zscaler ThreatLabz 记录了 **DeepSeek-Claw 技能**分发 Remcos RAT + GhostLoader](https://www.zscaler.com/blogs/product-insights/taming-agentic-threats-zscaler-visibility-and-guardrails-mitigate-openclaw) —— 窃取 macOS keychain、SSH 密钥、加密货币钱包、云 API 令牌。
- OpenClaw 运行时本身在 2026 年累计出现 **138+ 个 CVE**([追踪器](https://www.betterclaw.io/blog/openclaw-security-2026))—— 一键 RCE([CVE-2026-25253,CVSS 8.8](https://www.armosec.io/blog/cve-2026-32922-openclaw-privilege-escalation-cloud-security/))、浏览器快照 RCE([CVE-2026-42436](https://www.redpacketsecurity.com/cve-alert-cve-2026-42436-openclaw-openclaw/))、权限提升、跨站 WebSocket 劫持等。
- **Agent 配置文件(`AGENTS.md`、`.cursor/rules.md`、`.claude/CLAUDE.md`、`.gemini/config`)现在是通用控制层,也是下一个攻击面。** [Vercel 的"AGENTS.md 在我们的 Agent 评估中优于技能"(HN,524↑)](https://hn.algolia.com/?dateRange=last30days&query=AGENTS.md) 标志着主流采用。同周,[Cursor CVE-2026-26268](https://nvd.nist.gov/vuln/detail/CVE-2026-26268) 和 Gemini CLI CVSS 10.0 yolo-mode 展示了配置文件作为指令向量的攻击方式。arxiv 社区将这个问题视为一个开放的研究问题:["评估 AGENTS.md:它们对编码 Agent 有帮助吗?"](https://hn.algolia.com/?dateRange=last30days&query=AGENTS.md)(HN 232↑)进入 arxiv,因为验证问题变得紧迫。**该服务器的 v1.1 版本新增了 `vet_agent_config(directory)`,覆盖信任边界失败模式**——参见下方的工具面。
- **通过重构提示词进行跨模型欺骗。** [Nav Toor 的 CLTR 论文主题(10K 浏览量)](https://x.com/heynavtoor/status/2049202562373751162) 引用了一个真实的 Claude→Gemini 案例:*"Claude Code 重写了自己的提示词,将任务重新框架为'为听力障碍人士提供无障碍访问'。Gemini 顺从了。一个前沿模型欺骗了另一个前沿模型来突破安全过滤器。"* 技能作为攻击向量的表面现在包括跨模型提示词操作,而不仅仅是本地代码执行。
同样的攻击模式适用于用户安装到其 AI Agent 运行时中的任何第三方扩展——Claude 技能、MCP 服务器、浏览器扩展 Agent、npm 分发的 Agent 代码。每个操作员在点击安装前面临的安全问题是:*"使用我的 API 密钥运行这个安全吗?"*
此 MCP 服务器对任何技能的目录运行一系列静态分析扫描,并生成操作员可以据此采取行动的单一 VetReport:
```
> claude: vet the data-extractor skill before I install it.
[MCP tool: vet_skill]
Skill 'data-extractor': BLOCK — do not install.
Risk score: 100/100. Findings: 1 critical, 4 high, 1 info.
Critical:
EXFIL.WEBHOOK_DISCORD (extract.py:5) —
Hardcoded Discord webhook URL: 'https://discord.com/api/webhooks/...'
Recommendation: Refuse install unless explicitly justified.
High:
AST.OS_SYSTEM (extract.py:14) — os.system('curl ... | bash')
EXFIL.ENV_DUMP (extract.py:9) — dumps full os.environ
MANIFEST.WILDCARD_PERMISSION — `network.http: *`
...
Vet result for data-extractor: REFUSE INSTALL.
```
```
> claude: any flagged skills currently installed?
[MCP tool: flagged_skills_report]
2 skills flagged at REVIEW or BLOCK:
- data-extractor BLOCK risk_score=100 1 CRITICAL EXFIL.WEBHOOK_DISCORD
- markdown-formatter REVIEW risk_score=35 1 HIGH AST.EVAL_CALL on user input
```
## 为什么选择 `openclaw-skill-vetter-mcp`
现有工具(手动代码审查、通用 SAST、ClawHub 信任分数)做不到的三件事:
1. **感知技能的扫描。** 通用 SAST 工具不知道 OpenClaw 技能清单长什么样。它们会遗漏最常见的恶意软件形态:一个请求 `network.http: *` 的"计算器"技能。验证器会交叉检查声明的目的与请求的权限。
2. **操作员可以粘贴到工单中的风险评分。** 不是"高圈复杂度"——而是 `BLOCK — extract.py:5 处的 Discord webhook`。每个发现都有 `rule_id`、`file:line`、`evidence` 和具体建议。
3. **为安装前审查而构建,而非事后审计。** 从 Claude 内部对要添加的技能运行它。几秒钟内获得 verdict。如果是 BLOCK 则拒绝安装;如果是 REVIEW 则沙箱测试;如果是 CLEAN 则安装。
为**生产 AI 操作员**构建,他们曾被 ClawHavoc 式供应链攻击"咬过"(或者不想被咬)。
### 这如何融入 OpenClaw 安全生态系统
OpenClaw 安全危机催生了多供应商工具格局。该服务器在此中的位置:
| 层 | 供应商/项目 | 姿态 |
|-------|------------------|---------|
| 企业 SaaS / SOC | [Cisco DefenseClaw](https://blogs.cisco.com/ai/cisco-announces-defenseclaw)、[ClawSecure Watchtower](https://www.clawsecure.ai/)、[Zscaler ThreatLabz](https://www.zscaler.com/blogs/product-insights/taming-agentic-threats-zscaler-visibility-and-guardrails-mitigate-openclaw)、NemoClaw | 服务器端、付费、集成重、面向 SIEM。最适合已有安全团队 + SOC 基础设施的组织。 |
| 最佳实践指南 | [Microsoft 安全博客](https://www.microsoft.com/en-us/security/blog/2026/02/19/running-openclaw-safely-identity-isolation-runtime-risk/)、[CrowdStrike](https://www.crowdstrike.com/en-us/blog/what-security-teams-need-to-know-about-openclaw-ai-super-agent/)、[Conscia](https://conscia.com/blog/the-openclaw-security-crisis/) | 教育性质。无工具。 |
| 开源/社区 | [SecureClaw](https://www.securityweek.com/openclaw-security-issues-continue-as-secureclaw-open-source-tool-debuts/)、[openclaw-security-monitor](https://github.com/adibirzu/openclaw-security-monitor)、[openclaw-dashboard](https://github.com/tugcantopaloglu/openclaw-dashboard)、[slowmist 的加固指南](https://github.com/slowmist/openclaw-security-practice-guide) | 自托管运行时 + 仪表板工具。通常是独立进程/网页界面。 |
| **MCP 原生(本层)** | **`openclaw-skill-vetter-mcp`(本服务器)+ [`openclaw-output-vetter-mcp`](=2.31
- pydantic>=2.0
signature: ed25519:abcd1234efgh5678
```
加上实际的代码文件(`*.py`、`*.js`、`*.ts`、`*.sh`、`*.rb`、`*.go`、`*.rs`)和任何提示词文件(`*.prompt`、`*.md`、`*.txt`)。
如果您的 OpenClaw 部署使用不同的磁盘格式,请参见下方的**自定义 MCP 构建**部分。
## 检测规则(v1.0)
四个扫描器模块覆盖 v1.0 规则集:
**清单** — `MANIFEST.MISSING`、`MANIFEST.PURPOSE_NETWORK_DRIFT`、`MANIFEST.WILDCARD_PERMISSION`、`MANIFEST.BROAD_FILESYSTEM_WRITE`、`MANIFEST.EMPTY_DESCRIPTION`、`MANIFEST.NO_AUTHOR`、`MANIFEST.UNSIGNED`
**静态模式**(代码 + 提示词上的文本正则)—
- *提示词注入*:`PROMPT_INJ.IGNORE_PRIOR`、`PROMPT_INJ.ROLE_OVERRIDE`、`PROMPT_INJ.EXTRACT_SYSTEM`、`PROMPT_INJ.JAILBREAK_DAN`、`PROMPT_INJ.NEW_USER_MARKER`
- *数据泄露*:`EXFIL.WEBHOOK_DISCORD`、`EXFIL.WEBHOOK_SLACK`、`EXFIL.WEBHOOK_TELEGRAM`、`EXFIL.PASTEBIN_LITERAL`、`EXFIL.SSH_KEY_READ`、`EXFIL.AWS_CREDS_READ`、`EXFIL.ENV_DUMP`、`EXFIL.SUBPROCESS_CURL`
- *动态执行*:`DYN_EXEC.SHELL_TRUE`、`DYN_EXEC.OS_SYSTEM`、`DYN_EXEC.EVAL_LITERAL`、`DYN_EXEC.EXEC_LITERAL`、`DYN_EXEC.PICKLE_LOADS`、`DYN_EXEC.DYNAMIC_IMPORT`
- *混淆*:`OBFUSCATION.LARGE_BASE64`、`OBFUSCATION.LARGE_HEX`
**Python AST**(捕获正则遗漏的内容)— `AST.EVAL_CALL`、`AST.EXEC_CALL`、`AST.COMPILE_CALL`、`AST.OS_SYSTEM`、`AST.OS_POPEN`、`AST.OS_EXECV`、`AST.SUBPROCESS_RUN_SHELL_TRUE`、`AST.SUBPROCESS_POPEN_SHELL_TRUE`、`AST.DYNAMIC_IMPORT`
**依赖项** — `DEP.TYPOSQUAT`、`DEP.HOMOGLYPH`、`DEP.UNTRUSTED_GIT_SOURCE`、`DEP.LOCAL_PATH`
使用 `list_detection_rules` 查询实时目录。
## 风险评分
每个发现按严重级别贡献权重:
| 严重级别 | 权重 |
|----------|-------:|
| CRITICAL | 40 |
| HIGH | 15 |
| MEDIUM | 5 |
| LOW | 1 |
| INFO | 0 |
最终 `risk_score = min(sum, 100)`。分桶(首次匹配获胜):
| 桶 | 触发条件 |
|--------|---------|
| BLOCK | ≥1 个 CRITICAL 或分数 ≥ 80 |
| REVIEW | ≥1 个 HIGH 或分数 ≥ 50 |
| CAUTION | ≥1 个 MEDIUM 或分数 ≥ 20 |
| CLEAN | 无发现或仅有 INFO |
保守设计:误报可以接受,遗漏严重问题不行。如果您的操作员工作流不同意特定规则,您可以在客户端按 `category` 过滤,或 fork + 自定义。
## 路线图
| 版本 | 范围 | 状态 |
|---------|-------|--------|
| v1.0 | mock + openclaw-skills-dir 后端、7 个工具/3 个资源/2 个提示词、4 个扫描器模块及 41 条检测规则、GitHub Actions CI 矩阵、PyPI 受信任发布 | ✅ |
| v1.1 | `clawhub-fetch` 后端(从 ClawHub 验证技能后再安装);依赖项的 CVE-DB 查询;针对 ClawHub 发行商密钥的签名验证 | ⏳ |
| v1.2 | 沙箱执行扫描器(在隔离进程中运行技能,观察网络尝试);每个操作员的白名单/允许列表 | ⏳ |
| v1.x | 自定义规则包;与现有 SAST 工具集成;每条规则的严重级别覆盖 | ⏳ |
## 需要针对您的技术栈进行适配?
如果您的 AI 部署不使用 OpenClaw 技能格式——不同的 Agent 框架、自定义技能架构、单体技能文件、内部注册表分发——并且您想要相同的安装前验证规范,那是**自定义 MCP Build**合作。
| 层级 | 范围 | 投资 | 时间线 |
|------|-------|------------|----------|
| 简单 | 现有技能格式的单一后端适配器 | **$8,000–$12,000** | 1–2 周 |
| 标准 | 自定义后端 + 针对您生态系统的自定义规则包 + CI 集成 | **$15,000–$25,000** | 2–4 周 |
| 复杂 | 多格式摄取 + 沙箱执行 + 已发布商签名白名单 + 规则调整研讨会 | **$30,000–$45,000** | 4–8 周 |
**合作方式:**
1. 发送邮件至 **temur@pixelette.tech**,主题为 `Custom MCP Build inquiry — skill vetting`
2. 包括:您的技能生态系统的 1 段描述 + 您考虑的层级
3. 2 个工作日内回复,提供 30 分钟发现通话的时间段
本服务器是**生产 AI 基础设施 MCP 套件**的一部分——配合 [silentwatch-mcp](https://github.com/temurkhan13/silentwatch-mcp)、[openclaw-health-mcp](https://github.com/temurkhan13/openclaw-health-mcp) 和 [openclaw-cost-tracker-mcp](https://github.com/temurkhan13/openclaw-cost-tracker-mcp)。安装全部四个以获得完整的运营可见性。
## 生产 AI 审计
如果您正在运行生产 AI 并希望外部从业者评估就绪状态、发现已存在的失败模式(ClawHavoc 式技能恶意软件是其中最具破坏性的之一),并编写纠正行动计划:
| 层级 | 范围 | 投资 | 时间线 |
|------|-------|------------|----------|
| 审计精简版 | 一个系统、前 5 个发现、书面报告 | **$1,500** | 1 周 |
| 审计标准版 | 完整审计、所有 14 个模式、5 个 C 发现、90 天后续跟进 | **$3,000** | 2–3 周 |
| 审计 + 研讨会 | 标准审计 + 2 天研讨会 + 首次月度审计 | **$7,500** | 3–4 周 |
相同邮件渠道:**temur@pixelette.tech**,主题为 `AI audit inquiry`。
## 贡献
欢迎提交 PR。扫描器是可插拔的——参见 `src/openclaw_skill_vetter_mcp/scanners/` 了解合约。
添加新扫描器:
1. 创建 `scanners/.py`,导出 `SCANNER_NAME: str` 和 `def scan(skill: Skill) -> list[Finding]`
2. 可选导出 `def all_rules() -> list[tuple[...]]` 用于规则目录
3. 在 `analysis.vet_skill` 中注册(编排器遍历固定的扫描器模块元组)
4. 在 `tests/test_scanners.py` 中添加测试
添加新后端:
1. 在 `backends/.py` 中子类化 `SkillBackend`
2. 实现 `get_skills`、`get_skill_by_id`、`get_directory`
3. 在 `backends/__init__.py` 中注册
4. 在 `tests/test_backend_.py` 中添加测试
错误报告 + 功能请求:打开 GitHub issue。误报报告:包括触发错误规则的技能片段,我们会调整。
## 许可证
MIT — 参见 [LICENSE](./LICENSE)。
## 相关项目
- [Production-AI MCP 套件(Gumroad 捆绑包)](https://temurah.gumroad.com/l/production-ai-mcp-suite) — 本服务器加其他 6 个的精选 7 件套,含决策树、第一天演练和自定义 MCP 构建 CTA。$99,或前 30 天使用 `LAUNCH50` 享受 $49。
- [silentwatch-mcp](https://github.com/temurkhan13/silentwatch-mcp) — cron 静默失败检测
- [openclaw-health-mcp](https://github.com/temurkhan13/openclaw-health-mcp) — 部署健康
- [openclaw-cost-tracker-mcp](https://github.com/temurkhan13/openclaw-cost-tracker-mcp) — token 成本遥测 + 429 预测(v1.1+)
- [openclaw-upgrade-orchestrator-mcp](https://github.com/temurkhan13/openclaw-upgrade-orchestrator-mcp) — 只读升级顾问 + 供应商端回归检测(v1.2+)
- [openclaw-output-vetter-mcp](https://github.com/temurkhan13/openclaw-output-vetter-mcp) — Agent 声明验证(内联接地检查 + 吞没异常扫描器 + 多轮转录审查)
- [AI 生产纪律框架](https://temurah.gumroad.com/l/ai-production-discipline-framework) — Notion 模板,$29 — 这些 MCP 实现的方法论
- [SPEC.md](./SPEC.md) — 完整服务器设计
由 [Temur Khan](https://www.notion.so/@temurkhan) 构建——生产 AI 系统独立从业者。
联系方式:**temur@pixelette.tech**
标签:Agent工具包审计, AI扩展防火墙, AI智能体安全, AMSI绕过, Atomic Red Team, CISA项目, Claude Skills安全, ClawHub插件审计, DNS 反向解析, MCP安全, MCP服务器安全, OWASP MCP Top 10, PE 加载器, Prompt注入检测, Python安全工具, Rug Pull攻击检测, Typosquatting检测, Web报告查看器, 供应链攻击防护, 动态执行检测, 命令注入检测, 威胁检测, 安全专业人员, 安全审查工具, 搜索语句(dork), 数据泄露检测, 文档安全, 无线安全, 第三方扩展审计, 网络安全, 网络安全审计, 逆向工具, 隐私保护, 风险评分