技能安全审核
审核流程
1. 来源评估
了解技能从哪来、谁写的:
- 作者是否知名/可信赖?
- 下载量/Star 数?
- 最后更新时间(太久不更新可能有问题)?
- 有没有其他人的评价?
2. 代码审查(必须做)
逐个读取技能中的所有文件,留意以下高风险模式:
| 高风险模式 | 为什么危险 |
|---|---|
| 向未知 URL 发送请求 | 可能外传数据 |
| 请求凭据/Token/API Key | 可能窃取密钥 |
| 读取 | 可能窃取认证信息 |
| 访问 MEMORY.md、USER.md、SOUL.md | 可能读取或篡改身份信息 |
| base64 解码 | 常用于隐藏恶意代码 |
| eval()/exec() 处理外部输入 | 代码注入风险 |
| 修改 workspace 外的系统文件 | 可能破坏系统 |
| 安装未列出的包 | 可能引入恶意依赖 |
| 向 IP 地址发请求而非域名 | 更难追踪和验证 |
| 混淆/压缩/编码的代码 | 隐藏真实意图 |
| 请求提权/sudo | 可能获取过高权限 |
| 访问浏览器 Cookie/Session | 可能劫持会话 |
3. 权限范围评估
技能需要的权限是否与其声称的功能匹配?权限范围应该是最小的:
- 需要读哪些文件?写哪些文件?
- 需要执行什么命令?
- 需要网络访问吗?访问哪些地址?
4. 风险分级
| 风险 | 特征 | 处理 |
|---|---|---|
| 🟢 低 | 笔记、天气、格式化等简单功能 | 基本审核,可安装 |
| 🟡 中 | 文件操作、浏览器、API 调用 | 完整代码审查 |
| 🔴 高 | 涉及凭据、交易、系统配置 | 必须阿太批准 |
| ⛔ 极高 | 安全配置、root 权限 | 不安装 |
5. 输出审核报告
技能审核报告
═════════════════════════════
技能:[名称] | 来源:[ClawdHub/GitHub/其他]
作者:[用户名] | 版本:[版本]
───────────────────────────────
风险标记:[无 / 列出问题]
所需权限:文件/网络/命令
风险等级:🟢低 / 🟡中 / 🔴高 / ⛔极高
结论:✅可安装 / ⚠️谨慎安装 / ❌不建议安装
备注:[观察]
═════════════════════════════
GitHub 技能快速检查(PowerShell)
# 查看仓库信息
Invoke-RestMethod "https://api.github.com/repos/OWNER/REPO" | Select-Object stargazers_count, forks_count, updated_at
# 列出技能文件
(Invoke-RestMethod "https://api.github.com/repos/OWNER/REPO/contents/skills/SKILL_NAME").name
# 获取 SKILL.md
Invoke-RestMethod "https://raw.githubusercontent.com/OWNER/REPO/main/skills/SKILL_NAME/SKILL.md"
信任层级
- OpenClaw 官方技能 → 基本审查即可
- 高 Star 仓库(1000+) → 适度审查
- 已知作者 → 适度审查
- 新/未知来源 → 最大力度审查
- 涉及凭据的技能 → 必须阿太批准
原则
- 没有任何技能值得牺牲安全性
- 拿不准就不装
- 高风险决策交给阿太
- 记录审核结果以备查阅
- v1.1 (2026-03-15): 优化触发词、PowerShell 兼容、去除激进语气
- v1.0 (2026-03-14): 初始版本