daemon-blockint-tech/MORDOR

GitHub: daemon-blockint-tech/MORDOR

AI 驱动的恶意软件端到端逆向分析平台,通过多 Agent 协作将静态分析、动态调试、网络行为捕获和内存取证整合为自动化流水线,帮助安全研究人员高效深入地分析恶意样本。

Stars: 2 | Forks: 0

MORDOR

恶意软件编排与逆向工程检测运行时
“没人能轻易走进 Mordor —— 也没有恶意软件能在其中轻易隐藏。”
github.com/daemon-blockint-tech/MORDOR

Python 3.12 LangGraph MIT License

## 什么是 MORDOR? MORDOR 是一个 **AI 驱动的逆向工程流水线**,能够端到端自主分析恶意软件二进制文件。它通过一个 6 阶段的分析流水线,协调一组专业 Agent(每个 Agent 都配备了行业标准工具)进行工作,涵盖从指纹识别到动态验证的全过程,所有这些都由运行在 LangGraph 上的 **GANDALF**(协调器)统一调度。 专为希望在不牺牲分析深度和准确性的前提下扩展分析规模的恶意软件分析师、逆向工程师和安全研究人员而打造。 ## 架构 ### Fellowship | Agent | 身份 | 工具 | |-------|----------|------| | **GANDALF** | 协调器 + 规划器 | Claude Sonnet 4.5 | | **SARUMAN** | 深度分析器(按需) | Claude Opus | | **LEGOLAS** | 静态分析 | GhidraMCP | | **ELROND** | 交叉验证 | radare2-mcp | | **FRODO** | 运行时 Hooking | Frida | | **GIMLI** | 调试器 | x64dbg | | **PIPPIN** | 网络行为 | Wireshark | | **ARAGORN** | OSINT / 侦查 | Shodan | | **FARAMIR** | IoC 匹配 | YARA | | **ARWEN** | 反混淆 | CyberChef | | **EOWYN** | 内存取证 | Volatility3 | | **TREEBEARD** | 沙箱隔离 | Docker | | **SAM** | 案例记忆 | 文件系统 | | **BOROMIR** | 分诊 / 置信度 | LLM | | **GOLLUM** | 对抗性审查 | LLM | | **MERRY** | 依赖扫描 | cargo-audit/geiger | | **GANDALF⬜** | 报告生成器 | LLM | | **BILBO** | IOC 导出 | STIX2/YARA/Sigma | ### 流水线 ``` Binary ──► Phase 1: FINGERPRINT ──► Phase 2: FILTER & GROUP ──► Phase 3: HYPOTHESIZE │ │ │ ▼ ▼ ▼ metadata.json filtered_signals.json hypotheses.md │ │ │ ▼ ▼ ▼ Phase 4: MAP STRUCTURE ──► Phase 5: PLAN DEEP ANALYSIS ──► Phase 6: VALIDATE DYNAMICALLY │ │ │ ▼ ▼ ▼ component_map.json deep_analysis_plan.md frida + pcap + memdump ``` ## 快速开始 ### 前置条件 - Python 3.12+ - Docker(用于 TREEBEARD 沙箱) - `.env` 中的 API 密钥: - `ANTHROPIC_API_KEY` — 必需(Claude 模型) - `SHODAN_API_KEY` — 可选(OSINT 丰富化) ### 设置 ``` git clone https://github.com/daemon-blockint-tech/MORDOR cd MORDOR python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # add your API keys ``` ### 运行 ``` # Standard analysis python scripts/run_analysis.py /path/to/malware.exe # With real-time streaming python scripts/run_analysis.py /path/to/malware.exe --stream # Quick tier (tool-only, skips deep analysis) python scripts/run_analysis.py /path/to/malware.exe --tier quick # Deep tier (full pipeline + extra validation) python scripts/run_analysis.py /path/to/malware.exe --tier deep ``` ## 分析流水线(6 个阶段) ### 阶段 1 — FINGERPRINT - **ARAGORN**:哈希计算、OSINT 查询、威胁情报关联 - **LEGOLAS**:字符串提取、导入表分析、加密常量检测、加壳启发式分析 - **产物**:`metadata.json`, `raw_strings.txt`, `imports.json`, `crypto_indicators.txt` ### 阶段 2 — FILTER & GROUP - **GANDALF**:去除噪声,按类别对信号进行聚类 - **GOLLUM**:第一轮对抗性审查 —— “这是信号还是噪声,宝贝?” - **产物**:`filtered_signals.json` ### 阶段 3 — HYPOTHESIZE - **GANDALF + BOROMIR**:针对每个类别(持久化、C2、注入、收集、渗透)构建假设 - **产物**:`hypotheses.md` ### 阶段 4 — MAP STRUCTURE - **LEGOLAS**:Ghidra 反编译、XREF 映射、函数重命名 - **ELROND**:Radare2 独立交叉验证 - **产物**:`component_map.json`, `call_graph.dot` ### 阶段 5 — PLAN DEEP ANALYSIS - **GANDALF**:按风险评分对 Top-N 可疑函数进行排序 - **SARUMAN**:仅在 CRITICAL(严重)假设路径下被激活 - **产物**:`deep_analysis_plan.md` ### 阶段 6 — VALIDATE DYNAMICALLY - **FRODO**:对可疑调用执行 Frida 运行时 Hook - **GIMLI**:x64dbg 跟踪 + 断点 - **PIPPIN**:Wireshark C2/DNS/渗透流量捕获 - **EOWYN**:Volatility3 内存转储分析 - **ARWEN**:CyberChef 载荷反混淆 - **产物**:`frida_hooks.log`, `pcap/`, `memory_dump/`, `decoded_payloads/` ## 项目结构 ``` MORDOR/ ├── agents/ # Fellowship agents (one per capability) │ ├── gandalf.py # Orchestrator │ ├── saruman.py # Deep analyzer │ └── fellowship/ # Individual agent implementations ├── graph/ # LangGraph pipeline definition │ ├── state.py # CaseState schema │ ├── nodes.py # Phase node implementations │ ├── edges.py # Conditional routing │ └── pipeline.py # Compiled LangGraph graph ├── tools/ # MCP and SDK adapters ├── skills/ # Agent skill prompts ├── rules/ # YARA + Sigma detection rules │ ├── yara/ # ransomware, stealer, C2, packer rules │ └── sigma/ # process injection, persistence rules ├── sandbox/ # Docker sandbox configuration ├── mcp_config/ # MCP server configs (Ghidra, radare2) ├── cases/ # Case artifacts per SHA256 ├── scripts/ # Entry points and utilities ├── tests/ # Test suite ├── output/ # Reports, IOC feeds, dashboards ├── claude.md # Operational instructions for AI orchestration └── langgraph.json # LangGraph project config ``` ## 反误报规则 MORDOR 执行严格的关卡检查以将误报降至最低: - **XREF 要求**:每个被标记的函数都必须有调用者(由 LEGOLAS 检查) - **双工具确认**:LEGOLAS + ELROND 必须在标记前达成一致 - **对抗性审查**:GOLLUM 必须在任何 CRITICAL 分类前给出 3 个良性解释 - **置信度关卡**:CRITICAL (>85%), SUSPICIOUS (50-85%), INFO (<50%) - **三重确认**:静态 + 动态 (FRODO/GIMLI) + 网络 (PIPPIN) 必须在标记为 CRITICAL 时全部一致 - **至少 3 个 YARA 条件**:绝不依赖单一字符串匹配 ## 配置 | 文件 | 用途 | |------|---------| | `.env` | API 密钥和运行时配置 | | `langgraph.json` | LangGraph 流水线与检查点配置 | | `docker-compose.yml` | 沙箱 + Ghidra 服务器服务 | | `sandbox/Dockerfile` | 隔离的分析环境 | ### 环境变量 将 `.env.example` 复制到 `.env` 并填入你的密钥: ``` cp .env.example .env ``` | 变量 | 必需 | 描述 | |----------|----------|-------------| | `ANTHROPIC_API_KEY` | 是 | Claude 模型访问权限(编排 + 深度分析) | | `OPENROUTER_API_KEY` | 否 | 通过 OpenRouter 进行替代的 LLM 路由 | | `SHODAN_API_KEY` | 否 | OSINT / 威胁情报丰富化 | | `IDA_API_KEY` | 否 | IDA Pro 二进制分析 | | `GANDALF_MODEL` | 否 | 协调器的 LLM(默认:`openai/gpt-4o-mini`) | | `SARUMAN_MODEL` | 否 | 深度分析的 LLM(默认:`anthropic/claude-opus-4`) | | `OPENCODE_ENABLED` | 否 | 启用 OpenCode SDK 集成(`false`) | | `CLAUDE_AGENT_ENABLED` | 否 | 启用 Claude Agent SDK 集成(`false`) | | `PAY_BIN_PATH` | 否 | Pay CLI 可编程资金工具链 | ## LangGraph 集成 该流水线被定义为一个编译好的 LangGraph 状态图: ``` langgraph dev # Launch LangGraph Studio for visual debugging ``` 该图在 `graph/pipeline.py` 中编译,使用 `MemorySaver` 检查点以确保各阶段之间的状态持久化。 ## 贡献 有关指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 提交格式:`(mordor): <简短描述>` - 类型:`feat`, `fix`, `analysis`, `rules`, `agent`, `docs` ## 许可证 MIT 许可证 —— 详见 [LICENSE](LICENSE)。 版权所有 (c) 2026 daemon
标签:AI驱动, Claude, Cloudflare, CVE检测, CyberChef, DAST, DLL 劫持, DNS 反向解析, Docker, Docker支持, Frida, FTP漏洞扫描, Ghidra, IoC匹配, IP 地址批量处理, LangGraph, LLM, MITRE ATT&CK, Mr. Robot, PyRIT, Python, radare2, SecList, Unmanaged PE, Volatility3, Wireshark, YARA, 二进制分析, 云安全监控, 云安全运维, 云资产可视化, 云资产清单, 人工智能, 内存取证, 去混淆, 句柄查看, 多智能体系统, 大语言模型, 威胁情报, 安全编排, 安全防御评估, 开发者工具, 恶意软件分析, 无后门, 无线安全, 沙箱, 用户模式Hook绕过, 网络安全, 网络安全审计, 网络行为分析, 自动化分析, 请求拦截, 跨站脚本, 逆向工程, 隐私保护, 静态分析