Назад към всички

skill-safe-install

// Skills 安全安装工具 - 整合 Vetter 代码审查 + ClawHub 评分 + ThreatBook 沙箱扫描三层验证

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameskill-safe-install
descriptionSkills 安全安装工具 - 整合 Vetter 代码审查 + ClawHub 评分 + ThreatBook 沙箱扫描三层验证
homepagehttps://github.com/CHJ0w0/OpenClaw_Skill_safe-install
metadata[object Object]

Skills 安全安装工具

在安装任何 Skill 前自动执行三层安全检查,包括 Skill-Vetter 代码审查ClawHub 评分检查ThreatBook 沙箱扫描

快速开始

1. 配置 API Key

# 获取微步在线 API Key: https://s.threatbook.com
echo 'THREATBOOK_API_KEY=your_api_key_here' >> ~/.openclaw/.env

2. 使用安全安装

# 替代 clawhub install,自动执行完整检查
node ~/.openclaw/workspace/skills/skill-safe-install/scripts/safe-install.mjs skill-name

# 或添加别名
alias clawhub-safe='node ~/.openclaw/workspace/skills/skill-safe-install/scripts/safe-install.mjs'
clawhub-safe skill-name

安全检查流程

┌─────────────────────────────────────────────────────────┐
│              Skills 安全安装流程                         │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1️⃣  Skill-Vetter 代码审查                               │
│      ├─ 检查红旗(恶意代码模式)                          │
│      ├─ 评估来源信任层级                                 │
│      ├─ 发现极端红旗 → ❌ 禁止安装                       │
│      └─ 发现高风险 → ❓ 询问任务下达者                    │
│                                                         │
│  2️⃣  ClawHub 评分检查                                    │
│      ├─ 评分 ≥ 3.5 → ✅ 通过,继续                       │
│      └─ 评分 < 3.5 → ❓ 询问任务下达者                    │
│                                                         │
│  3️⃣  ThreatBook 沙箱扫描                                 │
│      ├─ safe → ✅ 允许安装                              │
│      ├─ suspicious → ❓ 询问任务下达者                   │
│      ├─ malicious → ❌ 禁止安装                         │
│      └─ API 失败 → ❓ 询问任务下达者                     │
│                                                         │
│  4️⃣  执行安装                                           │
│                                                         │
└─────────────────────────────────────────────────────────┘

判定标准

第一层:Skill-Vetter 代码审查

检查内容:

  • 🔴 极端红旗(直接拒绝): curl|bash, 访问 .ssh/, .aws/, eval(), 危险 rm 命令
  • 🟡 高风险(需要确认): exec(), 访问内存文件,sudo, 网络请求
  • 🟢 低风险(允许): 标准文件操作,日志记录

信任层级:

来源审查级别
官方 OpenClaw较低审查
已知作者中等审查
未知来源最高审查

第二层:ClawHub 评分检查

评分判定操作
≥ 3.5 分✅ 高评分进入沙箱扫描
< 3.5 分⚠️ 低评分❓ 必须询问任务下达者确认

第三层:ThreatBook 沙箱扫描

结果含义操作
safe安全✅ 允许安装
suspicious可疑❓ 必须询问任务下达者确认
malicious恶意❌ 禁止安装
API 失败无法访问❓ 必须询问任务下达者是否继续

决策矩阵

Vetter评分沙箱最终决策
✅ 通过≥3.5safe直接安装
✅ 通过≥3.5suspicious询问确认
✅ 通过<3.5任意询问确认
⚠️ 高风险任意任意询问确认
🚨 极端风险任意任意禁止安装
任意任意malicious禁止安装

选项

选项说明
--auto, --yes, -y自动模式(需要确认时自动询问任务下达者)
--force强制安装(跳过可疑警告)
--no-vetter跳过 Vetter 代码审查(不推荐)
--no-scan跳过沙箱扫描(不推荐)
--dry-run仅检查,不实际安装
--timeout=<秒>沙箱扫描超时时间(默认 120 秒)
--help显示帮助

退出码

退出码含义
0安装成功
1检测到恶意代码,禁止安装
2文件可疑,等待确认
3API 调用失败
4评分过低,等待确认
5用户取消安装
6Vetter 发现极端红旗

环境变量

变量必需说明
THREATBOOK_API_KEY微步在线沙箱 API Key
CLAWHUB_TOKENClawHub 认证 Token(如需要)

红旗检测规则

🚨 极端风险(直接拒绝)

  • curl ... | bash - 远程代码执行
  • wget ... | bash - 远程代码执行
  • 访问 ~/.ssh/ - SSH 密钥窃取
  • 访问 ~/.aws/ - AWS 凭证窃取
  • rm -rf / - 危险删除命令
  • 读取 /etc/passwd, /etc/shadow - 系统文件

🔴 高风险(需要确认)

  • eval() - 代码注入风险
  • exec() - 命令执行
  • 访问 MEMORY.md, USER.md, SOUL.md - 记忆文件
  • sudo - 提权操作
  • 发送数据到外部服务器

🟡 中风险(记录)

  • child_process - 子进程
  • net.connect - 网络连接
  • base64 decode - 解码操作
  • localStorage - 存储访问

🟢 低风险(允许)

  • fs 模块 - 文件操作
  • fetch HTTP 请求 - 网络请求
  • mktemp, /tmp/ - 临时文件

输出示例

成功安装

🛡️ 开始 Skills 安全安装流程
📋 检查 Skill: tavily-search

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第一步:Skill-Vetter 代码审查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👤 作者:openclaw
📅 更新时间:2026-02-20
📦 版本:1.0.0

📊 信任层级评估...
✅ 官方 OpenClaw Skill - 较低审查

📄 发现 2 个脚本文件
✅ 未发现红旗

风险等级:🟢 LOW

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第二步:ClawHub 评分检查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 评分:4.2/5.0 (高评分,通过)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第三步:ThreatBook 沙箱扫描
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📤 上传文件到沙箱...
⏳ 等待分析结果...
✅ 分析完成

📊 扫描结果:
  判定:SAFE
  威胁等级:clean
  可信度:98%

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
安全检查通过,开始安装...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ tavily-search 安装完成!

发现极端红旗

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第一步:Skill-Vetter 代码审查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📄 发现 3 个脚本文件
⚠️ 发现 2 个潜在问题:
  🚨 Curl pipe to bash (scripts/install.sh:15)
  🚨 Accessing .ssh directory (scripts/setup.js:8)

风险等级:⛔ EXTREME

🚨 发现极端危险代码,禁止安装!

红旗列表:
  🚨 Curl pipe to bash (scripts/install.sh:15)
  🚨 Accessing .ssh directory (scripts/setup.js:8)

发现高风险(v2.0 新格式)

🛡️ 开始 Skills 安全安装流程 v2.0
📋 检查 Skill: some-skill

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第一步:Skill-Vetter 代码审查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 信任层级评估...
⚠️ 未知作者 - 最高审查

📄 发现 3 个脚本文件
⚠️ 发现 3 个潜在问题:
  🔴 Use of eval() (main.js:45)
  🔴 Accessing memory files (config.js:12)
  🟡 Network module (utils.js:5)

风险等级:🔴 HIGH

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第二步:ClawHub 评分检查
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 评分:4.2/5.0 (高评分,通过)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第三步:ThreatBook 沙箱扫描
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📤 上传文件到沙箱...
✅ 分析完成

📊 扫描结果:
  判定:SAFE
  威胁等级:clean
  可信度:95%

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 复核结果摘要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────┐
│              三层安全检查结果                       │
├─────────────────────────────────────────────────────┤
│ 1️⃣ Vetter 审查    🔴 需确认    │ 风险:HIGH      │
│ 2️⃣ ClawHub 评分   ✅ 通过      │ 评分:4.2/5.0   │
│ 3️⃣ ThreatBook     ✅ 通过      │ 结果:safe      │
└─────────────────────────────────────────────────────┘

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 最终决策
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 需要任务下达者确认:
   • Vetter 发现 3 个潜在问题 (high 风险)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
❓ 等待确认
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Skill: some-skill

以下问题需要您确认:
  • Vetter 发现 3 个潜在问题 (high 风险)

是否继续安装?
  输入 y 或 yes 继续,其他键取消

>

相关文件

  • SKILL.md - Skill 元数据和使用说明
  • README.md - 完整文档
  • SECURITY_PROCESS.md - 安全流程详解
  • scripts/safe-install.mjs - 主安装脚本

注意事项

  1. API 配额: 免费账户有每日扫描次数限制
  2. 分析时间: 沙箱动态分析需要 1-2 分钟,默认超时 120 秒
  3. 文件大小: 单文件最大 100MB
  4. 隐私: 上传的文件会被微步在线分析,不要上传敏感/机密文件
  5. 网络: 需要能访问 api.threatbook.cn 和 ClawHub API

更新日志

v2.0 (2026-02-28)

  • 🆕 新增 --auto 自动模式选项
  • 🔄 重构决策逻辑为决策矩阵
  • 📊 统一展示三层安全检查结果摘要
  • 🎨 优化输出格式和用户体验
  • 🐛 改进错误处理和堆栈跟踪

v1.1.0 (2026-02-27)

  • 🎉 新增 Skill-Vetter 代码审查作为第一层检查
  • 🎉 检测 25+ 种红旗模式

许可证

MIT License