RIPJAW1316/NEXAR-MAAS

GitHub: RIPJAW1316/NEXAR-MAAS

基于 FastAPI 和 React 构建的 AI 驱动 Android 恶意软件分析与评估系统,通过静态分析、YARA 扫描、风险评分和本地 LLM 解读将 APK 转化为结构化威胁情报。

Stars: 0 | Forks: 0

NEXAR-MAAS banner

Demo video Python FastAPI React YARA Local AI

NEXAR-MAAS 将 Android APK 转化为结构化的威胁情报。
上传样本。提取指标。评估风险。扫描签名。让本地 LLM 解释其行为。以 JSON 和 PDF 格式导出分析结论。

快速开始 · 演示 · 流水线 · API · 结构

## 目标 NEXAR-MAAS,全称为 **Malware Analysis and Assessment System**(恶意软件分析与评估系统),是一个为快速进行 APK 分流而构建的防御性 Android 安全研究平台。 它将经典的静态恶意软件分析技术与 AI 辅助解读以及可视化分析师仪表板结合在一起。该项目默认设计为离线工作,并可选择通过 VirusTotal 进行在线丰富化。 ``` APK IN | |-- Static APK analysis |-- Permission and component mapping |-- IOC, secret, and suspicious API extraction |-- YARA family signature scanning |-- Risk scoring |-- Optional VirusTotal hash intelligence |-- Optional Frida + ADB dynamic instrumentation |-- Local LLM threat explanation | REPORT OUT: JSON + PDF + Dashboard ``` ## 演示 演示视频包含在此代码仓库中:

直接访问文件:[docs/NEXAR-MAAS.mp4](docs/NEXAR-MAAS.mp4) ## 检测内容 | 功能 | NEXAR-MAAS 的检测目标 | |---|---| | 危险权限 | SMS、联系人、通话记录、相机、麦克风、位置、overlay、设备管理员、开机持久化 | | 硬编码 IOC | URL、IP 地址、可疑域名、网络 endpoint | | 可疑 API | Runtime 执行、动态类加载、发送 SMS、反射、加密、电话访问 | | 内嵌机密信息 | API 密钥、token、密码、Firebase 密钥、AWS 风格密钥 | | 混淆 | 短类名、高熵字符串、base64 数据块 | | Native 代码 | 内置的 `.so` 库 | | 滥用 Accessibility | 潜在的 overlay/键盘记录工作流 | | 动态加载 | `DexClassLoader`、`PathClassLoader`、`InMemoryDexClassLoader`、`loadDex` | | YARA 家族 | 银行木马、间谍软件、勒索软件、RAT、dropper、广告软件 | | 威胁情报 | 可选的 VirusTotal 哈希查询 | | Runtime 行为 | 可选的 Frida hook,用于监控网络、文件、SMS、加密、剪贴板、shell 命令以及敏感数据库查询 | ## 分析 Pipeline ``` flowchart LR A["APK Upload"] --> B["Validation"] B --> C["Static Analysis"] C --> D["Risk Engine"] D --> E["YARA Scan"] E --> F["Hashing"] F --> G["VirusTotal Optional"] G --> H["Local AI Analysis"] H --> I{"Dynamic Enabled?"} I -- "No" --> J["PDF + JSON Report"] I -- "Yes" --> K["ADB + Frida Runtime Hooks"] K --> J J --> L["React Dashboard"] ``` ### 静态引擎 由 Androguard 驱动,并提供字符串提取回退机制。它提取包元数据、权限、应用组件、native 库、可疑 API、硬编码指标、机密信息、混淆信号、动态代码加载指标以及滥用 Accessibility 的线索。 ### 风险引擎 使用加权检测结果生成 0-100 的风险评分: | 信号 | 权重策略 | |---|---| | 危险权限 | 缩放并设置上限 | | 硬编码 IOC | 缩放并设置上限 | | 可疑 API | 缩放并设置上限 | | 混淆 | 固定扣分 | | 内嵌机密信息 | 缩放并设置上限 | | Native 库 | 缩放并设置上限 | | 滥用 Accessibility | 高风险固定扣分 | | 动态代码加载 | 高风险固定扣分 | 风险等级: ``` 0 CLEAN 1-20 LOW 21-45 MEDIUM 46-70 HIGH 71-100 CRITICAL ``` ### AI 引擎 NEXAR-MAAS 与兼容 OpenAI 的本地 LM Studio 服务器通信,并要求本地 Llama 3 模型生成: - 技术威胁摘要 - 疑似恶意软件家族 - 可能的攻击向量 - 行为解释 - 修复步骤 - 执行摘要 如果 LM Studio 不可用,它将回退到确定性的基于规则的分析。 ## 仪表板 React 仪表板包含: - 拖拽上传 APK - 分析进度时间轴 - 任务队列 - 风险评分可视化 - 权限热力图 - IOC 资源管理器 - YARA 检测结果 - VirusTotal 选项卡 - AI 摘要选项卡 - 动态分析选项卡 - 原始 JSON 报告查看器 - PDF 报告下载 ## 技术栈 | 层级 | 技术栈 | |---|---| | 后端 API | FastAPI, Uvicorn, Pydantic | | APK 分析 | Androguard, ZIP/字符串提取 | | 签名 | YARA / yara-python | | 报告 | ReportLab | | AI | LM Studio 兼容 OpenAI 的 API, Llama 3 | | 威胁情报 | VirusTotal API v3 | | 动态分析 | ADB, Frida | | 前端 | React 18 | ## 快速开始 ### 1. 克隆 ``` git clone https://github.com//NEXAR-MAAS.git cd NEXAR-MAAS ``` ### 2. 后端 ``` pip install -r requirements.txt python main.py ``` 后端: ``` http://localhost:8000 ``` Swagger 文档: ``` http://localhost:8000/docs ``` ### 3. 前端 ``` cd frontend npm install npm start ``` 仪表板: ``` http://localhost:3000 ``` ## 可选配置 复制示例环境文件: ``` copy .env.example .env ``` 启用 VirusTotal: ``` set VT_API_KEY=your_api_key ``` 覆盖动态分析工具: ``` set ADB_PATH=adb set FRIDA_PATH=frida ``` LM Studio 的配置位于 `config.py` 中: ``` LM_STUDIO_BASE_URL = "http://localhost:1234/v1" LM_STUDIO_MODEL = "llama3" LM_STUDIO_TIMEOUT = 120 ``` ## API 上传 APK: ``` curl -X POST "http://localhost:8000/api/upload" -F "file=@sample.apk" ``` 开始分析: ``` curl -X POST "http://localhost:8000/api/analyze/{file_id}" ``` 运行可选的动态分析: ``` curl -X POST "http://localhost:8000/api/analyze/{file_id}?run_dynamic=true" ``` 轮询状态: ``` curl "http://localhost:8000/api/status/{file_id}" ``` 获取 JSON 报告: ``` curl "http://localhost:8000/api/report/{file_id}/json" ``` 下载 PDF 报告: ``` GET http://localhost:8000/api/report/{file_id}/pdf ``` 列出任务: ``` curl "http://localhost:8000/api/jobs" ``` ## 项目结构 ``` NEXAR-MAAS/ |-- main.py # FastAPI app entry point |-- config.py # Paths, scoring weights, detection constants |-- requirements.txt # Backend dependencies |-- routers/ | `-- analysis.py # Upload, analysis, report, and job endpoints |-- engines/ | |-- static_engine.py # Static APK analysis | |-- risk_engine.py # Risk scoring | |-- ai_engine.py # Local LLM analysis | |-- yara_engine.py # YARA scanning | |-- virustotal_engine.py # VirusTotal hash lookup | `-- dynamic_engine.py # ADB + Frida dynamic analysis |-- models/ | `-- schemas.py # Pydantic models |-- utils/ | `-- apk_utils.py # Hashing, APK validation, extraction helpers |-- yara_rules/ # Built-in malware rules |-- frontend/ # React dashboard |-- docs/ | `-- NEXAR-MAAS.mp4 # Demo video |-- uploads/ # Runtime uploads, ignored by Git `-- reports/ # Runtime reports, ignored by Git ``` ## 安全提示 - 上传的 APK 和生成的报告会被 Git 忽略。 - `.env` 文件会被 Git 忽略。 - APK 二进制文件默认会被 Git 忽略。 - 只有在恶意软件样本经过脱敏、合法分发且明确标记的情况下,才可发布。 - 仅在受控的实验室设备/模拟器中使用动态分析。 ## 路线图 - 持久化任务存储 - Docker Compose 部署 - 沙箱模拟器编排 - 报告模板 - MITRE ATT&CK 映射 - SBOM 与证书检查 - 多样本活动聚类 - 导出至 STIX/TAXII ## 免责声明 NEXAR-MAAS 专为防御性安全研究、恶意软件分流和教育而构建。仅对你拥有或被授权分析的文件使用此工具。作者不对任何滥用行为负责。

footer

标签:Android, AV绕过, DAST, DSL, FastAPI, React, Syscalls, YARA, 云安全监控, 云资产可视化, 威胁情报, 开发者工具, 恶意软件分析, 逆向工具, 静态分析