SasanLabs/LLMForge

GitHub: SasanLabs/LLMForge

LLMForge是一个用于构建动态AI漏洞实验室的安全网关,解决大语言模型安全测试和培训的问题。

Stars: 5 | Forks: 2

# 🛡️ LLMForge ![](https://img.shields.io/github/v/release/SasanLabs/LLMForge?style=flat) [![许可证](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![欢迎PR](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![Docker 拉取量](https://badgen.net/docker/pulls/sasanlabs/llmforge?icon=docker&label=pulls)](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, 人工智能安全, 会话控制, 利用模拟, 动态漏洞实验室, 合规性, 大型语言模型, 安全培训, 安全网关, 情报收集, 挑战引擎, 提示注入, 攻击面发现, 政策执行, 模块化设计, 漏洞测试, 漏洞研究, 系统提示提取, 网络安全, 自动化修复, 请求拦截, 隐私保护, 集群管理