SkillWard:把不确定的告警换成沙箱里的实证
三阶段:静态分析 + LLM 研判 + 沙箱执行。
5,000 个真实 Skills 评测中,~25% 被判不安全;其中 ~38% 进入沙箱后,约三分之一暴露了纯静态扫描根本看不见的运行时威胁。
问题:现有 Skill 扫描器结论高度不一致
"5 个扫描器扫了 238,180 个 Skill,结论高度不一致——只有 0.12% 是 5 个工具一致认为有问题的,单个工具的命中率从 3.79% 到 41.93% 不等。"— Holzbauer et al., Malicious Or Not: Adding Repository Context to Agent Skill Classification, 2026
Skill 是 AI Agent 生态的"插件"——但和应用商店不一样,目前没有像样的安全审核。SkillWard 的核心思路就一句话:把不确定的告警,换成沙箱里实际跑出来的实证。
架构:三阶段静态 + 动态分析

- Stage A · 静态分析(秒级):YARA 规则 + 正则扫描,识别已知恶意 pattern(凭据偷取、代码注入等),校验 Skill 声明的权限和实际行为是否对得上,检测隐藏文件 / 编码混淆 / Prompt 投毒等可疑特征。
- Stage B · LLM 研判:在静态信号之上做语义推理,判断意图。能高置信度分类的 Skill 在这一步收口;剩下不确定的进 Stage C。
- Stage C · 沙箱执行:容器里跑一个 Agent 把 Skill 完整执行一遍,自研 Guard 全程监控;提前埋好的"蜜罐诱饵"会引诱恶意 Skill 暴露凭据偷取、数据外泄、供应链攻击等运行时行为。
真实评测:5,000 个 Skill
数据集来自 ClawHub 真实 Skill + 安全社区收集的已知恶意样本。
Stage A + B:静态 + LLM 三段分流
所有 Skill 经过 YARA 规则、正则静态分析 + LLM 语义研判,被快速分流:
Stage C:沙箱实证
把这批"可疑"Skill 在隔离 Docker 沙箱里端到端跑一遍,大约三分之一暴露了纯静态扫描和 LLM 研判都看不出来的潜在威胁,包括:
- 只在执行路径上才出现的凭据外泄
- 通过
crontab/SSH/ 启动脚本设置的持久化后门 - 包安装期触发的postinstall 供应链攻击
- 串起多步操作才能识别的外联数据外泄链
对这批可疑 Skill 经沙箱判定后的分布:
| 沙箱判定 | 含义 | 占比(可疑 Skill 中) |
|---|---|---|
| safe | 经沙箱验证后确实安全 | ~69% |
| medium risk | 中等风险(未声明的外部请求、env 偷取等) | ~17% |
| high risk | 高风险(凭据偷取、持久化后门、远程代码执行等) | ~14% |
常见威胁模式(在不安全 Skill 中的占比)
| 模式 | 占比 |
|---|---|
| 凭据偷取(API key、密码、私钥) | 36% |
| 未声明的外部网络请求 | 24% |
| env / .env 偷取 | 15% |
| 远程代码下载与执行 | 9% |
| 持久化后门(crontab / SSH / 启动脚本) | 8% |
| 供应链与提权 | 8% |
Web UI:单 / 批量扫,三种扫描深度
自带的 Web UI 已经部署在 skillward.fangcunleap.com,可以直接试。支持单个或批量提交 Skill,三种扫描模式:Quick Scan(只跑 A+B)、Sandbox Scan(A+B+C)、Deep Trace(带完整执行 trace)。


详细扫描报告


每份报告包含:分析结果(三阶段判定、置信度、威胁等级)、问题位置(文件路径、行号、高亮代码片段)、修复建议(可执行的安全建议)。
5 个亮点
- 三阶段安全覆盖:把"明显威胁"和"模糊告警"都变成高置信度的判定。
- 沙箱自治执行:容器内 Agent 自己装环境、装依赖、修常见报错、跑完 Skill——部署成功率高达 99%。
- 运行时安全 Guard:专门做的 Guard 监控 Agent 运行时行为,对外泄、可疑网络访问、敏感写入、隐藏凭据风险给出明确证据。
- 开箱即用、按需扩展:单 Skill / 批量、Quick / Sandbox / Deep Trace 三档,env / LLM provider / Docker 设置全可调。
- 证据丰富的结果:实时日志、三阶段 finding、威胁证据、修复建议——安全 / 平台团队拿到就能用。
开箱即用
# clone + 装依赖 git clone https://github.com/Fangcun-AI/SkillWard.git cd SkillWard pip install -r requirements.txt && pip install -e ./skill-scanner # 拉沙箱镜像 docker pull fangcunai/skillward:amd64 # Intel/AMD docker pull fangcunai/skillward:arm64 # Apple Silicon # 配 .env 后启动 cp guardian-api/.env.example guardian-api/.env # 填好 LLM provider 等,然后 docker compose up
* 数据来自真实 ClawHub Skill + 安全社区收集的已知恶意样本;详细 case study 见仓库 docs/cases/。
