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 劫持, 大语言模型, 安全报告, 情报关联, 插件系统, 自动化分析, 跨站脚本, 逆向工具