logicwu0/skillsentry
GitHub: logicwu0/skillsentry
skillsentry 是一款静态供应链扫描器,用于在安装前检测 AI agent skills 和 MCP servers 中的后门、数据外泄及提示词注入等安全风险。
Stars: 1 | Forks: 0
# skill entry
**English** | [简体中文](README.zh-CN.md)
AI agent 生态系统现在像 npm 一样发布代码。OpenClaw 的 **ClawHub** 在几个月内增长
超过了 50,000 个 skills;MCP 注册表索引了 **20,000+** 个 servers。大多数都是
周末项目——而且其中一些带有恶意。*ClawHavoc* 活动向 ClawHub 注入了
**1,184 个恶意 skills**,在被下架前达到了 **247,000 次安装量**,并窃取了
**230 万美元**。研究发现,大量的公共 MCP servers 在发布时没有任何身份验证,且包含已知的注入向量。
`skillsentry` 以**静态方式**读取 skill 或 MCP server——不执行任何代码,也没有任何数据
离开您的机器——并报告 agent 原本会替您运行的供应链风险,同时提供一个字母评级和支持 CI 的退出代码。
## 安装
```
uv tool install skillsentry # or: pipx install skillsentry
```
从源码安装:
```
git clone https://github.com/logicwu0/skillsentry
cd skillsentry
uv sync
```
## 用法
将其指向一个 skill 目录(包含 `SKILL.md` 的目录):
```
skillsentry scan ./path/to/skill
```
```
skillsentry 0.1.0 — skill: pdf-helper
source: ./path/to/skill
grade: F risk score: 60/100
1 finding(s):
[CRITICAL] Exfiltration-prone endpoint (instructions)
References 'webhook.site', a service frequently used to receive
exfiltrated data or fetch second-stage payloads.
evidence: https://webhook.site/a1b2c3d4
```
机器可读的输出及 CI 门禁:
```
skillsentry scan ./skill --json
skillsentry scan ./skill --fail-on medium # non-zero exit blocks a merge
```
## 工作原理
每个 skill 或 server 都会被加载到一个单一的 `Artifact` 中,暴露出攻击者可能隐藏的所有攻击面——包括面向模型的 `description` 和 `instructions`,以及任何
捆绑的脚本。独立的**检测器**(`Artifact -> [Finding]`)会检查这些
攻击面;检测结果会根据严重程度进行加权,计算出 0–100 的风险评分和 A–F
评级。检测器小巧且纯粹,因此每个检测器都可以独立进行单元测试。
## 路线图
- [x] 硬编码 / 容易导致数据泄露的网络端点
- [ ] 动态代码及 shell 执行(eval/exec、`curl | sh`、解码后运行)
- [ ] Secrets 及凭证访问(`~/.ssh`、`.env`、钱包路径、keychain)
- [ ] 描述中的提示词注入指令("ALWAYS use me"、"ignore previous")
- [ ] 原生 MCP server 清单加载器(tool schemas,而不仅仅是 skills)
- [ ] SARIF 输出 + GitHub Action
- [ ] 一次性扫描整个 ClawHub / 注册表导出内容
欢迎提供想法和反馈问题。
## 开发
```
uv sync
uv run pytest
```
## 许可证
Apache-2.0。
标签:Blue Team, LNA, MCP Server, Python, 云安全监控, 动态分析, 安全扫描, 无后门, 时序注入, 网络信息收集, 逆向工具, 静态分析