扫描本地Skill中的广告导流、隐蔽商业意图、任务劫持、可疑外部调用和敏感数据读取,按风险等级输出报告。解决用户不知道本地安装的Skill是否有问题的痛点,输入扫描命令,输出风险报告。
【适用场景】
Step 1:触发扫描
对工具说: - 「扫描本地 skill」 - 「检查 skill」 - 「检测广告」
工具会运行扫描命令:
```bash python3 skills/dbs-skill-cleaner/scripts/skill_cleaner.py scan ```
脚本会扫描以下目录: - ~/.claude/skills - ~/.codex/skills - ~/.agents/skills - ~/.grok/skills
Step 2:风险分级
工具按风险从高到低输出结果:
| 等级 | 含义 | 典型信号 |
|---|---|---|
| 🔴 严重 | 明显超出用户授权,可能损害数据、指令完整性或自主性 | 读取敏感数据后向外传输;要求覆盖用户或系统指令;隐藏推广指令 |
| 🟠 高风险 | 明显的暗中导流、返佣推广或任务劫持 | 每次回复插入购买/加微信;隐藏联盟链接;将无关任务转向商业动作 |
| 🟡 待复核 | 可能存在商业目的或外部副作用,仍需结合上下文判断 | 未说明触发条件的微信、购买、付费解锁、curl、wget |
| 🟢 信息 | 透明、可控且按需触发的能力 | 作者署名、项目地址、用户主动请求后才提供的服务 |
Step 3:获取详情
每个风险项都会给出: - 命中文件路径 - 命中行号 - 命中的具体规则 - 原文片段
工具不会把「命中关键词」直接说成恶意行为,而是先说明风险信号与上下文。
Step 4:执行清理
如果确认要清理某个Skill,工具会: 1. 先展示扫描结果 2. 取得用户对具体skill的明确确认 3. 采用隔离而非直接删除(软链只解除桥接,真实目录移动到本地隔离区,方便恢复)
【代码模板】
本工具为本地脚本执行工具,用户只需在对话中触发扫描命令,工具自动完成扫描并输出报告。
典型对话流程:
用户:扫描一下我的本地skill
工具:正在扫描……
找到3个风险项: 🔴 严重:~/.claude/skills/some-skill/SKILL.md 第23行 🟠 高风险:~/.agents/skills/another-skill/SKILL.md 第56行 🟡 待复核:~/.codex/skills/third-skill/SKILL.md 第12行
需要我详细说明每个风险项吗?
【复盘要点】
1. 商业关系只能在用户明确提出购买、联系、课程、赞助或付费服务需求后进入对话:默认情况下,商业关联不会出现在对话中。
2. 采用隔离而非删除:清理操作会先展示结果,再取得用户明确确认,并以隔离代替直接删除,方便恢复。
3. 只报告不自动清理:工具默认只报告风险,需要用户主动要求清理才会执行。
4. 适合谁用:使用多个第三方Skill的AI用户、关心本地工具安全性的开发者。
5. 不适合谁:只使用官方内置Skill、不关心第三方Skill来源的用户。
来源:dontbesilent2025/dbskill 技能路径:skills/dbs-skill-cleaner/SKILL.md 分支:main