SasanLabs/LLMForge
GitHub: SasanLabs/LLMForge
LLMForge是一个用于构建动态AI漏洞实验室的安全网关,解决大语言模型安全测试和培训的问题。
Stars: 5 | Forks: 2
# 🛡️ LLMForge
 [](https://opensource.org/licenses/Apache-2.0) [](http://makeapullrequest.com) [](https://hub.docker.com/r/sasanlabs/llmforge/)
**用于动态漏洞实验室的 AI 安全网关**
LLMForge 是一个安全优先的 LLM 控制平面,为 AI 驱动的漏洞模拟提供支持。它作为 [SasanLabs](https://github.com/SasanLabs) 的 AI 执行层,并直接与 [VulnerableApp](https://github.com/SasanLabs/VulnerableApp) 生态系统集成,实现由语言模型驱动的动态漏洞利用实验室。
## 什么是 LLMForge?
静态的漏洞应用所能达到的效果有限。LLMForge 引入了一类新的安全培训——动态、自适应且 AI 原生的实验室。
它充当策略执行层、会话控制器、挑战引擎和日志记录网关。**模型不受信任。网关控制行为。**
LLMForge 支持两种不同的安全培训模式:
### LLM 作为目标
模拟针对实时语言模型的真实世界 AI 漏洞:
- Prompt 注入
- System prompt 提取
- 数据外泄
- 防护栏绕过
- 工具滥用
为 AI 红队实验和 CTF 式挑战进度提供结构化支持。
### LLM 作为漏洞系统
将语言模型转变为配置错误或存在缺陷的系统:
- 一个存在漏洞的 API 端点
- 一个损坏的认证服务
- 一个配置错误的内部代理
每个会话都可以生成独特的漏洞利用路径,从而能够实现无限的安全培训场景。
## 架构
```
┌─────────────────────────────────────────────┐
│ LLMForge │
│ │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ Gateway │────▶│ Challenge │ │
│ │ (FastAPI) │ │ Engine │ │
│ └─────────────┘ └─────────────────┘ │
│ │ │ │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ Session & │ │ Logging & │ │
│ │ Memory │ │ Evaluation │ │
│ └─────────────┘ └─────────────────┘ │
└──────────────────────┬──────────────────────┘
│
┌────────▼────────┐
│ Ollama / │
│ OpenAI-compat │
└─────────────────┘
```
LLMForge 与模型无关,支持:
- **本地模型**,通过 Ollama 或兼容的运行时
- **OpenAI 兼容的 API**
- **基于云的 LLM 提供商**
模型后端可以在不更改任何实验室逻辑的情况下进行更换。
## 快速开始
推荐使用 Docker Compose 来运行 LLMForge。它会同时启动 `llmforge` 网关和 `ollama` 运行时。
```
docker compose up --build
```
## 选择模型
启动前设置 `MODEL_PROFILE`。`ollama-init` 服务会等待 Ollama 实例运行健康,拉取指定的模型,并且 `llmforge` 仅在初始化完成后才启动。
**Bash:**
```
export MODEL_PROFILE=mistral:7b-instruct-q4_0
docker compose up --build
```
**PowerShell:**
```
$env:MODEL_PROFILE="llama3.1:8b"
docker compose up --build
```
如果未设置 `MODEL_PROFILE`,默认值为 `phi3:mini`。
| 环境变量 | 用途 | 默认值 |
|-----------------------|--------------------------------------------------|-------------------|
| `OLLAMA_MODEL` | 推理请求时转发的模型名称 | `phi3:mini` |
| `OLLAMA_EMBED_MODEL` | 用于向量搜索的嵌入模型 | `nomic-embed-text`|
## 与 VulnerableApp 集成
LLMForge 与现有的 [VulnerableApp](https://github.com/SasanLabs/VulnerableApp) 架构集成,并旨在成为该生态系统的 AI 安全支柱。VulnerableApp 中定义的实验室可以完全委托给 LLMForge 进行 AI 执行、会话控制和评估。
## 免责声明
本项目严格用于**教育和防御性安全研究**。
请勿将其用于您不拥有或未获明确许可测试的系统上。
## 贡献
欢迎提交 Pull Request。对于重大更改,请先开启一个 issue 讨论您想要更改的内容。
## 许可证
[Apache 2.0](https://opensource.org/licenses/Apache-2.0)
标签:AI安全, AI攻击实验, AI风险缓解, Chat Copilot, CTF挑战, Docker容器, Gradle, 人工智能安全, 会话控制, 利用模拟, 动态漏洞实验室, 合规性, 大型语言模型, 安全培训, 安全网关, 情报收集, 挑战引擎, 提示注入, 攻击面发现, 政策执行, 模块化设计, 漏洞测试, 漏洞研究, 系统提示提取, 网络安全, 自动化修复, 请求拦截, 隐私保护, 集群管理