skill-auditor

🛡️ AI技能供应链安全审计专家

开发榜 #35

基于静态分析与AST数据流追踪的专业安全扫描器,通过40+威胁模式检测和语义分析,为OpenClaw生态提供零依赖的实时恶意代码防护。

收藏
18.6k
安装
4.2k
版本
v2.1.3
CLS 安全性认证2026-05-15
点击查看完整报告 >

使用说明

核心用法

skill-auditor 是一款专为 OpenClaw/Claude 生态设计的多层安全扫描工具,提供从基础到高级的完整检测能力。核心功能基于零依赖的静态模式分析,通过正则表达式检测 40+ 种威胁模式,包括提示词注入、数据外泄、敏感文件访问、路径遍历等。用户可通过 node scripts/scan-skill.js <skill-directory> 立即扫描本地技能,或使用 scan-url.js 直接审计 GitHub 仓库而无需克隆。

进阶用法包含三大可选模块:Python AST 数据流分析可追踪跨函数的敏感数据流动(如环境变量→网络请求);VirusTotal 集成支持对二进制文件进行 70+ 引擎的恶意软件检测;LLM 语义分析则通过 AI 判断检测到的行为是否与技能描述相符,有效降低误报。输出格式支持 JSON、SARIF(兼容 GitHub Code Scanning)及可视化报告,可无缝集成到 CI/CD 流水线实现自动化安全门禁。

显著优点

零依赖开箱即用:核心扫描器仅依赖 Node.js 内置模块,无需安装即可在所有平台运行,极大降低了使用门槛。多层检测架构:从静态正则、AST 数据流、病毒扫描到语义理解,提供纵深防御能力,且所有高级功能均为 opt-in,用户完全掌控功能边界。生态原生集成:深度理解 OpenClaw 特性,专门检测 MEMORY.md 操作、session 工具滥用、Node 设备访问等生态特定风险。企业级集成:原生支持 SARIF 格式,可直接上传至 GitHub Security tab,支持 --fail-on-findings 实现自动化阻断。

潜在缺点与局限性

来源可信度限制:当前为 T3 级个人开发者(rubenaquispe)维护,虽代码开源可审计,但缺乏知名基金会或安全公司的背书。高级功能配置成本:AST 分析需安装 Python 和 tree-sitter;VirusTotal 需申请 API Key;LLM 分析依赖 OpenClaw 网关运行,这些都会增加使用复杂度。检测能力边界:对全新的未知攻击技术(Novel obfuscation)或高度混淆的代码可能漏报;Python AST 目前仅支持基础数据流追踪,跨语言分析能力有限。性能与频率限制:VirusTotal 免费版限 500 次/天;大型技能仓库的递归扫描可能耗时较长。

适合的目标群体

技能开发者:在发布前自检代码安全性,避免意外引入敏感操作。平台管理员:定期审计 audit-installed.js 扫描已安装的全部技能,防范供应链攻击。DevOps 工程师:将扫描步骤嵌入 GitHub Actions,实现 PR 阶段的自动化安全审查。安全意识强的终端用户:在安装第三方技能前进行快速风险评估,尤其适合处理敏感数据的企业环境。

使用风险

代码执行风险scan-url.js 第 21 行使用 eval() 解析本地 PATTERNS 数组,虽数据来源为内置可信文件,但仍构成潜在攻击面。权限要求:作为安全扫描工具,必须访问文件系统读取被测技能内容,在极端情况下若被测技能包含特殊构造的硬链接或符号链接,可能引发路径遍历(尽管已做防护)。外部依赖风险:启用 LLM 分析时需连接外部网关,存在数据泄露至 AI 服务的风险;VirusTotal 扫描会将文件哈希上传至云端。局限性认知:该工具仅为防御层之一,无法替代人工代码审查,对于零日攻击或逻辑后门检测能力有限,高敏感环境需结合其他安全工具使用。

安全解读

Skill Auditor v2.1 安全评估

核心功能

Skill Auditor 是一款专为 OpenClaw 生态设计的深度安全扫描工具,提供多层次的技能代码审计能力。其核心功能包括:

1. 静态模式分析:基于正则表达式检测40+种威胁模式,覆盖提示词注入、数据外泄、敏感文件访问(如MEMORY.md)、命令执行、路径遍历、代码混淆等
2. Python AST数据流分析:追踪变量从来源(如环境变量、文件读取)到汇点(如网络请求)的执行路径,识别跨函数数据流

3. VirusTotal二进制扫描:集成70+杀毒引擎检测可执行文件恶意性

4. LLM语义分析:通过AI判断检测到的行为是否与技能描述相符,减少误报

5. SARIF输出:支持GitHub Code Scanning集成,适配CI/CD流水线

显著优点

  • 零依赖开箱即用:核心扫描功能仅需Node.js,无需额外安装
  • 多层防御架构:从静态规则到动态语义分析,形成纵深检测体系
  • 高度可配置:提供strict/balanced/permissive三种检测模式,用户可按需启用高级功能
  • 跨平台兼容:支持Windows、macOS、Linux,tree-sitter提供预编译wheel
  • CI/CD友好:SARIF格式输出、--fail-on-findings退出码控制,便于自动化集成
  • 风险可视化:彩色编码风险等级(🚨CRITICAL至✅CLEAN),附带详细统计和可读报告

潜在局限

  • 静态分析盲区:新型混淆技术、高级提示词注入可能逃逸基于正则的检测
  • Python AST限制:仅支持Python文件,数据流分析为初级实现
  • 外部依赖瓶颈:VirusTotal免费版限500次/天;LLM分析需OpenClaw网关在线
  • 评估函数风险:scan-url.js中使用eval()提取模式,虽输入可控但属危险函数(安全认证报告RISK-001)
  • 人工审查必要:官方明确声明此为"一层防御",不能替代人工代码审查

适用人群

  • OpenClaw开发者:在发布技能前进行自我审计
  • 安全团队:企业级技能准入审查和持续监控
  • DevOps工程师:集成至CI/CD流水线实现自动安检
  • 技术审核员:对第三方技能进行来源可信度验证

常规风险

| 风险点 | 级别 | 说明 |
|--------|------|------|
| eval()使用 | Medium | scan-url.js中提取本地模式,建议改为JSON.parse |
| 子进程执行 | Low | audit-installed.js硬编码调用,无注入风险 |
| 配置目录写入 | Low | 标准路径~/.openclaw/,功能必需 |
| 外部API调用 | Low | VirusTotal/GitHub/OpenClaw网关,均已TLS加密且用途明确 |

安全认证结论

CLS-Certify v2.1.0认证显示:Grade A,Score 75/100,T2可信级别。代码行为与功能声明一致,存在低风险代码模式但整体合理,建议生产环境启用--mode strict --use-virustotal --use-llm --fail-on-findings全功能模式。

skill-auditor 内容

drafts文件夹
output文件夹
references文件夹
scripts文件夹
analyzers文件夹
utils文件夹
手动下载zip · 77.0 kB
clawhub-clean.mdtext/markdown
请选择文件