f0dders/apk-jtm

GitHub: f0dders/apk-jtm

一款结合 MobSF 静态分析、APKiD 加壳检测与 AI 模型的 Android APK 安全分析工具,将复杂扫描结果转化为通俗易懂的风险报告。

Stars: 0 | Forks: 0

APK-JTM

# APK-JTM — 只需告诉我它可不可疑! [![Version](https://img.shields.io/badge/version-v1.4.0-4ade80?style=flat-square)](https://github.com/f0dders/apk-jtm/releases) [![Licence](https://img.shields.io/badge/licence-GPL%20v3-blue?style=flat-square)](LICENSE) [![Python](https://img.shields.io/badge/python-3.10%2B-blue?style=flat-square)](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 等)以获得最高的分析质量。

Reports page

New Scan page

## 它的功能 将 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绕过, 请求拦截, 逆向工具