H3DD4/RedBox

GitHub: H3DD4/RedBox

RedBox 是一款开源的 AI 驱动自主渗透测试编排平台,通过多 LLM 集成与自动化工作流降低安全测试中的人工干预。

Stars: 1 | Forks: 0

# 🔴 RedBox - AI 驱动的安全编排平台
RedBox Logo **由 AI 驱动的新一代安全测试平台** [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![React](https://img.shields.io/badge/React-20232A?logo=react&logoColor=61DAFB)](https://reactjs.org/) [![Node.js](https://img.shields.io/badge/Node.js-43853D?logo=node.js&logoColor=white)](https://nodejs.org/) [![Python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)](https://www.python.org/)
## 📖 概述 **RedBox** 是一个由 AI 驱动的综合安全测试编排平台,它将多个 LLM 提供商与高级渗透测试功能相结合。它为安全评估、知识管理和自动化测试工作流提供了一个统一的界面。 ### 🎯 核心功能 - **🤖 AI 编排器**:通过 LLM 驱动的分析进行多阶段安全评估 pipeline - **💻 AI 终端**:具有实时流式响应的交互式安全助手 - **📚 RAG 顾问**:利用 AI 增强的检索功能查询您的安全知识库 - **🔌 MCP 集成**:用于实际执行安全工具的 HexStrike Model Context Protocol - **📊 报告生成**:自动生成高管报告、技术报告和完整安全报告 - **🔄 多 LLM 支持**:支持 Ollama、OpenAI、Anthropic Claude、Google Gemini 和自定义 endpoint - **🧠 Neo4j 图存储**:可选的 Neo4j 集成,用于攻击路径、主机/服务上下文以及漏洞图持久化。 ## 🏗️ 架构 ``` RedBox/ ├── redbox-ops-core/ # Main application │ ├── backend/ # Express + TypeScript backend │ │ ├── src/ │ │ │ ├── routes/ # API endpoints │ │ │ ├── services/ # Core services (LLM, RAG, Orchestrator) │ │ │ └── db.ts # SQLite database │ │ └── prompts/ # Security testing templates │ └── src/ # React + TypeScript frontend │ ├── components/ # UI components │ ├── pages/ # Application pages │ ├── context/ # State management │ └── services/ # API clients └── hexstrike/ # MCP server for security tools └── hexstrike-ai/ # Python-based tool execution server ``` ## 🚀 快速开始 ### 前置条件 - **Node.js** 18+ 和 npm - **Python** 3.8+(用于 HexStrike MCP 服务器) - **Neo4j** 5.x(可选,用于图持久化和攻击路径分析) - **Ollama**(可选 - 用于本地 LLM)或云端 LLM 的 API 密钥 ### 安装说明 #### 1. 克隆仓库 ``` git clone https://github.com/H3DD4/RedBox.git cd RedBox ``` #### 2. 设置前端和后端 ``` cd redbox-ops-core # 安装前端依赖 npm install # 安装后端依赖 cd backend npm install cd .. ``` #### 3. 配置环境 ``` # 前端 cp .env.example .env # 后端 cp backend/.env.example backend/.env ``` 使用您的配置编辑 `.env` 文件: - 数据库路径 - API 端口 - LLM 提供商 endpoint - 如果使用图持久化,请在 `redbox-ops-core/backend/.env` 中配置 Neo4j 连接设置 后端 Neo4j 变量示例: ``` NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=your-password NEO4J_DATABASE=neo4j ``` #### 4. 设置 Neo4j 图存储(可选) 您可以直接使用 Docker 启动 Neo4j: ``` docker run -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/password neo4j:latest ``` 或者使用包含的 Docker Compose 服务: ``` docker compose up --build ``` 然后从后端文件夹初始化 Neo4j schema: ``` cd redbox-ops-core/backend npm install npm run neo4j:init ``` #### 5. 设置 HexStrike MCP 服务器(可选) ``` cd ../hexstrike/hexstrike-ai # 创建虚拟环境 python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt ``` 可选的辅助脚本(创建 .venv 并安装依赖): ``` # Windows PowerShell ./scripts/setup-venv.ps1 # Linux/Mac ./scripts/setup-venv.sh ``` #### 6. 启动平台 **终端 1 - 后端:** ``` cd redbox-ops-core/backend npm run dev ``` **终端 2 - 前端:** ``` cd redbox-ops-core npm run dev ``` **终端 3 - HexStrike MCP(可选):** ``` cd hexstrike/hexstrike-ai python hexstrike_server.py ``` #### 7. 访问 RedBox 打开浏览器并导航至: ``` http://localhost:5173 ``` **默认登录:** - Email:`admin@redbox.io` - 密码:`redbox` ## 🐳 Docker Compose(推荐) 使用 Docker 运行完整技术栈(包含 Neo4j): ``` docker compose up --build ``` 可选的 HexStrike MCP 服务器(构建时间较长): ``` docker compose --profile hexstrike up --build ``` **注意事项:** - 前端:`http://localhost:5173` - 后端:`http://localhost:3001` - HexStrike(可选):`http://localhost:8888` - Neo4j:`http://localhost:7474` 和 `bolt://localhost:7687` - 要将后端指向在主机上运行的 HexStrike,请在根目录的 `.env` 文件中设置 `HEXSTRIKE_API_URL`。 ## 💡 用法 ### 1. **配置 LLM 提供商** - 导航至 **Settings** → **LLM Providers** - 添加您首选的提供商(Ollama、OpenAI、Claude 等) - 测试连接并将其设置为活跃状态 ### 2. **运行安全评估** - 转到 **Orchestrator** - 选择 pipeline(解决 CTF、Pentest 等) - 输入目标和测试参数 - 观看实时 AI 分析 ### 3. **查询知识库** - 在 **RAG Advisor** 中上传安全文档 - 针对您的知识库提出问题 - 获取带有来源的 AI 驱动的答案 ### 4. **交互式终端** - 使用 **AI Terminal** 进行临时安全查询 - 实时流式传输响应 - 即时执行安全分析 ## 🛠️ 技术栈 ### 前端 - 带有 TypeScript 的 **React 18** - 用于极速构建的 **Vite** - 用于样式设置的 **TailwindCSS** - **shadcn/ui** 组件库 - 用于状态管理的 **React Query** ### 后端 - 带有 TypeScript 的 **Express.js** - 使用 better-sqlite3 的 **SQLite** - 通过 `neo4j-driver` 进行的 **Neo4j** 图持久化 - **JWT** 身份验证 - 用于流式传输的 **Server-Sent Events (SSE)** - 用于文件上传的 **Multer** ### AI/ML - **多个 LLM 提供商**:OpenAI、Anthropic、Gemini、Ollama - **RAG 引擎**:TF-IDF + 提供商 embedding - **流式聊天**:实时响应流式传输 - **Prompt 模板**:结构化安全测试工作流 ### 安全工具 - **HexStrike MCP Server**:基于 Python 的工具执行 - **Model Context Protocol**:标准化的 AI 与工具通信 ## 📁 项目结构 ``` redbox-ops-core/ ├── backend/ │ ├── src/ │ │ ├── routes/ # API endpoints │ │ │ ├── auth.ts # Authentication │ │ │ ├── orchestrator.ts # Pipeline execution │ │ │ ├── rag.ts # RAG queries │ │ │ ├── llm-providers.ts # LLM management │ │ │ └── ... │ │ ├── services/ │ │ │ ├── orchestrator.ts # Core orchestration logic │ │ │ ├── rag-engine.ts # RAG implementation │ │ │ ├── llm-gateway.ts # Multi-LLM interface │ │ │ ├── neo4j.ts # Graph persistence service │ │ │ ├── prompt-engine.ts # Template system │ │ │ └── report-generator.ts │ │ ├── db.ts # Database schema │ │ └── index.ts # Server entry point │ └── prompts/ # Security testing templates │ ├── ctf-solving/ │ ├── real-pentesting/ │ └── shared/ └── src/ ├── pages/ │ ├── Dashboard.tsx # Overview │ ├── Orchestrator.tsx # Pipeline management │ ├── Terminal.tsx # AI chat │ ├── RAGAdvisor.tsx # Knowledge base │ └── SettingsPage.tsx # Configuration ├── components/ # Reusable UI components ├── context/ # Global state └── services/ # API clients ``` ## 🔐 安全功能 - **JWT 身份验证**:安全的用户会话 - **密码哈希**:带 salt 的 bcrypt - **Shell 命令审计**:记录所有命令 - **黑名单**:阻止危险命令 - **API 速率限制**:防止滥用 - **CORS 配置**:受控的跨域访问 ## 📚 文档 - **[MCP 集成指南](MCP_INTEGRATION_GUIDE.md)**:HexStrike 设置与用法 - **[HexStrike README](hexstrike/hexstrike-ai/README.md)**:工具服务器文档 - **后端 API**:带有 SSE 流式传输的 RESTful endpoint - **前端**:基于组件的 React 架构 ## 📝 许可证 本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。 ## 📧 联系方式 **项目链接**:[https://github.com/H3DD4/RedBox](https://github.com/H3DD4/RedBox)
由 H3DD4 开发
======= # RedBox ## 入门指南 为了让您轻松开始使用 GitLab,以下是一系列推荐的后续步骤。 已经是专家了?只需编辑此 README.md 并将其变成您自己的即可。想要更简单点?[使用底部的模板](#editing-this-readme)! ## 添加您的文件 * [创建](https://docs.gitlab.com/user/project/repository/web_editor/#create-a-file) 或 [上传](https://docs.gitlab.com/user/project/repository/web_editor/#upload-a-file) 文件 * [使用命令行添加文件](https://docs.gitlab.com/topics/git/add_files/#add-files-to-a-git-repository) 或使用以下命令推送现有的 Git 仓库: ``` cd existing_repo git remote add origin https://gitlab.com/medhedda/RedBox.git git branch -M main git push -uf origin main ``` ## 与您的工具集成 * [设置项目集成](https://gitlab.com/medhedda/RedBox/-/settings/integrations) ## 与您的团队协作 * [邀请团队成员和合作者](https://docs.gitlab.com/user/project/members/) * [创建新的合并请求](https://docs.gitlab.com/user/project/merge_requests/creating_merge_requests/) * [从合并请求中自动关闭 issue](https://docs.gitlab.com/user/project/issues/managing_issues/#closing-issues-automatically) * [启用合并请求批准](https://docs.gitlab.com/user/project/merge_requests/approvals/) * [设置自动合并](https://docs.gitlab.com/user/project/merge_requests/auto_merge/) ## 测试和部署 使用 GitLab 中内置的持续集成。 * [GitLab CI/CD 入门](https://docs.gitlab.com/ci/quick_start/) * [使用静态应用程序安全测试 (SAST) 分析代码中的已知漏洞](https://docs.gitlab.com/user/application_security/sast/) * [使用自动部署部署到 Kubernetes、Amazon EC2 或 Amazon ECS](https://docs.gitlab.com/topics/autodevops/requirements/) * [使用基于拉取的部署改进 Kubernetes 管理](https://docs.gitlab.com/user/clusters/agent/) * [设置受保护的环境](https://docs.gitlab.com/ci/environments/protected_environments/) # 编辑此 README 当您准备好将此 README 变成您自己的文件时,只需编辑此文件并使用下方方便的模板(或者随意按您想要的结构进行组织 - 这只是一个起点!)。感谢 [makeareadme.com](https://www.makeareadme.com/) 提供此模板。 ## 对优秀 README 的建议 每个项目都不尽相同,因此请考虑哪些部分适用于您的项目。模板中使用的部分是针对大多数开源项目的建议。还要记住,虽然 README 可能会太长、太详细,但太长也比太短好。如果您觉得您的 README 太长,请考虑使用其他形式的文档,而不是删减信息。 ## 名称 为您的项目选择一个不言自明的名称。 ## 描述 让人们具体了解您的项目能做什么。提供背景信息,并添加指向访问者可能不熟悉的任何参考资料的链接。也可以在此处添加“功能”列表或“背景”小节。如果有替代您项目的方法,这里是列出差异因素的好地方。 ## 徽章 在某些 README 中,您可能会看到传达元数据的小图像,例如项目的所有测试是否都通过了。您可以使用 Shields 向您的 README 添加一些徽章。许多服务也提供了有关如何添加徽章的说明。 ## 视觉内容 根据您正在制作的内容,包含截图甚至视频(您通常会看到 GIF 而不是实际视频)可能是一个好主意。ttygif 等工具可以提供帮助,但请查看 Asciinema 以获取更复杂的方法。 ## 安装说明 在特定的生态系统中,可能有安装东西的通用方法,例如使用 Yarn、NuGet 或 Homebrew。但是,请考虑到阅读您的 README 的人可能是新手,并且需要更多指导。列出具体的步骤有助于消除歧义,并使人们能尽快使用您的项目。如果它只能在特定的上下文中运行(如特定的编程语言版本或操作系统),或者有必须手动安装的依赖项,请同时添加“环境要求”小节。 ## 用法 大量使用示例,并尽可能展示预期的输出。在行内包含您可以演示的最小用法示例是非常有帮助的,同时对于过于复杂而不适合合理地包含在 README 中的示例,请提供相关链接。 ## 支持 告诉人们可以在哪里寻求帮助。它可以是 issue 跟踪器、聊天室、电子邮件地址等的任意组合。 ## 路线图 如果您对未来的版本有想法,最好将它们列在 README 中。 ## 贡献 说明您是否接受贡献,以及您接受它们的要求是什么。 对于那些想要对您的项目进行更改的人,提供一些关于如何开始的文档是很有帮助的。也许有一个他们应该运行的脚本,或者一些他们需要设置的环境变量。把这些步骤说明确。这些说明对未来的您自己也可能很有用。 您还可以记录用于 lint 代码或运行测试的命令。这些步骤有助于确保高代码质量,并降低更改无意中破坏某些内容的可能性。如果运行测试需要外部设置(例如启动 Selenium 服务器以在浏览器中进行测试),那么提供运行测试的说明将特别有帮助。 ## 作者和致谢 向那些对项目做出贡献的人表达您的感激之情。 ## 许可证 对于开源项目,请说明其许可方式。 ## 项目状态 如果您已经没有精力或时间投入到您的项目中,请在 README 顶部添加一条说明,表明开发已经放缓或完全停止。有人可能会选择 fork 您的项目,或者自愿担任维护者或所有者,从而使您的项目得以继续。您也可以明确提出对维护者的请求。
标签:AI安全编排, MITM代理, Neo4j图数据库, Python, TypeScript, XXE攻击, 反取证, 安全插件, 安全评估, 密码管理, 插件系统, 无后门, 自动化渗透测试, 请求拦截, 逆向工具