OpenClaw Skill安全扫描指南

凌晨3点58分,一个看起来人畜无害的Skill悄悄把你的API Key发到了远端服务器。你不会知道的——因为它的SKILL.md里只写了"帮你整理文件"。

ClawHavoc安全事件已经发现820+个恶意Skill、138个CVE漏洞。这不是危言耸听,这是你安装第三方Skill时必须面对的现实。

今天这篇教程,教你如何在享受Skill生态便利的同时,不被坑。

Skill安全威胁全景

恶意Skill的5种类型

  1. 数据窃取型 - 偷偷读取敏感文件并发送到外部服务器
  2. 权限提升型 - 利用漏洞获取超出声明的权限
  3. Prompt注入型 - 在SKILL.md中隐藏指令劫持Agent行为
  4. 依赖投毒型 - 安装时引入恶意依赖包
  5. 后门型 - 正常工作但预留远程控制接口

Skill安装前审查清单

1. SKILL.md审查

# 安装前必须检查的项目

## 基本信息检查
☐ 作者是否可信(验证GitHub/ClawHub账号)
☐ 是否有版本号和更新日志
☐ 星标数和下载量是否正常
☐ 是否有其他用户的评价

## 内容审查
☐ SKILL.md是否过于复杂(超过必要的长度可能是藏东西)
☐ 是否包含外部URL调用(特别是未声明的)
☐ 是否要求不合理的权限(如读取所有文件)
☐ 是否包含base64编码或混淆代码
☐ description是否与实际功能匹配

## 隐式指令检测
☐ 是否包含"ignore previous instructions"类似文本
☐ 是否包含隐藏的条件触发逻辑
☐ 是否有在特定条件下改变行为的指令

2. 代码审查

# 对Skill的脚本文件进行审查

# 检查网络请求
grep -r "fetch\|axios\|http\|request\|curl" skill/
# 正常:声明的API调用
# 可疑:未声明的外部请求

# 检查文件操作
grep -r "readFile\|writeFile\|fs\.\|process\.env" skill/
# 正常:操作Skill自己的目录
# 可疑:读取 ~/.ssh/、 ~/.aws/、环境变量

# 检查命令执行
grep -r "exec\|spawn\|eval\|Function(" skill/
# 正常:声明中的特定命令
# 可疑:动态拼接的命令执行

# 检查依赖
cat skill/package.json  # 检查依赖列表
npm audit               # 运行安全审计

3. 权限审查

# OpenClaw中的Skill权限控制
# 在Agent配置中限制Skill权限

## 权限最小化原则
tools:
  exec:
    security: "allowlist"  # 只允许白名单命令
  browser:
    target: "sandbox"      # 限制在沙箱中运行
  write:
    scope: "/tmp/skill-work/"  # 限制写入范围

## 敏感操作审批
# 设置需要人工审批的命令
approval_required:
  - "rm -rf"
  - "curl * | bash"
  - "npm publish"
  - "git push"

运行时防护

Skill沙箱隔离

# OpenClaw内置的沙箱机制
sessions_spawn(
    task="执行Skill任务...",
    runtime="subagent",
    sandbox="require"  # 强制在沙箱中运行
)

# 沙箱限制:
# - 无法访问宿主机文件系统
# - 网络访问受限制
# - 无法读取环境变量
# - 执行时间受限

实时监控

# 监控Skill运行行为
监控指标:
  1. 网络请求 - 检查所有外部连接
  2. 文件访问 - 记录读取的文件路径
  3. 命令执行 - 记录执行的命令
  4. 资源使用 - CPU/内存/磁盘占用
  5. 执行时间 - 异常长可能在做坏事

# 检测异常行为
异常信号:
  - Skill执行时间突然变长 → 可能在上传数据
  - 出现未声明的网络请求 → 可能是数据泄露
  - 尝试读取敏感目录 → 可能是权限提升
  - 频繁的exec调用 → 可能在扫描系统

从ClawHavoc事件学到的教训

ClawHavoc安全事件暴露了Skill生态的关键问题:

防护建议

  1. 只从官方ClawHub安装Skill
  2. 安装前阅读所有代码(不只是SKILL.md)
  3. 使用沙箱运行不熟悉的Skill
  4. 定期更新Skill(安全补丁)
  5. 设置文件和网络访问限制