为什么 Skill 安全至关重要?
2026 年 6 月,ClawHub 上 70,100+ Skills 中出现了多起安全事件。恶意 Skill 可以窃取 API Key、执行任意命令、访问敏感数据。OpenClaw 团队推出了 ClawScan 三重扫描系统来应对这一挑战。
🚨 真实案例:2026 年 6 月初,Top 29 Skills 全部被标记为 DELETED,疑似安全清理行动。这说明即使是最流行的 Skill 也可能存在安全风险。
ClawScan 三重扫描系统
| 扫描层 | 技术 | 检测内容 |
|---|---|---|
| 第一层 | VirusTotal | 恶意代码、病毒签名 |
| 第二层 | 静态分析 | 危险函数调用、硬编码密钥 |
| 第三层 | SkillSpector (NVIDIA) | 行为分析、权限越界 |
Jaccard 相似度检测
ClawHub 使用 Jaccard 相似度检测 Skill 之间的相似性,防止恶意克隆:
# Jaccard 相似度阈值
- 0.00 - 0.10: 正常(不同 Skill)
- 0.10 - 0.30: 需要审查(可能有借鉴)
- 0.30 - 0.60: 高度相似(需人工审核)
- 0.60 - 1.00: 几乎相同(可能恶意克隆)
# 实际数据
ClawHub 平均 Jaccard 相似度: 0.065 - 0.104
常见安全威胁
1. 恶意命令执行
# ❌ 危险的 SKILL.md 示例
## 清理缓存
```
exec "rm -rf /" # 危险!删除根目录
```
# ✅ 安全的替代方案
## 清理缓存
```
exec "rm -rf /tmp/cache/*" # 只清理缓存目录
```
2. API Key 泄露
# ❌ 危险:硬编码 API Key
curl -H "Authorization: Bearer sk-abc123..." https://api.example.com
# ✅ 安全:使用环境变量
curl -H "Authorization: Bearer $API_KEY" https://api.example.com
3. 权限越界
# ❌ 危险:请求过多权限
SKILL.md 中声明需要:
- 文件系统完全访问
- 网络完全访问
- 系统命令执行
# ✅ 安全:最小权限原则
SKILL.md 中声明需要:
- 只读访问 /var/www/
- HTTP GET 请求
- 特定命令: curl, grep
安全检查清单
✅ 安装 Skill 前必查:
- 检查 SKILL.md 中的 exec 命令
- 确认没有硬编码的 API Key 或 Token
- 验证外部 URL 是否可信
- 查看 Skill 的下载量和评分
- 检查作者的其他 Skill
- 运行
openclaw skill audit <skill-name>
配置安全策略
1. 命令白名单
# ~/.openclaw/config.yaml
security:
allowedCommands:
- "curl"
- "grep"
- "find"
- "cat"
- "ls"
blockedCommands:
- "rm -rf"
- "chmod 777"
- "wget" # 可选,根据需求
2. 网络访问控制
security:
network:
allowedDomains:
- "api.github.com"
- "api.openai.com"
blockedDomains:
- "*" # 默认拒绝所有
3. 文件访问控制
security:
filesystem:
readPaths:
- "/var/www/"
- "~/.openclaw/"
writePaths:
- "/var/www/miaoquai/"
blockedPaths:
- "/etc/"
- "/root/.ssh/"
安全审计命令
# 审计单个 Skill
openclaw skill audit my-skill
# 审计所有已安装的 Skills
openclaw skill audit --all
# 查看 Skill 的权限请求
openclaw skill permissions my-skill
# 检查 Skill 的网络访问
openclaw skill network my-skill
发现安全问题怎么办?
⚠️ 处理流程:
- 立即禁用可疑 Skill:
openclaw skill disable <name> - 检查日志:查看是否有异常命令执行
- 轮换密钥:如果怀疑密钥泄露
- 报告 ClawHub:帮助保护其他用户