Skill Vetter CN - Skill 安全预审
装 Skill 前先体检,防恶意技能翻车。对标 Skill Vetter(29万下载/1299星)——本工具中文场景适配 + 深度报告 + 本地扫描。
使用方法
# 扫描一个 Skill 目录
python scripts/scan_skill.py <skill目录路径>
# 示例
python scripts/scan_skill.py D:\skill-resume-polisher
python scripts/scan_skill.py ~/.claude/skills/resume-jd-optimizer-cn
检查项(五维)
| 维度 | 检查内容 | 风险等级 |
|---|---|---|
| 🔴 危险命令 | rm -rf / 格式化 / 清空目录 / curl|sh 管道执行 | 高 |
| 🔴 数据外传 | 凭证读取+网络发送 / base64 混淆 / 可疑域名 | 高 |
| 🟠 权限越界 | SKILL.md 声明与实际脚本行为不符 / 读敏感文件 | 中-高 |
| 🟠 混淆代码 | 加密/压缩/动态执行(eval/exec)难审计代码 | 中 |
| 🟡 数据采集 | 读 cookie/密码/环境变量并外发 | 高 |
输出格式
# Skill 安全预审报告:<skill名>
**总体风险**:🔴 高危 / 🟠 中危 / 🟡 低危 / ✅ 安全
**评分**:xx/100(越低越危险)
## 危险信号(按严重度)
| # | 位置 | 信号 | 说明 | 建议 |
|---|---|---|---|---|
| 1 | scripts/x.sh:12 | curl \| sh | 下载执行远程脚本 | 拒绝安装或审查后安装 |
## 权限声明核对
- SKILL.md 声明:xxx
- 实际行为:xxx
- 结论:✅ 一致 / ⚠️ 不一致
## 结论与建议
- 建议:✅ 可安全安装 / ⚠️ 谨慎(说明)/ 🔴 勿装(说明)
直接提问模板(复制即可用)
> 帮我扫描这个 Skill 的安全性:<目录路径>;或:安装这个技能前帮我检查一下。
异常处理(遇到问题时)
| 情况 | 正确处理 |
|---|---|
| 路径不存在 | 提示'路径无效,请确认目录或 SKILL.md 路径' |
| 无脚本纯 prompt | 提示'纯 prompt 型技能风险较低,仍按规则扫描' |
| 扫描结果歧义 | 标注'需人工复核',不武断判定 |
不适用场景(诚实说明)
- 不联网上传代码(本地扫描)
- 不替代专业安全审计
- 只给证据和建议,不替用户决定
FAQ(常见问题)
Q:能扫描哪些文件?
py/sh/js/md/txt/ps1/rb 等常见代码与文档。
Q:会误报吗?
会,可疑项标'需人工复核',不武断。
Q:需要联网吗?
不需要,纯本地静态扫描。
核心原则
- 本地扫描:不联网上传代码,隐私安全
- 宁严勿松:拿不准的信号标为"需人工复核",不放过可疑项
- 给依据:每个风险信号附文件:行号,用户可自己核对
- 红线:不替用户做"装/不装"的最终决定,只给证据和建议
适用场景
- 从 SkillHub/ClawHub/GitHub 下载陌生 Skill 前
- 团队批量安装技能前的安全检查
- 开发者自查自己的 Skill(上架前预审)
合规声明
- 仅扫描本地文件,不上传任何内容
- 扫描结果为技术分析建议,不构成安全担保