**Mega-Analyzer** 是一个多合一的本地化软件安全研究平台。它结合了用于 Android 字节码分析的 **Go** 静态分析器、用于机器码分析(PE、ELF、DEX)的底层 **Rust** 引擎 **OmniSec**、经过 SIMD 优化的 **Zig** ML runtime,以及用于分布式处理的可选 **Elixir/Phoenix** 服务器。
## 目录
- [快速开始](#quick-start)
- [检测能力](#what-it-detects)
- [GitHub code scanning](#github-code-scanning)
- [机器学习](#machine-learning)
- [核心原则](#principles)
- [文档](#documentation)
- [项目状态](#project-status)
## 快速开始
###

选项 A — 预编译二进制文件
从 [**Releases**](https://github.com/Promastergame/mega-analyzer/releases) 下载适用于您操作系统/架构的压缩包,解压并运行:
```
./analyzer -t my_app.apk -report all
```
###

选项 B — 从源码构建
```
# 需要 Go 1.26.4+
go build -trimpath -ldflags "-s -w" -o analyzer ./pkg/cmd/analyzer
```
###

选项 C — Docker
```
docker build -t mega-analyzer .
docker run --rm -v "$PWD:/work" mega-analyzer -t /work/my_app.apk -report all
```
###

立即体验 — 无需安装
内置的、故意包含漏洞的样本可让您立即获得真实的检测结果:
```
analyzer -t demo/vulnerable-app -report all -sarif
# → CRITICAL 结论 · 29 个发现 · 打开 analysis_output/REPORT.html
```
请参阅 [`demo/`](demo/) 了解其中植入的内容。
## 检测能力
每个检测结果都包含稳定的规则 ID、严重程度、置信度和上下文片段。误报抑制层(基于熵的密钥分诊、库代码与应用代码上下文区分、感知加固的抑制)确保了信号的纯净。
| 格式 | 检测内容 |
| :--- | :--- |
|

**APK / DEX** | Manifest 审计(导出组件、`debuggable`、明文传输、备份)、**task-hijacking / StrandHogg**(自定义 `taskAffinity`、`singleTask`/`singleInstance`)、**grantUriPermissions** 泄露、缺少 `assetlinks.json` 的 deep links、`sharedUserId`、危险权限、Smali 中的反射与 native 加载、破解点与可修补方法 |
|

**React Native / Hermes** | 将 `index.android.bundle` 作为**应用代码**进行全面扫描(而非视为“嘈杂的框架”):eval 系列、`addJavascriptInterface`、原型链污染、代码混淆;**WebView** 泄露(`setAllowUniversalAccessFromFileURLs`、`injectedJavaScript`)、**禁用的 TLS**(`rejectUnauthorized:false`、trust-all)、`cordova.exec`;通过基于熵的 provider 检测来发现密钥 |
|

**JAR / Java / WAR** | RCE 反序列化(`readObject`、`XMLDecoder`、SnakeYAML、XStream)、动态代码(`URLClassLoader`、ScriptEngine、Groovy)、**注入**(JNDI/Log4Shell、SpEL、OGNL、SQL)、**XXE**(存在安全加固时予以抑制)、**trust-all TLS**(`X509TrustManager`/`HostnameVerifier`)、弱加密算法(ECB/DES/RC4)与弱哈希、基于 CVE 的易受攻击依赖项 |
|

**PE (Windows)** | ASLR、DEP/NX、CFG、SafeSEH、Stack canaries (`/GS`)、AppContainer、数字签名、局部化的 section 熵(加壳/加密区块) |
|

**ELF (Linux / Android .so)** | PIE、NX、**RELRO**(完全/部分)、Stack canaries (SSP)、Fortify Source、不安全的 `RPATH`/`RUNPATH`、JNI 边界 |
|

**Secrets (任意文本)** | ~25 条 provider 规则(AWS、GitHub、GitLab、Stripe、Slack、Telegram、Discord、OpenAI/Anthropic、Google、私钥、JWT…),结合**熵与字符集分诊** — 真实密钥以全强度通过;占位符/低熵匹配会被降级,避免其淹没报告 |
## GitHub code scanning
Mega-Analyzer 会生成 **SARIF** 格式的结果,因此其发现将直接显示在您代码仓库的 **Security → Code scanning** 标签页中,并在 Pull Request 中以内联方式展示。只需引入这个可复用的 Action:
```
- name: Mega-Analyzer scan
id: scan
uses: Promastergame/mega-analyzer@v1
with:
target: app-release.apk
report: full
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.scan.outputs.sarif-file }}
```
完整指南:[docs/CODE_SCANNING.md](docs/CODE_SCANNING.md)。
## 机器学习

ML 用于辅助审计 — 刻意保持轻量化、纯 CPU 运行且完全离线(无 LLM,无需 GB 级别的模型权重):
-

**HDC 自动命名** — 利用稀疏联想记忆在本地还原被混淆的变量/函数名称。
-

**智能风险评分** — 使用集成模型(GNN、GBT、Random Forest、Logistic Regression)来识别危险模式。
-

**ML Patcher** — 自动生成 Smali 补丁以绕过保护性检查(条件反转、NOP 注入)。
## 核心原则
这些约束是不可协商的,它们定义了本项目的本质:
| | |
| :---: | :--- |
|

| **100% 离线优先。** 没有外部 API、云端解析器、遥测或更新检查。内置的代理/DNS/服务器仅绑定到 `localhost`。 |
|

| **强制轻量化。** 面向普通硬件(2012 年左右的四核处理器、8 GB RAM)。峰值 RAM 控制在约 1.5–2 GB 内;常规运行可在 500–800 MB 内完成。不使用沉重的 LLM 或 GB 级别的模型权重。 |
|

**免费且开源 (Apache 2.0)。** 永远不会有付费墙、“专业版”层级、试用或文件大小限制。 |
|

| **仅用于防御。** 适用于安全研究、审计和防御。不用于构建或分发恶意软件。 |
## 文档
| | |
| :--- | :--- |
| [BUILD.md](docs/BUILD.md) | 核心构建与完整 native 构建、工具链、测试 |
| [ARCHITECTURE.md](docs/ARCHITECTURE.md) | 目录结构、Go/Rust/Zig/Elixir 交互、自适应调度器 |
| [CODE_SCANNING.md](docs/CODE_SCANNING.md) | SARIF 输出与 GitHub Action 集成 |
| [RELEASING.md](docs/RELEASING.md) | 发布流程与签名验证 |
| [SECURITY.md](docs/SECURITY.md) | 如何报告漏洞(私人安全公告) |
## 项目状态
| | |
| :--- | :--- |
| **版本** | v1.0.0-beta.1 |
| **维护者** | [@Promastergame](https://github.com/Promastergame) — 由一位开发者借助 AI 工具独立设计与编写 |
| **贡献** | 个人项目 — 不接受 pull request。欢迎通过 [Issues](https://github.com/Promastergame/mega-analyzer/issues) 提交 Bug 报告和想法。安全漏洞请通过:[私人安全公告](docs/SECURITY.md)。 |
| **许可证** | [Apache 2.0](LICENSE) — 完全免费,无付费墙,无限制 |
*Mega-Analyzer 基于 [Apache 2.0](LICENSE) 许可证发布。*