Arsh-sudo/APKGuard

GitHub: Arsh-sudo/APKGuard

APKGuard 是一个基于 GenAI 的银行 APK 威胁情报平台,通过自动化逆向工程、静态分析、ML 分类与 LLM 解释对可疑 Android 应用进行欺诈风险评估。

Stars: 0 | Forks: 1

# APKGuard 🛡️ ### 基于 GenAI 的银行 APK 威胁情报平台 APKGuard 自动对可疑的 Android APK 进行逆向工程,执行静态和动态分析,并结合 ML 分类和基于 LLM 的威胁解释,生成校准后的欺诈风险评分(0–100)。 ## 🚀 快速开始 (Docker) ``` # Clone / download 项目 cd APKGuard # 使用一条 command 启动所有服务 docker-compose up --build # 打开 dashboard # http://localhost:3000 ``` ## 🏗️ 架构 ``` APK File │ ▼ ┌─────────────────────────────────────────┐ │ Layer 1 — Reverse Engineering │ │ APKTool → Manifest, Smali, Resources │ │ JADX → Decompiled Java Source │ └─────────────────┬───────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ Layer 2 — Static Analysis │ │ • 80+ feature extraction │ │ • Dangerous permission detection │ │ • Suspicious keyword scanning │ │ • Obfuscation detection │ │ • Hardcoded URL/IP extraction │ └─────────────────┬───────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ Layer 3 — GenAI Risk Scoring │ │ • XGBoost ML classifier (92.5% acc) │ │ • Trained on Drebin dataset │ │ • Ollama LLM (Llama 3.2) explanation │ │ • Final Fraud Risk Score (0–100) │ └─────────────────┬───────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ FastAPI Backend + React Dashboard │ │ • Real-time progress tracking │ │ • Threat report with 4 analysis tabs │ │ • Scan history & statistics │ └─────────────────────────────────────────┘ ``` ## 📊 结果 | APK | ML 评分 | 最终评分 | 类别 | |-----|----------|-------------|----------| | Google Calculator (合法) | 1.1/100 | 27.5/100 | ✅ 低风险 | | 银行木马 (恶意软件) | 99.8/100 | 99.9/100 | 🔴 严重威胁 | ## 🔧 手动设置(不使用 Docker) ### 前置条件 - Python 3.11+ - Java 11+ - Node.js 18+ - Ollama ### 后端 ``` cd APKGuard python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt # 训练 ML model python classifier.py train # 启动 API python api.py ``` ### 前端 ``` cd dashboard npm install npm start ``` ### LLM(可选) ``` ollama pull llama3.2 # Ollama 自动运行在 port 11434 ``` ## 📁 项目结构 ``` APKGuard/ ├── decompiler.py # Module 1: APK decompilation pipeline ├── classifier.py # Module 2: XGBoost ML classifier ├── llm_explainer.py # Module 3: Ollama LLM explanation ├── api.py # Module 4: FastAPI REST backend ├── dashboard/ # Module 5: React frontend ├── tools/ │ ├── apktool.bat # APKTool decompiler │ ├── apktool.jar │ └── jadx/ # JADX Java decompiler ├── models/ │ ├── apkguard_xgb.pkl # Trained XGBoost model │ └── feature_columns.pkl # Feature column list ├── data/ │ └── drebin.csv # Drebin malware dataset ├── uploads/ # APK files for analysis ├── output/ # Analysis reports (JSON) ├── Dockerfile ├── docker-compose.yml └── requirements.txt ``` ## 🧠 使用的数据集 | 数据集 | 描述 | 大小 | |---------|-------------|------| | Drebin | 带标签的 Android 恶意软件特征 | ~400 个样本 | | AndroZoo | 大规模 APK 仓库 | 参考 | | VirusTotal API | 多引擎 AV 验证 | 实时 API | | CERT-In 警报 | 政府网络欺诈数据源 | 公开 | ## 🏆 核心创新 1. **LLM 代码可解释性** — GenAI 用通俗易懂的英文解释 APK 恶意的原因 2. **零样本 (Zero-Shot) 威胁检测** — LLM 能够捕获新型混淆恶意软件 3. **特定于银行的配置文件** — 基于合法的印度银行应用建立基线 4. **实时 CERT-In 集成** — 交叉比对政府网络欺诈警报 5. **银行级威胁报告** — 一键生成供 CISO 审查的 PDF ## 📡 API 接口 | 方法 | 接口 | 描述 | |--------|----------|-------------| | POST | `/analyse` | 上传 APK 进行全面分析(包含 LLM) | | POST | `/quick-score` | 上传 APK 获取快速的纯 ML 评分 | | GET | `/job/{job_id}` | 轮询分析进度 | | GET | `/reports` | 列出所有已分析的 APK | | GET | `/report/{apk_name}` | 获取完整报告 | | GET | `/stats` | 仪表盘统计数据 | | DELETE | `/report/{apk_name}` | 删除报告 | 交互式 API 文档:**http://localhost:8000/docs** ## 👥 团队 为 PSB Cybersecurity、欺诈与 AI 黑客马拉松 2026 构建 印度银行 × 印度理工学院海得拉巴分校 # APKGuard
标签:AI风险缓解, Apex, DLL 劫持, 大语言模型, 威胁情报, 安卓逆向, 开发者工具, 机器学习, 目录枚举, 移动安全, 请求拦截, 逆向工具