phrixus-ai/skillguard

GitHub: phrixus-ai/skillguard

一款面向AI技能与插件的安全扫描器,通过215条检测规则识别恶意软件和Prompt注入威胁,帮助开发者和安全团队在部署前拦截风险。

Stars: 0 | Forks: 0

# 🛡️ SkillGuard **AI 技能与 Prompt 安全扫描器** — 检测 AI 技能、插件和 Prompt 文件中的恶意软件、Prompt 注入、隐藏 Payload 和凭证泄露。 [![实时演示](https://img.shields.io/badge/Live-Demo-00d992?style=flat-square)](https://skillguard.burakgider.com) [![测试](https://img.shields.io/badge/Tests-106%20passed-00d992?style=flat-square)](#test-suite) [![Python](https://img.shields.io/badge/Python-3.10+-blue?style=flat-square)](https://python.org) [![许可证](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)](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检测, 逆向工具, 零宽字符检测, 风险评分