jafarmammadli/ARTA
GitHub: jafarmammadli/ARTA
ARTA 是一个 AI 编排的多工具渗透测试情报框架,通过解析、归一化和关联 nmap、hydra、Burp、pcap 的输出,自动生成结构化安全分析报告。
Stars: 0 | Forks: 0
# ARTA
### AI 编排的多工具渗透测试情报框架
## 研究问题
*当 LLM 被输入规范化的多工具渗透测试输出和严格的 prompt schema 时,能否可靠地关联跨网络、主机和应用层的证据,从而生成准确、可操作的安全发现?*
## 它的功能
大多数渗透测试工作流都是孤立地产生工具输出——这里的 nmap,那里的 hydra,以及其他地方的 Burp 发现。分析师需要手动将这些线索联系起来。
**ARTA 自动化了这一关联步骤。**
```
nmap + hydra + burp + pcap
↓
parsers (x4)
↓
normalized JSON
↓
correlation engine
(rules + scoring)
↓
LLM analyst
(strict JSON schema)
↓
intelligence report
```
其结果不是一个运行攻击的脚本。它是一个**能够对攻击证据进行推理的框架**——识别已确认的入侵链、Web 漏洞利用路径、明文暴露以及潜在的数据泄露。
## 功能
- **4 个解析器** — nmap (文本)、hydra (日志)、Burp Suite (XML)、pcap (tshark)
- **关联引擎** — 基于规则,具备证据加权和跨源评分功能
- **LLM 分析师** — 严格的 JSON schema 可防止幻觉;支持 Ollama (本地) 和 OpenAI
- **Markdown 报告** — 专业的输出,包含严重性徽章、置信度分数、证据表和攻击叙述
- **道德优先** — 仅进行分析,无自动化漏洞利用,严格执行授权使用策略
## 架构
```
ARTA/
├── main.py ← CLI entry point
├── parsers/
│ ├── nmap_parser.py ← open ports, versions, OS, scripts
│ ├── hydra_parser.py ← cracked credentials
│ ├── burp_parser.py ← web vulnerabilities (XML)
│ └── pcap_parser.py ← network anomalies via tshark
├── correlation_engine.py ← rules, weights, confidence scoring
├── ai_engine.py ← LLM prompt + response validation
├── report_generator.py ← findings JSON → markdown report
├── examples/ ← sample tool outputs
├── reports/ ← generated reports
└── ETHICS.md
```
## 快速开始
### 1. 安装依赖项
```
pip install -r requirements.txt
```
### 2. 安装系统工具(可选 — 仅实时扫描时需要)
```
# Ubuntu/Debian
sudo apt install nmap hydra tshark
# macOS
brew install nmap hydra wireshark
```
### 3. 设置 LLM(选择一项)
**选项 A — 本地(Ollama,推荐):**
```
# 安装 Ollama:https://ollama.com
ollama serve
ollama pull mistral
```
**选项 B — 云端(OpenAI):**
```
export OPENAI_API_KEY=sk-...
```
### 4. 运行
**演示模式(无需文件或 LLM):**
```
python main.py --demo
```
**使用您自己的工具输出:**
```
python main.py \
--nmap examples/scan.txt \
--hydra examples/hydra.log \
--burp examples/burp.xml \
--pcap examples/capture.pcap \
--model mistral
```
**跳过 AI(仅使用关联引擎):**
```
python main.py --nmap examples/scan.txt --hydra examples/hydra.log --no-ai
```
## CLI 参考
| 标志 | 描述 |
|------|-------------|
| `--nmap FILE` | nmap 文本输出 (`-oN`) |
| `--hydra FILE` | hydra 日志文件 (`-o`) |
| `--burp FILE` | Burp Suite XML 导出 |
| `--pcap FILE` | 数据包捕获 (需要 tshark) |
| `--model NAME` | LLM 模型名称 (默认:`mistral`) |
| `--backend auto\|ollama\|openai` | LLM 后端 (默认:`auto`) |
| `--out DIR` | 报告输出目录 (默认:`reports/`) |
| `--no-ai` | 跳过 LLM,仅从关联引擎生成报告 |
| `--demo` | 使用内置模拟数据运行完整 pipeline |
## 关联规则
| 规则 | 触发条件 | 类型 |
|------|---------|------|
| 凭据泄露 | hydra 成功 + nmap 开放端口 | `credential_compromise` |
| 已确认的账户访问 | 上述条件 + pcap 登录会话 | `confirmed_account_access` |
| Web 应用链 | burp 漏洞 + nmap Web 服务 | `web_app_chain_exploit` |
| 明文暴露 | pcap 明文凭据或 telnet | `cleartext_exposure` |
| 潜在数据泄露 | pcap 大规模传输 + 凭据泄露 | `data_exfil_candidate` |
**置信度评分:**
- 每个证据项带有权重 (pcap 凭据 = 4,hydra = 3,burp 漏洞 = 3,nmap 版本 = 2,nmap 端口 = 1)
- 跨源奖励:2 个工具 +20%,3 个及以上工具 +40%
- ≥ 75% = 已确认 · 50–74% = 极有可能 · 25–49% = 有可能
## 示例输出
```
[1/4] Parsing tool outputs
✅ nmap: 2 service(s)
✅ hydra: 1 credential(s)
[2/4] Merging normalized data
✅ Target: 192.168.1.10
[3/4] Running correlation engine
✅ 3 correlation(s) found
[CONFIRMED] 83% SSH credential compromise — root@192.168.1.10:22
[LIKELY ] 67% Cleartext HTTP credentials — POST /login
[LIKELY ] 58% Web vulnerability: SQL injection at /search
[4/4] Generating report
✅ Report saved: reports/192.168.1.10_20260227_120000_report.md
```
## 评估
测试是针对 **Metasploitable 2**(一个包含已知漏洞的虚拟机)进行的。
| 场景 | 使用的工具 | ARTA 发现 | 正确 | 误报 |
|----------|-----------|----------------|---------|-----------------|
| SSH 暴力破解 | nmap + hydra | credential_compromise | ✅ | 0 |
| Web SQLi + XSS | nmap + burp | web_app_chain_exploit | ✅ | 0 |
| FTP 明文传输 | nmap + pcap | cleartext_exposure | ✅ | 0 |
| 组合漏洞链 | 全部 4 种工具 | confirmed_account_access | ✅ | 0 |
完整的评估数据位于 `evaluation/` 目录中。
## 局限性
| 局限性 | 缓解措施 |
|-----------|-----------|
| LLM 幻觉 | 严格的 JSON schema + 仅基于证据的 prompt |
| 垃圾进,垃圾出 | 解析器在传递给引擎之前会验证输入结构 |
| 无实时漏洞利用 | 设计使然 — 仅进行分析 |
| pcap 需要 tshark | 若未安装则平滑降级处理 |
## 道德与法律
**仅限授权测试。**
ARTA 不会自动化执行攻击。它只会分析您提供的输出,这些输出来源于您在已获授权测试的系统上运行的工具。
在大多数司法管辖区,未经明确书面许可对系统使用此工具是非法的。有关完整的策略和测试前准备清单,请参阅 `ETHICS.md`。
## 许可证
MIT 许可证。详情请见 `LICENSE`。
如果您在学术工作或演示中使用 ARTA,请引用该代码仓库,并简要描述您的测试环境。
标签:AI红队辅助, AI风险缓解, C2, CISA项目, DLL 劫持, 大语言模型, 安全报告, 情报关联, 插件系统, 自动化分析, 跨站脚本, 逆向工具