ayushgayakwad/RAIDER
GitHub: ayushgayakwad/RAIDER
RAIDER 是一个结合强化学习与大型语言模型的自主红队系统,能智能决策并自动执行Web漏洞发现与利用。
Stars: 3 | Forks: 1
# RAIDER
### 用于智能发现与漏洞研究的强化学习代理框架
**RAIDER** 是一个自主的AI红队系统,它将用于战略决策的**强化学习 (RL)** 与用于战术执行的**大型语言模型 (LLM)** 相结合。
与硬编码脚本不同,RAIDER 使用一个 Q-Learning "指挥官" 来决定*何时*进行扫描以及部署*哪个*特定的攻击向量(SQLi 或 XSS)。一个由LLM驱动的"利用智能体"会实时分析网页,导航复杂的 DOM 结构(包括 iFrame),并生成上下文感知的有效载荷以绕过身份验证或执行任意 JavaScript。
## 项目报告
完整项目报告可在此处获取:
[查看报告](https://github.com/ayushgayakwad/RAIDER/blob/main/RAIDER%20-%20Project%20Report.pdf)
## 仪表板预览

*交互式 RAIDER 仪表板,实时显示任务控制、实时情报和智能体日志。*
## RAIDER 实战演示
https://github.com/user-attachments/assets/8bbd0deb-cb1d-4662-8c1f-663ef6b341ca
*使用 RL 驱动的决策制定和基于 LLM 的战术执行进行自主侦察和利用。*
## 架构
RAIDER 使用**黑板架构**运行,其中专门的智能体协同工作:
1. **指挥官(RL 核心)**
* **逻辑:** Q-Learning(强化学习)。
* **角色:** 学习最优的"攻击链"顺序。它根据目标状态、先前的操作和奖励,动态地在**侦察**、**SQL注入**、**XSS** 或 **等待** 之间进行选择。
2. **发现智能体(侦察)**
* **工具:** Nmap + 脚本引擎 (```--script```)。
* **角色:** 识别开放端口、检测操作系统、指纹识别服务,并扫描已知漏洞(CVEs)。
3. **智能智能体(利用)**
* **工具:** Google Gemini + Selenium(上下文感知)。
* **能力:**
* **SQL 注入:** 解析 HTML 表单以生成绕过登录屏幕的有效载荷。
* **XSS:** 智能导航页面,使用 AI 优先处理输入向量,并对 iFrame 进行深度扫描以注入 JavaScript 有效载荷。
4. **黑板(共享内存)**
* **角色:** 作为中央数据仓库。所有智能体都从这里读取任务状态(扫描结果、标志、历史记录),并将其发现(漏洞、日志)发布回此处,确保异步协作。
5. **报告生成器**
* **工具:** FPDF。
* **角色:** 在任务结束时,将所有智能体的发现、日志和证据汇编成一份专业的 PDF 审计报告。
## 安装
### 1. 关键前提:Nmap 二进制文件
**您必须在系统上安装 Nmap 应用程序。**
Python 库 (`python-nmap`) 仅是一个包装器。
* **Windows:**
* 从官方网站下载安装程序 `.exe`:[https://nmap.org/download.html](https://nmap.org/download.html)
* **Linux (Debian/Ubuntu):**
sudo apt-get install nmap
* **macOS:**
brew install nmap
### 2. 项目设置
1. **克隆仓库**
git clone https://github.com/ayushgayakwad/RAIDER.git
cd RAIDER
2. **安装 Python 依赖**
pip install -r requirements.txt
3. **环境配置**
在根目录创建一个 ```.env``` 文件,并添加您的 Google Gemini API 密钥(从 https://aistudio.google.com/api-keys 生成 Google Gemini API 密钥):
GEMINI_API_KEY=your_actual_api_key_here
## 使用
### 1. GUI(交互式仪表板)
要获得带有实时反馈、任务控制和情报监控的视觉体验,请启动图形仪表板。
```
python gui_app.py
```
* **功能:**
* **任务控制:** 点击即可开始、暂停、恢复和终止任务。
* **实时情报:** 在"情报"面板中实时查看开放端口、操作系统检测和漏洞发现。
* **实时日志:** 在集成控制台中观察智能体的协作。
* **指标可视化:** 跟踪 RL 智能体的奖励和当前步骤进度。
* **一键报告:** 完成后直接从仪表板打开生成的 PDF 报告。
### 2. CLI(命令行界面)
### 选项 A:快速开始(模拟模式)
要在没有外部目标的情况下查看 RAIDER 的工作原理,只需运行主脚本,并在提示输入 URL 时按 **ENTER**。这将启动一个本地存在漏洞的 Flask 服务器("SecureCorp 银行")。
```
python main.py
Enter Target URL (or press Enter for Localhost): # Just press Enter to activate the Mock Mode
```
* **目标:** http://127.0.0.1:5000
* **待发现的漏洞:**
1. **SQL 注入:** 绕过登录屏幕并获取标志 ```FLAG{MULTI_AGENT_DOMINATION}```。
2. **XSS:** 将脚本注入"反馈"页面(由 AI 自动导航到该页面)。
### 选项 B:实时目标(建议具有管理员权限)
您可以将 RAIDER 指向特定的 URL 或 IP 地址(请确保您拥有权限!)。
对于深度侦察(操作系统检测和 UDP 扫描),请以管理员/Root 权限运行脚本。
**Windows(以管理员身份运行 PowerShell):**
```
python main.py
Enter Target URL (or press Enter for Localhost): # Enter the URL of the target website
```
**Linux/Mac:**
```
sudo python main.py
Enter Target URL (or press Enter for Localhost): # Enter the URL of the target website
```
* 部分示例实时目标网站列表可在 ```sample_live_targets.md``` 中找到。
* **输出:** 完成后,RAIDER 将生成一份 ```Mission_Report_YYYYMMDD.pdf```,其中包含攻击时间线、发现的漏洞和系统详细信息。
## 项目结构
| 文件 | 描述 |
| :--- | :--- |
| `gui_app.py` | 用于交互式任务控制、可视化和实时监控的现代化 GUI 仪表板。 |
| `main.py` | CLI 入口点。初始化黑板、智能体并启动任务循环。 |
| `coordination_core.py` | 强化学习大脑(Q-Learning),管理战略决策过程,根据奖励在侦察、SQLi、XSS 和等待操作之间进行选择。 |
| `agents_exploit.py` | AI 驱动的攻击单元。利用 Selenium 和 Gemini 执行 SQL 注入和 XSS 攻击。 |
| `agents_recon.py` | 扫描智能体。包装 Nmap 以执行深度检查。 |
| `blackboard.py` | 共享内存状态。智能体在此读取/写入发现结果。 |
| `reporting.py` | 从任务数据生成专业的 PDF 审计报告。 |
| `mock_target.py` | 一个存在漏洞的 Flask 应用程序,用于训练和演示目的。 |
| `train_manager.py` | 模拟脚本,用于在多向量攻击策略上预训练 RL 大脑。 |
| `inspect_brain.py` | 一个实用工具脚本,用于可视化学习到的 Q-Table 策略,展示智能体在不同系统状态下偏好的操作。 |
| `mission_control.pkl` | RL 智能体的序列化"大脑"(保存的 Q-Table)。 |
## 免责声明
### 免责声明:仅供教育目的。
RAIDER 是一个概念验证工具,专为**授权安全研究**和**夺旗赛 (CTF) 挑战**而设计。
* 请勿对您没有明确测试权限的目标使用此工具。
* 开发者不对任何滥用此软件的行为负责。
标签:AI安全, Chat Copilot, CISA项目, CTI, iFrames处理, JavaScript执行, Nmap扫描, PNNL实验室, Q-Learning, Selenium自动化, 大型语言模型, 强化学习, 插件系统, 智能代理, 网络安全, 自主系统, 自动化分析, 自动化攻击, 认证绕过, 跨站脚本, 逆向工具, 隐私保护, 黑板架构