JameZUK/Arkana
GitHub: JameZUK/Arkana
基于 MCP 协议的 AI 驱动恶意软件分析平台,将 209 个分析工具集成到自然语言界面中,实现一键式二进制样本分类、反编译、沙箱模拟与 IOC 提取。
Stars: 11 | Forks: 1
# Arkana - 您的完整恶意软件分析实验室,只需一个 AI 提示

[](LICENSE)
[](https://github.com/JameZUK/Arkana/actions/workflows/ci.yml)
[](https://www.python.org/)
[](docs/tools-reference.md)
[](https://github.com/JameZUK/Arkana)
只需一个提示,Arkana 即可打开二进制文件,对其进行分类(严重 -- 43/72 VT 检测),提取 C2 服务器(`cveutb.sa.com`),识别通过 MessagePack 进行的 AES-256 加密通信,映射 12 项 MITRE ATT&CK 技术,检测针对 VMware/VirtualBox/Sandboxie 的反虚拟机检查,发现持久化机制(注册表 Run 键),并恢复操作者的 PDB 路径,从而揭示了一名讲越南语的威胁行为者。
[查看完整报告。](docs/example-report-asyncrat.md)

Arkana 是一个 [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) 服务器,为 **Claude Code**(或任何 MCP 客户端)提供 **209 个分析工具** —— 反编译、模拟、字符串解码、YARA 扫描等 —— 让您可以通过描述您想了解的内容来调查 PE、ELF、Mach-O、.NET、Go、Rust 和 shellcode 样本。无需 Ghidra 脚本,无需 CLI 标志,无需在十几个工具之间切换上下文。直接获取结果。
## 为什么选择 Arkana
**问题所在:** 恶意软件分析意味着要同时应付 Ghidra、IDA、CyberChef、YARA 和其他十几种工具 —— 每种工具都有自己的界面、脚本语言和学习曲线。调查单个样本可能意味着在 5-10 个工具之间切换,并在互不关联的工作流中手动关联发现。
Arkana 解决了这个问题,它将 **209 个专门的分析工具置于单一的 AI 驱动界面之后** —— 相当于将整个恶意软件实验室浓缩在一个 MCP 服务器中。用自然语言描述您想了解的内容,AI 会自动编排正确的工具。
**与众不同之处:**
- **广度** —— 209 个工具,涵盖 PE/ELF/Mach-O 解析、angr 驱动的反编译和符号执行、Binary Refinery 的 200 多种可组合数据转换、YARA/capa/FLOSS/PEiD 签名引擎、Qiling/Speakeasy 模拟、.NET/Go/Rust 专项分析、跨二进制函数相似性搜索以及 VirusTotal 集成。
- **对结果的 AI 推理** —— 与仅生成输出的工具不同,Arkana 将结果反馈给能够对其进行推理的 AI。当它反编译一个函数并看到 `VirtualAlloc` 后跟 `memcpy` 和间接调用时,它会识别出 shellcode 注入模式,将函数重命名为 `inject_shellcode`,并建议调查源缓冲区。
- **会话连续性** —— 笔记、函数重命名、自定义类型定义和工具历史记录不会受上下文窗口限制和服务器重启的影响,从而支持持续数小时或数天的调查而不丢失上下文。
**谁将受益:**
- **SOC 分析师** —— 秒级自动分类,而非数小时
- **恶意软件逆向工程师** —— 自然语言驱动反编译、符号执行和数据转换
- **应急响应人员** —— 时间紧迫下快速提取 IOC 和 C2
- **学习者** —— 内置交互式逆向工程导师,提供苏格拉底式指导和进度跟踪
- **威胁情报团队** —— 自动提取配置、哈希和网络指标
## 主要特性
- **多格式支持** —— PE、ELF、Mach-O、.NET、Go、Rust 和原始 shellcode,自动检测
- **Angr 驱动的分析** —— 41 个用于反编译、批量反编译、CFG、符号执行、数据流、切片和模拟的工具
- **全面的静态分析** —— 24 个 PE 结构工具,YARA/capa/PEiD/FLOSS 签名,加密检测,十六进制模式搜索,IOC 导出
- **Binary Refinery 集成** —— 23 个高效利用上下文的工具,封装了 200 多种可组合的数据转换(编码、加密、压缩、取证)
- **跨平台模拟** —— Speakeasy(Windows API)和 Qiling(Windows/Linux/macOS, x86/x64/ARM/MIPS)
- **函数相似性 (BSim 风格)** —— 使用 CFG、API、VEX IR、字符串和常量特征进行跨二进制的架构无关函数匹配,配备持久化 SQLite 签名数据库
- **交互式注释** —— 重命名函数和变量,定义自定义结构体/枚举,添加地址标签 —— 所有内容在会话间持久保存,并自动应用于反编译输出
- **会话持久化** —— 笔记、重命名、自定义类型、工具历史和分析缓存在重启和上下文窗口限制后依然存在
- **AI 优化的工作流** —— 紧凑的分类、智能函数排序、批量反编译、摘要总结和引导式后续步骤
- **健壮的架构** —— Docker 优先、线程安全状态、后台任务、分页、智能截断、优雅降级
- **Web 仪表板** —— 端口 8082 上的实时 CRT 主题 Web 界面,包含二进制摘要、带有 XREF 分析面板的函数分类、带有标签式侧边栏的 dagre 布局调用图、分析时间线、字符串浏览器和笔记浏览器 —— 分析师标记会反馈到 AI 工具建议中
### 比较分析
| | Arkana | Ghidra | IDA Pro | CyberChef |
|---|---|---|---|---|
| **AI 推理** | 原生支持 | 无 | 无 | 无 |
| **反编译** | Angr (多架构, 批量) | Ghidra Decompiler | Hex-Rays ($$$) | 无 |
| **函数相似性** | BSim 风格跨二进制 | BSim (Java) | BinDiff/Lumina | 无 |
| **数据转换** | 200+ 通过 Refinery | 手动脚本 | 手动脚本 | 300+ (手动) |
| **模拟** | Speakeasy + Qiling | 有限 | 无 | 无 |
| **学习曲线** | 自然语言 | 数月 | 数月 | 中等 |
| **成本** | 免费及开源 | 免费 | $1,800+/年 | 免费 |
Arkana 是 Ghidra/IDA 的补充而非替代品 —— 详见 [场景与比较](docs/scenarios.md) 获取详细分析。
### Web 仪表板
Arkana 包含一个实时 Web 仪表板,会在端口 8082 上自动启动。它为 AI 驱动的分析提供了可视化伴侣,让您可以在调查进行时观察并与之交互。
- **概览** —— 二进制摘要,包含风险评分、加壳状态、安全缓解措施、关键发现和最近笔记
- **函数** —— 可排序的函数浏览器,带有分类按钮(FLAG / SUS / CLN)和 XREF 分析面板 —— 点击 XREF 查看交叉引用,包含可疑 API 标记、可点击的调用者/被调用者(可导航至目标函数)以及相关字符串,所有这些都无需先进行反编译
- **调用图** —— 交互式 Cytoscape.js 调用图,采用 dagre 层次布局,节点选择时的标签式侧边栏(INFO / XREFS / STRINGS / CODE)、带有蚁行边缘的邻域高亮、搜索、书签以及 PNG/SVG 导出
- **节区** —— PE/ELF 节权限,带有异常高亮显示(W+X 检测)
- **导入** —— DLL 导入表,带有导出/函数分组
- **字符串** —— 统一字符串浏览器,带有 FLOSS 详情面板(类型细分、解码/堆栈字符串预览)、类型/类别过滤和 sifter 评分
- **时间线** —— 每个工具调用和笔记的按时间顺序日志,带有可展开的详情面板,显示请求参数和结果摘要
- **笔记** —— 所有分析笔记的类别过滤视图(函数、tool_result、IOC、假设、手动)
- **全局状态栏** —— 从每个页面都能看到的活动工具和后台任务进度
- **实时更新** —— AI 运行工具时通过 SSE 驱动的实时刷新

仪表板使用基于令牌的身份验证(持久化到 `~/.arkana/dashboard_token`)。服务器启动时会打印带有令牌的访问 URL。有关所有视图的屏幕截图,请参阅 [仪表板画廊](docs/dashboard.md)。
## 示例报告
以下每份报告均由单个提示生成:*“分析此二进制文件并告诉我它的作用。”*
| 报告 | 样本 | 亮点 |
|--------|--------|-----------|
| [Trojan.Delshad BYOVD Loader](docs/example-report.md) | 多阶段投放器 | 载荷提取、攻击链图、12 项 ATT&CK 技术 |
| [LockBit 3.0 Ransomware](docs/example-report-lockbit.md) | 加壳勒索软件 | 熵分析、加壳检测、存根提取 |
| [AsyncRAT .NET RAT](docs/example-report-asyncrat.md) | .NET RAT | 尽管元数据被混淆仍成功提取 C2 配置 |
| [StealC Info Stealer](docs/example-report-stealc.md) | 凭据窃取器 | 32 条 capa 规则、浏览器/Steam 目标、加密工具包 |
## 4 条命令快速入门
Arkana 可与 **Claude Code** 及任何兼容 MCP 的客户端配合使用。使用 Claude Code 和 Docker 最快的上手方式:
```
# 克隆并构建(首次构建需要几分钟)
git clone https://github.com/JameZUK/Arkana.git
cd Arkana
./run.sh --build
# 将 Arkana 添加到 Claude Code
claude mcp add --scope project arkana -- ./run.sh --samples ~/your-samples --stdio
# 启动 Claude Code 并分析二进制文件
claude
```
然后在 Claude Code 中,使用 `/arkana-analyse` 技能以获得最佳结果:
```
> /arkana-analyse suspicious.exe
```
或者直接提问:
```
> Open suspicious.exe and tell me if it's malicious
```
还有一个 `/arkana-learn` 技能 —— 一个交互式逆向工程导师,利用 Arkana 的工具手把手教您二进制分析。
有关其他 MCP 客户端、本地 Python 安装和详细配置,请参阅 [安装指南](docs/installation.md)。
## 演示
**AsyncRAT 分析** —— 单个提示完成全面分类、C2 提取和 MITRE ATT&CK 映射:

交互式回放:`asciinema play docs/demo-asyncrat.cast`
**多阶段调查** —— 深度分析,包含反编译、模拟和结构化发现:

交互式回放:`asciinema play docs/demo-analysis.cast`
## 文档
| 文档 | 描述 |
|----------|-------------|
| **[安装指南](docs/installation.md)** | Docker、本地和最小化安装;操作模式;多格式二进制支持 |
| **[Claude Code 集成](docs/claude-code.md)** | 通过 CLI 和 JSON 配置设置;分析和学习技能;典型工作流和示例查询 |
| **[配置](docs/configuration.md)** | API 密钥、分析缓存和命令行选项 |
| **[工具参考](docs/tools-reference.md)** | 按类别组织的所有 209 个 MCP 工具的完整目录 |
| **[场景与比较](docs/scenarios.md)** | 五个真实世界的分析演练;Arkana vs Ghidra, IDA Pro, CyberChef |
| **[架构](docs/architecture.md)** | 包结构、设计原则、分页和结果限制 |
| **[安全与测试](docs/security.md)** | 路径沙箱、安全措施、测试和 CI/CD |
| **[Web 仪表板](docs/dashboard.md)** | 端口 8082 上的实时分析仪表板;函数分类、调用图、时间线、笔记 |
| **[Qiling Rootfs 设置](docs/QILING_ROOTFS.md)** | 用于 Qiling 跨平台模拟的 Windows DLL 设置 |
| **[贡献](docs/CONTRIBUTING.md)** | 贡献指南和开发工作流 |
## 许可证
根据 MIT 许可证分发。更多信息请参阅 `LICENSE`。
## 免责声明
本工具包按“原样”提供,仅用于教育和研究目的。它能够在沙箱环境中执行被分析二进制文件的部分内容(通过 angr 模拟和符号执行)。分析不受信任的文件时请务必谨慎。作者对因使用本软件而产生的滥用或损害不承担任何责任。
如果 Arkana 对您有用,请考虑点个 Star —— 这有助于其他人发现这个项目。
[报告 Bug](https://github.com/JameZUK/Arkana/issues) | [请求功能](https://github.com/JameZUK/Arkana/issues) | [完整工具参考](docs/tools-reference.md)
标签:Amass, C2提取, Claude Code, Cloudflare, CTF工具, CyberChef替代, DAST, DLL 劫持, DNS信息、DNS暴力破解, DNS 反向解析, ELF分析, FTP漏洞扫描, Go语言逆向, HTTP工具, IP 地址批量处理, LIDS, Mach-O, MCP, MITRE ATT&CK, Model Context Protocol, .NET分析, PE分析, Python安全工具, Rust逆向, Shellcode分析, URL提取, Wayback Machine, YARA规则, 二进制分析, 二进制安全, 云安全运维, 云资产清单, 人工智能安全, 反汇编, 反病毒, 反编译, 合规性, 壳检测, 大语言模型, 威胁情报, 子域名变形, 安全实验室, 安全工具集成, 安全编排, 开发者工具, 恶意软件分析, 情报收集, 持久化分析, 沙箱逃逸检测, 漏洞搜索, 漏洞研究, 网络安全, 网络安全审计, 自动化分析, 自动化响应, 请求拦截, 跨站脚本, 逆向工具, 逆向工程, 隐私保护