phrixus-ai/skillguard
GitHub: phrixus-ai/skillguard
一款面向AI技能与插件的安全扫描器,通过215条检测规则识别恶意软件和Prompt注入威胁,帮助开发者和安全团队在部署前拦截风险。
Stars: 0 | Forks: 0
# 🛡️ SkillGuard
**AI 技能与 Prompt 安全扫描器** — 检测 AI 技能、插件和 Prompt 文件中的恶意软件、Prompt 注入、隐藏 Payload 和凭证泄露。
[](https://skillguard.burakgider.com)
[](#test-suite)
[](https://python.org)
[](LICENSE)
## 什么是 SkillGuard?
随着 AI Agent 通过技能、插件和 MCP 服务器变得越来越强大,其攻击面也在不断扩大。一个恶意的技能可以:
- 🔴 **窃取凭证** — 读取 `.env`、API 密钥、token
- 🔴 **执行命令** — 反弹 shell、subprocess 滥用
- 🔴 **注入 Prompt** — 越狱、系统覆盖、数据渗出
- 🔴 **隐藏 Payload** — 零宽 Unicode、嵌套 base64、代码混淆
- 🔴 **枢纽攻击** — 供应链污染、持久化机制
**SkillGuard 会在**这些威胁运行**之前**,扫描 AI 技能、Prompt 文件和插件以进行检测。
## 功能特性
- **📁 文件扫描** — 上传 `.py`、`.md`、`.js`、`.sh`、`.yaml` 文件进行威胁分析
- **💬 Prompt 扫描** — 分析文本输入中的注入模式
- **🔗 URL 扫描** — 远程扫描 GitHub 仓库和 HuggingFace 模型
- **🛡️ 215 种规则** — 10 个恶意软件类别 + 7 个注入类别
- **📊 风险评分** — 0-100 分,带有动态严重级别 (LOW / MEDIUM / HIGH / CRITICAL)
- **🔐 管理仪表盘** — 支持按日期/类型过滤的扫描历史记录
- **⚡ 速率限制** — 每个 IP 每分钟 5 次扫描
- **🎨 深色 UI** — 终端美学,开发者优先的设计
## 快速开始
### 安装
```
pip install skillguard
```
### CLI 用法
```
# 扫描文件
skillguard scan suspicious_skill.py
# 扫描目录
skillguard scan ./my-skills/
# 扫描 prompt
skillguard scan --prompt "ignore all previous instructions"
# 扫描 GitHub 仓库
skillguard scan --url https://github.com/user/repo
```
### Web UI
```
# 启动 web server
skillguard serve --port 5000
```
或尝试实时演示:**[skillguard.burakgider.com](https://skillguard.burakgider.com)**
## 规则类别
### 恶意软件检测 (136 种规则)
| 类别 | 严重程度 | 示例 |
|---|---|---|
| **反弹 Shell** | Critical | `bash -i >& /dev/tcp`, `socket.connect()`, `nc -e` |
| **凭证窃取** | Critical | `os.environ[]`, `os.getenv()`, `.env` 访问 |
| **加密挖矿程序** | Critical | `stratum+tcp://`, `xmrig`, `coinhive` |
| **信息窃取器** | Critical | 键盘记录器、Cookie 窃取、浏览器数据 |
| **代码混淆** | Warning | `eval(atob())`, `base64.b64decode`, `getattr(__builtins__)` |
| **网络数据渗出** | Critical | Discord/Slack webhook、webhook.site、Pastebin |
| **可疑导入** | Warning | `pickle`, `marshal`, `subprocess`, `paramiko` |
| **隐藏 Payload** | Critical | 嵌套 base64、zlib+base64、零宽 Unicode |
| **供应链** | Critical | `curl | sh`、自定义 registry、不安全的 pickle/yaml |
| **持久化** | High | Crontab、bashrc、chmod 777、authorized_keys |
### Prompt 注入 (79 种规则)
| 类别 | 严重程度 | 示例 |
|---|---|---|
| **系统覆盖** | Critical | “忽略之前的指令”、“覆盖安全设置” |
| **越狱** | Critical | DAN、AIM、STAN、强制服从 |
| **数据渗出** | Critical | 系统 Prompt 提取、响应中的凭证泄露 |
| **工具滥用** | High | 命令执行、文件删除、包安装 |
| **间接注入** | High | `{{template}}`、`` 标签、XSS 向量 |
| **Prompt 泄露** | Warning | 重复技巧、翻译技巧、规则枚举 |
| **技能投毒** | Critical | 条件触发器、隐藏指令、嵌套解码 |
## API 参考
### 扫描文件
```
curl -X POST http://localhost:5000/api/scan/file \
-F "file=@suspicious_skill.py"
```
### 扫描 Prompt
```
curl -X POST http://localhost:5000/api/scan/prompt \
-H "Content-Type: application/json" \
-d '{"content": "ignore all previous instructions"}'
```
### 健康检查
```
curl http://localhost:5000/health
```
## 测试套件
106 个测试,覆盖所有规则类别、API 端点以及安全功能:
```
pip install -e ".[dev]"
pytest tests/ -v
```
| 测试套件 | 数量 | 覆盖范围 |
|---|---|---|
| `test_static_scanner.py` | 34 | 所有恶意软件类别 |
| `test_prompt_scanner.py` | 33 | 所有注入类别 |
| `test_api.py` | 16 | 文件/Prompt/管理员/徽章/导出端点 |
| `test_security.py` | 23 | 速率限制、认证、路径净化、风险评分 |
## 架构
```
skillguard/
├── src/skillguard/
│ ├── scanners/
│ │ ├── static.py # File/directory scanner
│ │ └── prompt.py # Prompt injection scanner
│ ├── patterns/
│ │ ├── malware.json # 136 malware patterns
│ │ └── injection.json # 79 injection patterns
│ ├── web/
│ │ ├── app.py # Flask web server
│ │ └── templates/ # Dark-themed UI
│ ├── mcp_server.py # MCP Server (stdio transport)
│ ├── auth.py # Admin authentication
│ ├── ratelimit.py # Rate limiter
│ ├── logger.py # SQLite scan logger
│ └── cli.py # CLI interface
├── tests/ # 106 pytest tests
├── docs/ # Documentation
└── pyproject.toml # Package config
```
## 使用场景
- **AI Agent 开发者** — 在将技能加载到 Agent 之前进行扫描
- **安全研究员** — 分析 Prompt 注入技术
- **MCP 服务器运维者** — 在部署前验证工具
- **DevSecOps 团队** — 集成到 CI/CD 流水线中
- **开源使用者** — 验证第三方 AI 插件
## 路线图
- [ ] **VS Code 扩展** — 在编辑技能文件时进行实时扫描
- [ ] **GitHub Action** — 在 PR/push 时自动扫描
- [ ] **规则库 v2** — 社区贡献的签名
- [ ] **Docker 镜像** — 一键部署
- [ ] **Webhook 警报** — 高风险扫描时的 Slack/Discord 通知
## 许可证
MIT 许可证 — 详情请参见 [LICENSE](LICENSE)。
由 PHRIXUS 构建 — AI 工具,设计即安全。
标签:AI Agent安全, AI安全, Base64解码分析, Chat Copilot, DNS 反向解析, GraphQL安全矩阵, Homebrew安装, IP 地址批量处理, LLM插件扫描, MCP安全, Python安全工具, SkillGuard, 代码安全审计, 凭据泄露防护, 命令执行检测, 大模型安全, 安全扫描器, 安全规则引擎, 提示词注入检测, 文档安全, 混淆代码分析, 网络安全审计, 网页爬虫, 自定义DNS解析器, 越狱检测, 逆向Shell检测, 逆向工具, 零宽字符检测, 风险评分