GenAI-Security-Project/GenAI-Red-Team-Lab

GitHub: GenAI-Security-Project/GenAI-Red-Team-Lab

OWASP官方GenAI安全项目,提供完整红队演练环境,整合漏洞沙箱、利用代码和教程,覆盖LLM、RAG、Agent等GenAI组件的安全测试与CVE复现。

Stars: 10 | Forks: 6

# GenAI 红队实验室 [GenAI 红队实验室](https://github.com/GenAI-Security-Project/GenAI-Red-Team-Lab/) 是 [OWASP GenAI 安全项目](https://github.com/GenAI-Security-Project) 的一部分。它是 [GenAI 红队倡议](https://genai.owasp.org/initiatives/#ai-redteaming) 的一个独立分支,同时也作为该倡议文档(如 **GenAI 红队手册**)的配套资源。 本仓库提供了一系列沙箱、利用代码和教程,演示了 GenAI 红队演练的内容。旨在帮助安全研究人员和开发人员测试、探测和评估基于 GenAI 的应用程序的安全性与保障。 这是我们设想的 [GenAI 红队实验室](https://github.com/GenAI-Security-Project/GenAI-Red-Team-Lab/) 的使用方式: * **Sandboxes(沙箱)** 可以简单地复用,以构建大型 GenAI 系统的核心组件。 或者,安全研究人员和开发人员可能希望根据自己的用例调整沙箱。 * **Exploitation code and tutorials(利用代码和教程)** 可作为安全研究人员和爱好者的学习工具。 此外,这些内容易于调整,用于针对沙箱测试新的攻击手法。 ## 目录结构 ``` . ├── CONTRIBUTING.md ├── exploitation │   ├── agent0 │   ├── example │   ├── garak │   ├── LangGrinch │   ├── n8n_RCE_via_file_write │   ├── Ni8mare │   ├── openclaw │   └── promptfoo ├── LICENSE ├── README.md ├── sandboxes │   ├── agentic_local_n8n_v1.65.0 │   ├── llm_local │   ├── llm_local_langchain_core_v1.2.4 │   ├── mcp_local │   ├── RAG_local │   └── README.md └── tutorials ├── community_resources.md └── README.md ``` ## 架构 ``` graph LR subgraph "Exploitation Environment
(uv Env or Podman Container)" Tool["Exploitation Tool
(Scripts, Scanners, Agents)"] Config["Configuration
(Prompts, Settings)"] end subgraph "Sandbox Container" UI["Interface
(Gradio :7860)"] API["API Gateway
(FastAPI :8000)"] Logic["Application Logic"] end Config --> Tool Tool -->|Attack Request| UI UI -->|Internal API Call| API API --> Logic Logic --> API API --> UI UI -->|Response| Tool ``` ## 系统要求 本项目支持 **Linux** 和 **macOS**。鼓励 Windows 用户使用 WSL2 (Windows Subsystem for Linux)。 ### 必备工具 * **[Podman](https://podman.io/)** * **[Ollama](https://ollama.com/)** * **[Python 3.10+](https://www.python.org/)** * **[uv](https://github.com/astral-sh/uv)** * **[Make](https://www.gnu.org/software/make/)** 仅针对 Promptfoo 利用所需的工具: * **[Node.js (v18+)](https://nodejs.org/)** * **[npx](https://docs.npmjs.com/cli/v10/commands/npx)** ### 安装说明 #### macOS 1. **安装依赖项**: brew install podman ollama node make 2. **初始化 Podman Machine**: podman machine init podman machine start #### Linux (Ubuntu/Debian) 1. **安装依赖项**: sudo apt-get update sudo apt-get install -y podman nodejs npm make 2. **安装 Ollama**: curl -fsSL https://ollama.com/install.sh | sh 3. **安装 uv**: pip install uv ### 验证 通过检查已安装工具的版本来验证安装: ``` podman version ollama --version node --version make --version uv --version ``` ## 子项目索引 ### `sandboxes/` * **[Sandboxes 概述](sandboxes/README.md)** * **简介**:所有可用沙箱的中心枢纽。解释了这些隔离环境的用途,并列出了可用选项。 * **[RAG 本地沙箱](sandboxes/RAG_local/README.md)** * **简介**:一个全面的检索增强生成 (RAG) 沙箱。它包含一个模拟的向量数据库(兼容 Pinecone)、模拟的对象存储(兼容 S3)和一个模拟的 LLM API。旨在测试嵌入反转和数据投毒等漏洞。 * **子指南**: * [添加新的模拟服务](sandboxes/RAG_local/app/mocks/README.md):扩展沙箱以包含新 API 模拟的指南。 * **[LLM 本地沙箱](sandboxes/llm_local/README.md)** * **简介**:一个轻量级的本地沙箱,使用 Ollama 模拟兼容 OpenAI 的 LLM API。非常适合在没有外部成本的情况下测试客户端交互和提示注入漏洞。 * **子指南**: * [添加新的模拟服务](sandboxes/llm_local/app/mocks/README.md):扩展沙箱以包含新 API 模拟的指南。 * **[LangChain 本地沙箱 (含漏洞)](sandboxes/llm_local_langchain_core_v1.2.4/README.md)** * **简介**:配置了 **langchain-core v1.2.4** 的本地沙箱特别版本,用于演示 **CVE-2025-68664** (LangGrinch)。它包含一个有意设置的不安全反序列化漏洞,用于教育和测试目的。 * **[n8n 含漏洞沙箱](sandboxes/agentic_local_n8n_v1.65.0/README.md)** * **简介**:运行 **n8n v1.65.0** 的健壮容器化环境。此版本存在 **四个严重 CVE** 漏洞:**Ni8mare** (CVE-2026-21858)、**N8scape** (CVE-2025-68668)、**CVE-2025-68613** 和 **CVE-2026-21877**。该沙箱预先配置了启用的危险节点 (`NODES_EXCLUDE=""`),允许红队人员在隔离环境中安全地练习多种利用技术(RCE、沙箱逃逸、文件写入)。 ### `exploitation/` * **[红队示例](exploitation/example/README.md)** * **简介**:演示针对本地 LLM 沙箱的红队行动。它包含一个针对 Gradio 界面(端口 7860)的对抗性攻击脚本 (`attack.py`)。通过针对应用层,这种方法测试了整个系统——包括可配置的系统提示——与隔离测试原始 LLM API 相比,提供了对沙箱安全态势更真实的评估。 * **[Agent0 红队示例](exploitation/agent0/README.md)** * **简介**:一个完整的端到端 Agent(智能体)示例。[Agent0](https://github.com/agent0ai/agent-zero) 编排多个自主 Agent 对沙箱进行攻击,演示了复杂的多步对抗性工作流。 运行方式有多种选择:通过 UI(手动提示交互)和通过 Makefile(基于预定义提示的编程运行)。 预定义提示集包括基于 [OWASP Top 10](https://owasp.org/www-community/owasp-top-10)、[OWASP LLM 应用 Top 10](https://owasp.org/www-community/owasp-top-10-for-llm-applications) 和 [Mitre Atlas 矩阵](https://atlas.mitre.org/matrices/ATLAS) 的漏洞测试提示。 * **[Garak 扫描器示例](exploitation/garak/README.md)** * **简介**:使用 [Garak](https://github.com/NVIDIA/garak) 进行全面的漏洞扫描。它探测沙箱是否存在广泛的弱点,包括提示注入、幻觉和不安全输出处理,并将结果映射到 OWASP Top 10。 * **[Promptfoo 扫描器示例](exploitation/promptfoo/README.md)** * **简介**:使用 [Promptfoo](https://www.promptfoo.dev/) 的强大红队设置。它运行自动化探测以识别 PII 泄露和提示注入等漏洞,提供详细的报告和回归测试功能。 * **[LangGrinch 利用](exploitation/LangGrinch/README.md)** * **简介**:针对 LangChain 沙箱中 **CVE-2025-68664** 的专用利用模块。它演示了如何利用提示注入迫使 LLM 生成恶意的 JSON payload,随后该 payload 被应用程序不安全地反序列化,从而导致环境机密泄露。 * **[Ni8mare 利用](exploitation/Ni8mare/README.md)** * **简介**:针对 n8n 沙箱的 **CVE-2026-21858** (Ni8mare) 演示。它使用自定义 Python 脚本模拟严重的“未认证任意文件读取”漏洞,提取 SQLite 数据库并转储管理员凭据(哈希密码),以证明系统已被完全攻破。 * **[n8n 通过文件写入实现 RCE 利用](exploitation/n8n_RCE_via_file_write/README.md)** * **简介**:针对含漏洞 n8n 沙箱的 **CVE-2026-21877** 的完整端到端 Python 利用脚本。它演示了利用工作流注入来利用不受限制的 `Execute Command` 节点。 ### `tutorials/` * **[Agentic AI 红队社区资源](etutorials/community_resources.md)** * **简介**:一份经过筛选的专业社区资源列表,旨在帮助从业者规划、执行和改进 Agentic AI 红队工作。 ## 贡献指南 有关如何添加新沙箱和利用示例的说明,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
标签:AI安全, AI风险缓解, Chat Copilot, CISA项目, DLL 劫持, DNS 反向解析, Docker部署, GenAI, LangChain, MITM代理, OPA, RAG安全, Red Canary, XXE攻击, 反取证, 大语言模型, 安全评估, 攻击框架, 权限管理, 模型越狱, 沙箱, 生成式人工智能, 编程工具, 网络安全, 自动化攻击, 轻量级, 远程代码执行, 逆向工具, 隐私保护, 零日漏洞检测, 靶场