f0dders/apk-jtm
GitHub: f0dders/apk-jtm
一款结合 MobSF 静态分析、APKiD 加壳检测与 AI 模型的 Android APK 安全分析工具,将复杂扫描结果转化为通俗易懂的风险报告。
Stars: 0 | Forks: 0
# APK-JTM — 只需告诉我它可不可疑!
[](https://github.com/f0dders/apk-jtm/releases)
[](LICENSE)
[](https://www.python.org/downloads/)
使用 [MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF) 进行静态分析,以及使用 [APKiD](https://github.com/rednaga/APKiD) 进行加壳/混淆检测来分析 Android APK,然后将分析结果传递给 AI 模型,以生成一份通俗易懂的英文安全报告 —— 无需具备渗透测试背景。
支持**本地 AI 模型**(Ollama、LM Studio)实现完全离线使用,以及**云端 AI**(Claude、OpenAI、Gemini 等)以获得最高的分析质量。
## 它的功能
将 APK 文件拖放到应用程序上。几分钟内,您就会得到一份结构化的报告,涵盖:
| 部分 | 它会告诉您什么 |
|---|---|
| **应用背景与声誉** | 这是一个已知应用吗?是谁开发的?它的声誉值得信赖吗? |
| **执行摘要** | 通俗易懂的风险结论:低 / 中 / 高 / 严重 |
| **核心安全发现** | 按优先级排列的问题 —— 权限、密钥、代码漏洞 |
| **加壳与混淆分析** | APKiD 是否检测到了加壳工具、反虚拟机或混淆器?它们是恶意软件级别的吗? |
| **隐私问题** | 此应用可以访问或收集哪些个人数据? |
| **网络与数据活动** | 应用将数据发送到哪里?被标记的域名、跟踪器 |
| **地理分析** | 哪些国家/地区托管了这些服务器?是拥有严格的隐私法律,还是存在国家监控风险? |
| **危险信号** | 明确的恶意行为或间谍软件迹象 |
| **结论与建议** | 明确的行动建议:安装 / 避免使用 / 监控 / 限制 |
报告会保存为 HTML 和 Markdown 格式,并且可以在应用程序的“报告”选项卡中浏览。对同一应用的多次分析会被归类在一起,方便您比较不同 AI 模型的结果。
## 快速开始
### 第一步 — 安装 Python
您需要 Python 3.10 或更高版本。推荐使用 Python **3.12** —— 它能支持 APKiD 的加壳分析。
检查您是否已安装:
```
python3 --version
```
如果没有,请从 **https://www.python.org/downloads/** 下载
如果找不到兼容版本,启动器将提供通过您系统的包管理器(Mac 上的 Homebrew,Windows 上的 winget,Linux 上的 apt/dnf/pacman)安装 Python 3.12 的选项。
### 第二步 — 安装 Docker 并启动 MobSF
MobSF 在 Docker 中本地运行 —— 您不需要了解 Docker 是如何工作的,只需安装它即可。
#### 2a — 安装 Docker Desktop
从 **https://www.docker.com/products/docker-desktop** 下载并安装。打开 Docker Desktop 并让它在后台运行。
#### 2b — 启动 MobSF
**Mac / Linux:**
```
mkdir -p ~/.mobsf
docker run -d --name mobsf -p 8000:8000 -v ~/.mobsf:/home/mobsf/.MobSF opensecurity/mobile-security-framework-mobsf:latest
```
**Windows:**
```
mkdir %USERPROFILE%\.mobsf
docker run -d --name mobsf -p 8000:8000 -v %USERPROFILE%\.mobsf:/home/mobsf/.MobSF opensecurity/mobile-security-framework-mobsf:latest
```
MobSF 会在首次运行时下载(约 1–2 GB)并在后台启动。等待 30–60 秒后,打开 **http://localhost:8000** 确认其是否正在运行。
#### 2c — 获取您的 MobSF API 密钥
1. 访问 **http://localhost:8000**
2. 点击菜单图标(右上角)
3. 选择 **REST API**
4. 复制 API 密钥 —— 稍后您需要将其粘贴到设置向导中
**首次设置完成后**,启动器会自动管理 MobSF —— 每次您启动应用时,如果 Docker 容器尚未运行,它会自动启动它。
### 第三步 — 启动应用程序
双击适用于您操作系统的启动器:
| 操作系统 | 文件 |
|---|---|
| **Mac** | `Start - Mac.command` |
| **Windows** | `Start - Windows.bat` |
| **Linux** | `Start - Linux.sh` |
**首次运行时**,启动器将会:
1. 检查 Python 3.12,并在需要时提供安装选项
2. 创建一个隔离的 Python 环境并安装依赖项
3. 可选地安装 APKiD 用于加壳分析(需要 Python 3.12)
4. 通过 Docker 启动 MobSF
5. 在浏览器中通过 `http://localhost:7842` 打开应用程序
随后的启动会非常快 —— 设置仅需运行一次.
### 第四步 — 完成设置向导
首次访问时,一个分为 3 个步骤的向导将引导您完成:
1. **MobSF** —— 确认 URL (`http://localhost:8000`) 并粘贴您的 API 密钥
2. **AI 提供商** —— 选择离线(Ollama 或 LM Studio)或云端
3. **配置** —— 输入您的模型名称或 API 密钥
设置保存在本地的 `.env` 文件中。之后可以通过 ⚙ 图标进行修改。
## AI 提供商选项
### 离线(无需互联网)
| 提供商 | 设置 | 推荐模型 |
|---|---|---|
| **Ollama** | 从 [ollama.com](https://ollama.com) 安装,运行 `ollama pull gemma3:27b` | `gemma3:27b` (~17 GB) |
| **LM Studio** | 从 [lmstudio.ai](https://lmstudio.ai) 安装,加载模型,启动服务器 | 任何 GGUF 模型 |
**Apple Silicon 推荐:**
- `gemma3:27b` — 出色的综合分析能力,需要 17 GB RAM
- `qwen2.5-coder:32b` — 优秀的代码分析能力,需要 20 GB RAM
- `llama3.3:70b` — 最佳的推理能力,需要 40 GB RAM
### 云端(最佳质量)
| 提供商 | 获取密钥地址 | 备注 |
|---|---|---|
| **Claude**(推荐) | [console.anthropic.com](https://console.anthropic.com) | 最佳的分析质量 |
| **OpenAI** | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) | GPT-4o 及以上版本 |
| **Gemini** | [aistudio.google.com/app/apikey](https://aistudio.google.com/app/apikey) | 提供免费额度 |
| **Groq** | [console.groq.com](https://console.groq.com) | 非常快,提供免费额度 |
| **Mistral** | [console.mistral.ai](https://console.mistral.ai) | 优秀的位于欧洲的选项 |
| **OpenRouter** | [openrouter.ai/keys](https://openrouter.ai/keys) | 一个密钥,100+ 模型 |
## APKiD 加壳分析
在扫描新的 APK 时,[APKiD](https://github.com/rednaga/APKiD) 会与 MobSF 并行运行,以检测:
- **加壳工具** — 包装真实代码以防止分析的工具(在恶意软件中很常见)
- **混淆器** — 代码混淆工具(DexGuard、Allatori、Dasho)
- **反虚拟机 / 反模拟器** — 应用会检测虚拟环境,并可能拒绝在模拟器或测试设备上运行
- **反调试 / 反汇编** — 应用会抵抗逆向工程
- **编译器指纹** — 构建该应用的工具链是什么
已知的与恶意软件相关的加壳工具(Bangcle、SecNeo、Jiagu、DexProtect、iJiami 等)会自动将 AI 的风险结论提升为高或严重。
由于原生依赖关系,APKiD 需要 **Python 3.12**。启动器会自动处理此问题。如果无法安装 APKiD,扫描将在没有加壳分析的情况下正常继续。
## 扫描选项
**扫描新的 APK** — 拖放 `.apk` 文件。MobSF 会对其进行扫描,APKiD 并行运行,综合的分析结果将传递给 AI。
**加载现有的 MobSF 报告** — 从 MobSF 导出 JSON 并直接加载,跳过扫描步骤。
**重新分析** — 任何已保存报告上的 ⟳ 按钮都会使用不同的模型重新运行 AI 分析,无需重新上传 APK。
## 停止应用程序
关闭启动应用程序时打开的终端窗口。MobSF 会继续在后台运行 —— 从 Docker Desktop 中停止它,或运行 `docker stop mobsf`。
## 故障排除
**“无法连接到 MobSF”** — 确保 Docker Desktop 正在运行,并且 MobSF 已完全启动(首次启动需要 30–60 秒)。检查 `http://localhost:8000`。
**APKiD 无法工作** — 需要 Python 3.12。运行启动器,它会提供安装选项。
**找不到 Ollama 模型** — 在启动之前,在终端中运行 `ollama pull
`。
**首次启动缓慢** — 依赖项在首次运行时安装(1–3 分钟)。随后的启动将是即时的。
**Mac Gatekeeper 警告** — 右键点击 `Start - Mac.command` -> 打开 -> 打开。这是一次性操作。
**Windows “找不到 Python”** — 从 python.org 重新安装 Python,并勾选“Add Python to PATH”。
## 更新日志
查看 [CHANGELOG.md](CHANGELOG.md) 获取完整的版本历史。
## 许可证
版权所有 (C) 2026 f0dders
根据 [GNU General Public License v3.0](LICENSE) 获得许可。可免费使用、修改和分发 —— 任何衍生作品也必须在相同的许可证下开源。商业使用需获得作者的另行书面许可。标签:AI风险缓解, Android安全, APK静态分析, DLL 劫持, Python, 人工智能, 大语言模型, 无后门, 用户模式Hook绕过, 请求拦截, 逆向工具