raj469-doit/llm-security-lab
GitHub: raj469-doit/llm-security-lab
面向 OWASP LLM Top 10 的红队测试与漏洞研究工具集,提供可复现的 Prompt Injection 和 System Prompt Leakage 自动化安全测试用例。
Stars: 0 | Forks: 0
# 🔐 LLM 安全实验室

**探测 AI 系统的漏洞,让您的用户不会率先发现它们。**
由 **Robert Johnson** 构建和维护 —— 拥有 15 年以上经验的 DevSecOps 与自动化工程师,
曾负责强化企业基础设施,现专注于 LLM 红队测试和 AI 安全验证。
## 本仓库存在的原因
我在 Ribbon Communications 工作了 14 年,当企业系统“起火”时,
他们就会呼叫这位工程师。VoIP 网络瘫痪。运营商每小时损失数百万。
我的工作是深入系统内部——深度日志取证、威胁建模、压力下的根因分析
——并让故障停止。
当我开始观察 AI 公司快速发布基于 LLM 的产品时,我看到了
在电信领域见过的相同模式:快速行动,先集成,后安全。
只是对于 LLM 而言,“后安全”可能意味着您的聊天机器人泄露客户数据、您的 AI 代理
执行意外操作,或者您的产品被用作对付您自己用户的武器。
这个实验室是我记录这项工作的地方——真实的漏洞研究、可复现的
测试用例以及实用的缓解措施。一切都是使用我在生产环境中使用过的 Python
自动化技术栈构建的:Pytest、Pydantic、Playwright、GitHub Actions。
## 我测试的内容
映射到 **OWASP Top 10 for LLM Applications 2025**:
| # | 漏洞 | Payloads | 状态 |
|---|--------------|----------|--------|
| LLM01 | Prompt Injection | 12 | 🔬 活跃研究中 |
| LLM07 | System Prompt Leakage | 15 | 🔬 活跃研究中 |
| LLM02 | 敏感信息泄露 | — | 📋 已规划 |
| LLM05 | 不当输出处理 | — | 📋 已规划 |
| LLM06 | 过度代理 (Agentic AI 滥用) | — | 📋 已规划 |
| LLM08 | 向量与嵌入漏洞 | — | 📋 已规划 |
**当前活跃测试用例总数:27** —— 每周递增。
## 仓库结构
```
llm-security-lab/
├── attacks/ # Test suites by vulnerability category
│ ├── prompt-injection/ # LLM01 — 12 payloads, 5 categories
│ └── system-prompt-leakage/ # LLM07 — 15 payloads, 5 categories
├── tools/ # Reusable Python test utilities
├── reports/ # Generated findings reports
├── checklists/ # LLM Security Checklist (free resource)
└── .github/workflows/ # CI/CD — runs on every push
```
## LLM01 和 LLM07 如何串联在一起
这两个活跃模块被刻意按顺序排列,以展示真实的攻击链:
1. **LLM01 Prompt Injection** —— 攻击者通过精心构造的输入操纵模型行为
2. **LLM07 System Prompt Leakage** —— 攻击者提取系统提示词以获取护栏(guardrails)、凭据和业务逻辑
3. 掌握这些知识后,他们会返回并精心构造一次*针对性的*绕过
`SPL-04x` 注入辅助型 payloads 明确展示了此攻击链。
## 技术栈
```
pytest # Test orchestration and assertions
pydantic # Input/output schema validation
playwright # Headless UI interaction with AI-powered interfaces
requests # Direct API probing
github_actions # Automated CI execution of security test suites
```
此外:**SQL**、**日志分析**、**PKI/TLS**、**Linux 强化** —— 这是大多数 LLM 安全研究人员完全跳过的底层基础设施层。
## 运行本实验室
```
# 安装依赖
pip install -r requirements.txt
# 设置环境变量
cp .env.example .env
# 使用您的 API key 和 endpoint 编辑 .env
# 运行所有活动模块
pytest attacks/ -v
# 使用 HTML 报告运行
pytest attacks/ -v --html=reports/findings.html --self-contained-html
# 仅运行 critical 严重性测试
pytest attacks/ -v -k "critical"
```
## 核心模块
### 🔴 LLM01:Prompt Injection (`attacks/prompt-injection/`)
涵盖 5 个类别的 12 个 payloads:直接注入、间接注入、角色混淆、
指令覆盖和混淆(对抗性后缀、多语言、表情符号编码)。
包含自动化的严重性评分和 Markdown 格式的调查结果报告。
### 🔴 LLM07:System Prompt Leakage (`attacks/system-prompt-leakage/`)
涵盖 5 个类别的 15 个 payloads:直接提取、补全诱导(completion priming)、推断探测、
注入辅助泄露和人格绕过(persona bypass)。三层检测机制,包括针对凭据和内部主机名的 regex 模式匹配。
## 关于我
我是一名位于 DFW(达拉斯-沃斯堡)都会区的 DevSecOps 和自动化工程师。我的背景
跨越了 15 年以上,涵盖电信基础设施、QA 框架架构和
安全工程 —— 近期专注于 Python 自动化、网络安全
和生成式 AI 集成。
**认证:**
- Google 网络安全专业证书
- ISC² 网络安全认证 (CC)
- 生成式 AI 专家 (Outskill)
- Google 数据分析专业证书
- Google AI 基础
**其他项目:**
- [天气服务自动化套件](https://github.com/raj469-doit/weather-api-automation) — 生产级 Python/Pytest/Playwright CI 框架
- [Cyclistic 共享单车分析](https://github.com/raj469-doit/cyclistic-bike-share-analysis) — 使用 SQL、R 和 Tableau 的大数据顶点项目
## 与我合作
我为希望在他人之前了解系统可利用性
的 AI 团队提供 **LLM 安全审计**。参与项目经过严格评估范围、设有时间限制,最终以
包含严重性评级和补救指南的书面调查报告形式交付。
📬 [linkedin.com/in/robert-johnson-sdet](https://linkedin.com/in/robert-johnson-sdet)
📧 raj972@gmail.com
*本仓库用于防御性安全研究和教育。所有测试均在受控环境中
针对经我授权测试的系统进行。*
标签:AI安全, Chat Copilot, DLL 劫持, Python, 多线程, 大语言模型, 字符串匹配, 安全测试, 情报收集, 攻击性安全, 无后门, 漏洞研究, 特征检测, 红队评估, 逆向工具