你的 SKILL.md 可能正在被黑客当武器用——这个开源工具能检测出来

你的 SKILL.md 可能正在被黑客当武器用

说出来你可能不信——那些看起来人畜无害的「技能分享」文件,可能是攻击你 AI 的特洛伊木马。

有安全研究员已经发现:攻击者会在开源市场的 SKILL.md 里埋「忽略之前指令」「Role 劫持」,甚至 Base64 编码的反弹 shell。Claude 不会知道自己在被利用,它只是「听话照做」。

这就是为什么 Skill Sanitizer 出现了。

七层检测,把恶意 SKILL.md 挡在门外

Skill Sanitizer 是专门给 AI Agent 用的本地安全扫描器,扫描任何 SKILL.md 内容,在它到达你的 LLM 之前就拦住。

它有 7 层检测机制:

  • 第 1 层:Kill-String — 检测已知的凭证模式(API Key、Token 等),一旦命中直接 CRITICAL
  • 第 2 层:Prompt 注入 — 检测「ignore previous instructions」「system prompt override」等经典攻击指令
  • 第 3 层:可疑 Bash 命令 — rm -rf、管道反弹 shell、crontab 篡改
  • 第 4 层:内存篡改 — 试图写入 MEMORY.md、SOUL.md、.env 文件的行为
  • 第 5 层:上下文污染 — 伪装成「示例」或「测试用例」的攻击代码
  • 第 6 层:信任滥用 — 名字叫 safe-defender 但里面藏着 eval()、chmod 777
  • 第 7层:编码逃逸 — Unicode 同形字、Base64 编码载荷、同义词替换绕过

外加代码块感知和可选的 LLM 语义分析,v2.1 据报告把误报率降低了 85%。

完全本地化,你的 Prompt 永远不会出家门

这是它最硬核的优势——零云端调用。所有检测逻辑本地运行,SKILL.md 内容永远不会发送到任何第三方服务器。

换句话说:你不需要为了安全检查而把隐私交出去。

用在哪?

  • 跑 AI Agent 之前做本地预检
  • CI/CD 流水线里自动扫描 skill 仓库
  • 从市场/社区安装 Skill 前的安全审核
  • 开发者本地审计,防止隐藏载荷

快速上手

用 Python 直接调:

from skill_sanitizer import sanitize_skill

result = sanitize_skill(skill_content, "skill-name")
if result["risk_level"] in ("HIGH", "CRITICAL"):
    print(f"BLOCKED: {result['risk_level']} (score={result['risk_score']})")
    for f in result["findings"]:
        print(f" [{f['severity']}] {f.get('pattern', f.get('layer', '?')}")

评分达到 HIGH 或 CRITICAL 就直接 Block,细节全部返回。

我的看法

随着 AI Skill 市场越来越大,恶意 Skill 必然会出现——这和早年 npm 包的供应链攻击是同一个逻辑。Skill Sanitizer 解决的是一个真实存在的安全空白。

而且它选择本地检测而不是云端审核,这个设计决策很正确。安全工具本身不应该成为新的攻击面。

如果你在团队里大规模用 AI Skills,或者从社区安装 Skill,这个工具值得加进你的安全流程。

GitHubhttps://github.com/cyberxuan-XBX/skill-sanitizer


GitHub: https://github.com/cyberxuan-XBX/skill-sanitizer

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 11 阅读