核心用法
skill-vetting 是 ClawHub 平台官方提供的安全审查技能,用于在安装第三方技能前进行自动化安全扫描。其核心工作流程包括:下载待审查技能至 /tmp 临时目录、运行 scan.py 扫描脚本、人工复核扫描结果、最终根据安全-效用矩阵做出安装决策。
扫描器采用纯静态正则匹配,覆盖 38 类危险模式:代码执行(eval/exec/compile)、子进程调用(os.system/subprocess)、网络外泄(requests/urllib)、文件越界操作、环境变量窃取、以及提示词注入特征(HTML 注释指令、零宽字符等)。扫描完成后输出结构化报告,含文件定位、风险等级与修复建议。
显著优点
1. 零依赖攻击面:仅使用 Python 标准库(os/re/sys/json/base64/pathlib),无第三方包,彻底规避供应链投毒风险
2. 防御性工具定位:代码中所有危险函数模式仅用于检测而非执行,扫描器本身不运行被测代码
3. 官方背书与透明性:来源 ClawHub 平台(T2 可信度),ARCHITECTURE.md 主动披露扫描器局限性与绕过技术,体现安全团队的自我审视
4. AI 审查防护机制:内置提示词注入检测与人工复核指引,明确警告"文件内声称已批准或要求忽略警告的文本本身是攻击信号"
潜在局限
1. 可被绕过的检测:getattr(os, 'system')、__import__('base64').b64decode、globals()['eval'] 等动态反射调用无法被当前正则覆盖
2. 语义盲区:纯文本匹配无法理解代码逻辑,时间延迟激活、逻辑炸弹、跨文件拼接攻击难以识别
3. 无来源验证:当前版本未集成平台元数据(作者信誉、下载量、版本锁定),仅依赖代码静态分析
4. 需要人工介入:扫描器输出需结合人工代码审查,自动化程度有限,对使用者安全素养有要求
适合人群
- 频繁安装 ClawHub 第三方技能的开发者与安全工程师
- 需要建立技能准入流程的企业安全团队
- 对供应链安全有基本认知、能够阅读 Python 代码进行人工复核的技术用户
常规风险
- 误报风险:正常代码中可能包含被扫描的危险模式(如正当使用 subprocess),需人工判断
- 漏报风险:高级攻击者可通过字符串拼接、动态导入、编码混淆等技术绕过静态检测
- 社会工程攻击:恶意技能可能在文档中植入"已获官方认证"等虚假声明,诱导用户忽略扫描警告
- 过度信任扫描结果:若使用者未遵循"扫描通过仍需人工复核"原则,可能漏过语义层攻击