文章总结: 本文介绍了PhantomTrojanWalker,一个模块化的AI恶意软件自动化分析平台。该平台整合Ghidra静态分析引擎与大语言模型技术,实现了从样本上传、反编译、控制流分析到报告生成的全流程自动化。核心功能包括恶意行为分类、MITREATT&CK映射及IOC提取。文章详细阐述了系统架构、核心组件、环境配置及快速启动方法,为安全研究人员提供了一个高效、可操作的二进制威胁检测解决方案。 综合评分: 88 文章分类: 安全工具,恶意软件,二进制安全,AI安全
Phantom TrojanWalker——AI 恶意软件自动化分析平台
一个人挺好 一个人挺好
一个人挺好 wa
2026年2月22日 21:54 贵州
项目地址
https://github.com/MICHAEL-888/Phantom_TrojanWalker
#
Phantom TrojanWalker – AI 恶意软件自动化分析框架
Phantom TrojanWalker 是一个模块化的二进制分析与威胁检测平台,串联 Ghidra 静态分析、LLM 结构化研判与任务化后端,实现从样本上传到报告生成的自动化流水线。
Phantom_TrojanWalker 是一个模块化的二进制分析与威胁检测平台,专为恶意软件自动化分析而设计。该平台串联 Ghidra 静态分析引擎、大语言模型(LLM)结构化研判与任务化后端,实现从样本上传到报告生成的全流程自动化分析。
1.1 核心定位
- 目标:自动化恶意软件分析与威胁检测
- 技术路线:静态分析 + AI 研判 + 任务编排
- 应用场景:安全研究、威胁情报、恶意软件样本分析
2. 系统架构
2.1 整体架构图
┌─────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ (Web 界面 / API 接口 / 样本上传) │
└──────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────────────┐
│ 任务调度层 │
│ (任务队列 / 工作流编排 / 状态管理) │
└──────────────────────┬──────────────────────────────────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌───────▼──────┐ ┌────▼─────┐ ┌──────▼───────┐
│ 静态分析引擎 │ │ LLM研判 │ │ 报告生成 │
│ (Ghidra) │ │ 模块 │ │ 引擎 │
└─────────────┘ └──────────┘ └──────────────┘
2.2 核心组件
表格
| 组件 | 功能 | 技术栈 | | — | — | — | | 样本管理模块 | 接收、存储、预处理待分析样本 | Python / REST API | | Ghidra 分析引擎 | 二进制反编译、控制流分析、函数识别 | Ghidra / Java / SRE | | LLM 研判模块 | 恶意行为识别、威胁分类、风险评估 | GPT-4 / Claude / 本地模型 | | 任务调度系统 | 异步任务队列、并发控制、状态追踪 | Celery / Redis / RabbitMQ | | 报告生成器 | 结构化报告输出、IOC提取、可视化展示 | Markdown / JSON / PDF |
3. 核心功能模块
3.1 静态分析引擎(基于 Ghidra)
功能特性:
- 自动反编译:支持 x86/x64/ARM 架构的二进制文件
- 控制流图(CFG)生成:提取程序执行路径
- 函数识别与标注:自动识别入口点、导出函数、回调函数
- 字符串提取:扫描硬编码的 IP、URL、文件路径、注册表项
- 导入表分析:识别 API 调用模式(文件操作、网络通信、注册表操作)
分析流程:
- 样本上传 → 格式识别(PE/ELF/Mach-O)
- Ghidra Headless 模式启动分析
- 生成反编译代码与中间表示(P-Code)
- 提取特征向量供 LLM 研判
3.2 LLM 结构化研判模块
研判维度:
- 恶意行为分类:木马、勒索软件、间谍软件、挖矿程序等
- 攻击技术映射:MITRE ATT&CK 框架映射
- 威胁等级评估:Critical / High / Medium / Low
- IOC 提取:C2 地址、文件名、互斥体、注册表键值
目录结构
├── agents/ # AI 编排层(Coordinator / GhidraClient / Prompts)
├── backend/ # API + 任务系统 + SQLite
├── frontend/ # React 前端看板
├── module/ # ghidra_pipe + ghidra_mcp
├── data/ # 上传文件与任务数据
└── docker-compose.yml # 一键启动
环境准备
-
Python
: 3.10+
-
Node.js
: 18+
-
Ghidra
: 12.0+(Docker 内置或本地安装)
-
JDK
: 21+
配置
- 复制配置模板:
cd agentscp config.yaml.example config.yaml
- 编辑
agents/config.yaml,至少配置 LLM 与 Ghidra 地址:
plugins: ghidra: base_url: "http://ph_ghidra:8000" endpoints: health_check: "/health_check" upload: "/upload" analyze: "/analyze" metadata: "/metadata" functions: "/functions" strings: "/strings" callgraph: "/callgraph" decompile: "/decompile" decompile_batch: "/decompile_batch" xrefs: "/xrefs" xrefs_batch: "/xrefs_batch" mcp: base_url: "http://ph_ghidra:9000/mcp" endpoints: {}FunctionAnalysisAgent: system_prompt: "" system_prompt_path: "prompt/FunctionAnalysisAgent.md" llm: model_name: deepseek-reasoner temperature: 0 api_key: "YOUR_API_KEY_HERE" base_url: "https://api.deepseek.com/chat/completions" extra_body: {} max_retries: 3 timeout: 120 max_completion_tokens: 32768 max_input_tokens: 131072 rate_limit: requests_per_second: 10 check_every_n_seconds: 0.1 max_bucket_size: 10MalwareAnalysisAgent: system_prompt: "" system_prompt_path: "prompt/MalwareAnalysisAgent.md" llm: model_name: deepseek-reasoner temperature: 0 api_key: "YOUR_API_KEY_HERE" base_url: "https://api.deepseek.com/chat/completions" extra_body: {} max_retries: 3 timeout: 600 max_completion_tokens: 32768 max_input_tokens: 131072 rate_limit: requests_per_second: 10 check_every_n_seconds: 0.1 max_bucket_size: 10
修改 prompt 或 config 后,需要重启 backend/worker 生效。
快速启动
方式 A:Docker Compose(推荐)
docker compose up --build
默认端口:Ghidra 127.0.0.1:8000、Backend 127.0.0.1:8001(/api)、Frontend 127.0.0.1:8080、Ghidra MCP 127.0.0.1:9000
方式 B:纯本地(开发调试)
按顺序启动:
# Step 1: Ghidra 引擎export GHIDRA_INSTALL_DIR=/path/to/ghidrapython module/ghidra_pipe/main.py# Step 2: Backend + Workerpython backend/main.py# Step 3: Frontendcd frontendnpm installnpm run dev
访问:http://localhost:5173
常用环境变量
-
PTW_GHIDRA_BASE_URL:覆盖
agents/config.yaml中的plugins.ghidra.base_url -
PTW_MCP_BASE_URL:覆盖 MCP 地址
-
PTW_MAX_UPLOAD_BYTES:最大上传大小(默认 200MB)
-
PTW_CORS_ORIGINS:后端允许的跨域来源(逗号分隔)
-
BACKEND_HOST/
BACKEND_PORT:后端监听地址与端口 -
GHIDRA_INSTALL_DIR:本地 Ghidra 安装目录
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:一个人挺好 wa 一个人挺好 一个人挺好《Phantom TrojanWalker——AI 恶意软件自动化分析平台》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论