Yoder Skill Auditor
2026-03-27
新闻来源:网淘吧
围观:23
电脑广告
手机广告
Skill Auditor v3.1.0
OpenClaw/ClawHub技能的首选安全扫描器。在涵盖18项安全检查的检测中表现卓越,包括提示注入检测——首个能捕捉技能文档中代理操控攻击的扫描器。提供五维信任评分、趋势追踪、差异分析和基准测试。对合法技能实现零误报。
何时启用
- 安装新技能时从ClawHub安装 - 运行
inspect.sh进行全面安装前验证 - 审计现有技能时- 使用
audit.sh扫描任意技能目录 - 生成信任评分时- 使用
trust_score.py获取涵盖5个维度的0-100评分 - 比较技能时- 使用
trust_score.py --compare进行并列分析 - 追踪改进- 使用
trust_score.py --save-trend以监控分数随时间的变化 - 审查更新- 使用
diff-audit.sh来比较更新前后的版本 - 批量扫描- 使用
audit-all.sh或benchmark.sh进行全舰队分析
快速入门
# Audit a single skill
bash audit.sh /path/to/skill
# Trust score (0-100 across 5 dimensions)
python3 trust_score.py /path/to/skill
# Compare two skills side by side
python3 trust_score.py /path/to/skill1 --compare /path/to/skill2
# Track score over time
python3 trust_score.py /path/to/skill --save-trend
python3 trust_score.py /path/to/skill --trend
# Diff audit (before/after update)
bash diff-audit.sh /path/to/old-version /path/to/new-version
# Benchmark against a corpus
bash benchmark.sh /path/to/skills-dir
# Inspect a ClawHub skill before installing
bash inspect.sh skill-slug
# Audit all installed skills
bash audit-all.sh
# Generate a markdown report
bash report.sh
# Run test suite (28 assertions)
bash test.sh
防护措施/反模式
应做事项:
- ✓ 在从未知来源安装技能前,务必进行审计
- ✓ 审查信任分数 - 拒绝分数低于60(D级)的技能
- ✓ 使用
diff-audit.sh在更新技能时,以捕捉回归问题 - ✓ 使用
--json用于CI/CD管道集成的输出 - ✓ 运行
--save-trend定期执行以跟踪技能健康状况
不要:
- ✗ 安装评分低于40分(F等级)的技能,除非经过广泛的人工审查
- ✗ 忽略CRITICAL级别的发现项——它们表明存在潜在的安全威胁
- ✗ 在不理解技能为何访问凭证的情况下,盲目将其添加到允许列表中
- ✗ 因为某个技能“流行”或“官方”就跳过审计
安全检查(共18项)
| # | 检查项 | 严重性 | 描述 |
|---|---|---|---|
| 1 | credential-harvest | CRITICAL | 脚本读取API密钥/令牌并同时发起网络调用 |
| 2 | exfiltration-url | CRITICAL | 脚本中出现webhook.site、requestbin、ngrok等URL |
| 3 | 混淆负载 | 严重 | Base64编码的URL或shell命令 |
| 4 | 敏感文件系统 | 严重 | 访问/etc/passwd、~/.ssh、~/.aws/credentials |
| 5 | 加密货币钱包 | 严重 | 硬编码的ETH/BTC钱包地址(资金窃取攻击) |
| 6 | 依赖混淆 | 严重 | 公共依赖中的内部/私有作用域包 |
| 7 | 域名抢注 | 严重 | 拼写错误的包名(例如lodahs、requets等) |
| 8 | 符号链接攻击 | 严重 | 指向敏感系统路径的符号链接 |
| 9 | 代码执行 | 警告 | eval()、exec()、子进程模式 |
| 10 | 定时炸弹 | 警告 | 可能触发延迟载荷的日期/时间比较 |
| 11 | 遥测检测 | 警告 | 分析SDK、跟踪像素、回传行为 |
| 12 | 过度权限 | 警告 | 请求超过15个二进制/环境/配置项 |
| 13 | 非常规端口 | 警告 | 对非标准端口的网络调用 |
| 14 | 提示注入 | 严重 | 文档中的代理操控:"忽略指令"、角色劫持、隐藏HTML指令 |
| 15 | 下载执行 | 严重 | curl|bash、wget|sh、eval $(curl)、不安全的pip/npm安装 |
| 16 | 隐藏文件 | 警告 | 可能隐藏恶意内容的可疑点文件 |
| 17 | 环境变量泄露 | 严重 | 读取敏感环境变量 + 出站网络调用 |
| 18 | 权限提升 | 严重 | sudo、chmod 777/setuid、写入系统路径 |
上下文感知:文档中提及凭据属于信息级别,而非严重级别。
信任评分(5个维度)
| 维度 | 最大值 | 衡量内容 |
|---|---|---|
| 安全性 | 35 | 审计发现(严重问题 = -18,警告 = -4) |
| 质量 | 22 | 描述、版本、使用文档、示例、元数据、变更日志 |
| 结构 | 18 | 文件组织、测试、README、合理范围 |
| 透明度 | 15 | 许可证、无压缩代码、代码注释 |
| 行为 | 10 | 速率限制、错误处理、输入验证 |
等级:A(90+)、B(75+)、C(60+)、D(40+)、F(<40)
比较评分
python3 trust_score.py /path/to/skill-a --compare /path/to/skill-b
显示各维度的差异和总分差异。
趋势跟踪
python3 trust_score.py /path/to/skill --save-trend # Record score
python3 trust_score.py /path/to/skill --trend # View history
在trust_trends.json中,每项技能最多存储50个条目。
工具
| 文件 | 用途 |
|---|---|
| audit.sh | 单项技能安全审计(18项检查) |
| audit-all.sh | 批量扫描所有已安装技能 |
| trust_score.py | 信任度评分计算器(五维指标,0-100分) |
| diff-audit.sh | 对比技能版本以检测安全回归问题 |
| benchmark.sh | 全量语料库审计及聚合统计 |
| inspect.sh | ClawHub预安装工作流 |
| report.sh | Markdown报告生成器 |
| test.sh | 自动化测试套件(28项断言,12个测试技能) |
| allowlist.json | 已知安全的凭证类技能清单 |
测试套件
12个测试技能(8个恶意样本,4个清洁样本)包含28项自动化断言:
bash test.sh
恶意测试用例:凭据收集、混淆的载荷、敏感文件系统读取、加密货币钱包、时间炸弹、符号链接攻击、提示注入、下载并执行、权限提升。 良性测试用例:基础技能、凭据文档(误报检查)、网络技能、配置文件技能。
退出代码
- 0:通过 / 可安全安装
- 1:需审查 / 发现警告
- 2:失败 / 关键问题
- 3:错误 / 输入无效
更新日志
完整版本历史请参见CHANGELOG.md 文件。 for full version history.
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~