Silas Skill Auditor

技能安全审查工具。深度审查已安装或远程技能的代码安全性、权限风险、数据泄露和内容合规性。支持预装审查(远程拉取)和已装审查两种模式。当用户说"审查技能"、"检查安全"、"审核技能"、"skill audit"时使用。

Audits

Pass

Install

openclaw skills install silas-skill-auditor

🔍 Skill Auditor — 技能安全审查器

专业级技能安全审查工具,帮助你在安装前或安装后全面评估技能的安全性和合规性。

触发条件

  • 用户说"审查技能"、"检查安全"、"审核技能"、"skill audit"
  • 安装新技能前需要安全评估
  • 怀疑已安装技能有安全风险

审查模式

模式 A:预装审查(推荐)

在安装前审查远程技能,防止引入风险。

# 拉取远程技能到临时目录(不安装)
clawdhub install <技能名> --dir /tmp/skill-audit-tmp
# 审查完成后删除
rm -rf /tmp/skill-audit-tmp

模式 B:已装审查

审查已安装的技能。

# 工作空间技能
ls ~/.openclaw/workspace/skills/<技能名>/
# 全局技能
ls ~/.openclaw/skills/<技能名>/

审查流程

Step 1:文件清单

扫描技能目录,列出所有文件及类型:

find <技能目录> -type f | head -50

关注重点:

  • .py / .js / .sh — 可执行代码
  • SKILL.md — 指令文件(可能含 prompt 注入)
  • _meta.json / package.json — 元数据
  • .env / .config — 配置文件
  • 隐藏文件(. 开头)— 可能藏有恶意内容

Step 2:深度安全扫描

逐项检查以下风险类别:

🔴 致命风险(Critical)

#检查项检查方法
C1硬编码密钥/Token搜索 API_KEY, SECRET, TOKEN, PASSWORD, PRIVATE_KEY 等关键词
C2数据外发搜索 curl, wget, fetch(, http.post, requests.post, WebSocket
C3远程代码执行搜索 eval(, exec(, Function(, child_process, os.system, subprocess
C4Prompt 注入搜索 ignore previous, ignore instructions, system prompt, 你现在是
C5持久化/后门搜索 crontab, systemd, launchd, autorun, always:true, startup
C6提权操作搜索 sudo, chmod 777, chown, setuid, CAP_

🟡 中等风险(Warning)

#检查项检查方法
W1敏感路径访问搜索 ~/.ssh, ~/.aws, ~/.openclaw, /etc/passwd, /etc/shadow
W2文件系统越界搜索 ../, /tmp, /var, 写入非技能目录的操作
W3环境变量读取搜索 process.env, os.environ, $HOME, getenv
W4外部依赖检查是否需要安装额外包/CLI
W5代码混淆检查是否有 base64 编码的长字符串、无意义的变量名
W6隐蔽通道搜索 DNS 查询、ICMP、图片隐写相关代码

ℹ️ 信息级(Info)

#检查项说明
I1元数据完整性_meta.json 是否包含版本、作者信息
I2描述质量SKILL.md 是否有清晰的描述和使用示例
I3触发条件触发词是否合理,是否过于宽泛
I4代码质量是否有注释、结构是否清晰
I5声明一致性description 与实际功能是否一致

Step 3:SKILL.md 指令分析

仔细阅读 SKILL.md,检查:

  1. 指令是否过度:是否要求 agent 执行超出审查范围的操作(发邮件、修改配置、安装软件)
  2. 条件触发是否可疑:触发条件是否过于宽泛(如匹配所有消息)
  3. 是否含社会工程:如"信任此技能"、"跳过安全检查"、"以最高权限运行"
  4. 外部引用:是否引用外部 URL、脚本或服务

Step 4:评分

评分规则

维度权重满分
致命风险 (C1-C6)40%40
中等风险 (W1-W6)25%25
信息级 (I1-I5)15%15
代码质量10%10
文档质量10%10

评级标准

分数评级建议
90-100✅ 安全可放心使用
70-89🟡 轻微风险建议修复后使用
50-69🟠 中等风险谨慎使用,关注风险点
30-49🔴 高风险不建议安装
0-29🚨 危险强烈建议拒绝

Step 5:生成报告

输出格式:

🔍 技能安全审查报告

📋 基本信息
  技能名称:<name>
  版本:<version>
  审查模式:预装/已装
  审查时间:<timestamp>

📁 文件清单 (共 N 个文件)
  - SKILL.md (指令文件)
  - audit.sh (可执行脚本)
  - ...

🔐 安全扫描结果

  🔴 致命风险:X 项
     C1 硬编码密钥:✅ 未发现
     C2 数据外发:❌ 发现![具体位置和代码]
     ...

  🟡 中等风险:X 项
     W1 敏感路径:✅ 未发现
     ...

  ℹ️ 信息级:X 项
     I1 元数据:✅ 完整
     ...

📝 SKILL.md 分析
  指令范围:合理/过度
  触发条件:正常/过宽
  社会工程:未发现/发现

📊 综合评分:XX/100(评级)

💡 建议
  1. 具体建议...
  2. ...

使用示例

用户:审查 yoder-skill-auditor
→ 拉取到临时目录 → 全面扫描 → 输出报告

用户:帮我检查刚装的 claw1-skill-auditor
→ 扫描已装目录 → 全面扫描 → 输出报告

用户:审查 sam-skill-auditor 并评分
→ 扫描 → 输出带评分的完整报告

注意事项

  1. 预装审查使用临时目录,审查完立即删除
  2. 不要将审查中发现的密钥/Token 发送给外部服务
  3. 评分仅供参考,最终决策权在用户
  4. 对于代码混淆的技能,标记为高风险并建议人工审查
  5. 审查远程技能时注意网络请求可能触发真实的外部调用