arbab-tahir/ShadowInspect
GitHub: arbab-tahir/ShadowInspect
一款企业级 Android 移动安全审计应用,结合端上 ML 检测、MITRE ATT&CK 威胁映射和游戏化教育,为安全人员和开发者提供从漏洞扫描到安全学习的完整平台。
Stars: 0 | Forks: 0
# 🛡️ ShadowInspect:基于机器学习的端上 Android 取证审计与集成 MITRE ATT&CK® 的威胁情报框架
[](https://kotlinlang.org)
[](https://developer.android.com/jetpack/compose)
[](https://dagger.dev/hilt/)
[](#)
**ShadowInspect** 是一款企业级、高度交互的 Android 网络安全与移动审计应用程序。该平台专为安全专业人员、开发者和学生设计,将实时威胁情报与游戏化的网络安全教育相结合,弥合了被动移动扫描与主动安全意识之间的差距。
## 🚀 核心功能
### 🔍 1. 威胁与漏洞扫描引擎
* **APK 二进制分析**:分析已编译的 Android 安装包 (`.apk`),检测可疑权限、隐藏的 endpoint 以及嵌入的恶意 URL。
* **端上安全审计**:对主机设备执行自动化配置检查(开发者模式状态、Root 检测指标以及权限漏洞)。
* **Web 威胁扫描**:检查统一资源定位符 (URL) 中的恶意标志、重定向循环和钓鱼签名。
* **深度文档与图像扫描**:审计文件 (PDF, DOCX) 和元数据 (EXIF 标签),以检测嵌入的漏洞利用、基于宏的恶意软件和追踪标记。
### 📊 2. MITRE ATT&CK® 情报浏览器
* **技术导航器**:原生探索行业标准 MITRE ATT&CK Matrix 的移动版本。
* **战术映射**:将检测到的 APK 漏洞直接关联到具体的 ATT&CK 战术(例如,*Initial Access, Command and Control, Persistence*)。
* **漏洞利用可视化**:深入展示页面,显示技术细节、典型威胁向量和专业的缓解策略。
### 🎓 3. 游戏化网络安全教育平台
* **结构化学习路径**:通过涵盖移动安全核心概念的 *初级*、*中级* 和 *高级* 路径进行学习。
* **互动测验与徽章**:验证您对安全原则的理解,以解锁受密码学启发、独特的数字成就。
* **MITRE 互动演练场**:在安全的 sandbox 中探索模拟攻击链,练习现实世界的检测工作流。
### 🔐 4. 密码学分析与高级管理
* **加密导出**:通过本地数据库加密安全地导出安全检查报告。
* **诊断中心**:监控实时的应用程序健康状况、内存分配诊断和后台线程。
* **细粒度权限审计**:提供互动解释,详细说明请求每个权限的原因及其使用方式。
## 🏗️ 系统架构
ShadowInspect 采用遵循现代 Android 架构指南的 **五层 MVVM 架构** 构建。Model-View-ViewModel 模式强制实现了 UI 渲染、业务逻辑和数据管理之间的严格分离——从而确保了独立的可测试性、清晰的维护性和模块化的可扩展性。
| 层级 | 职责 | 核心组件 | |:------|:--------------|:---------------| | **表现层** | 渲染 UI 并捕获用户输入。完全使用 Jetpack Compose 构建——零 XML 依赖。 | `Activities`, `Fragments`, `Jetpack Compose UI`, `Navigation Component` | | **ViewModel 层** | 调节业务逻辑与 UI 之间的交互。暴露由 UI 监听的响应式 `StateFlow` 流,并处理用户操作。 | `UrlScanViewModel`, `FileScanViewModel`, `PhoneScanViewModel`, `DocumentScanViewModel`, `ImageScanViewModel`, `DashboardViewModel`, `EducationViewModel`, `SettingsViewModel` | | **领域层** | 核心业务逻辑——与框架无关,可独立进行单元测试。定义 repository 契约和用例。 | `Use Cases / Interactors`, `Repository Interfaces`, `Domain Models`, `RiskScoreEngine`, `MitreAnalyzer` | | **数据层** | 实现 repository 接口。管理所有数据持久化与远程 API 通信。 | `Repository Implementations`, `Room Database`, `Retrofit API Clients`, `SharedPreferences`, `File System` | | **安全与 ML 层** | 驱动核心情报引擎的专用安全服务。 | `TensorFlow Lite Models`, `MITRE ATT&CK Parser`, `Permission Analyzer`, `Steganography Detector`, `Encryption Manager` | **外部系统:** `VirusTotal API` · `Phone Validation APIs` · `MITRE ATT&CK Framework`
## 🛠️ 技术栈
| 类别 | 技术 |
|:---------|:-----------|
| **语言** | Kotlin 1.9.x (Coroutines, Flow, StateFlow) |
| **UI 框架** | Jetpack Compose, Material Design 3, Lottie Animations |
| **依赖注入** | Dagger-Hilt (`@HiltAndroidApp`, `@Inject`, `@Provides`) |
| **导航** | Compose Navigation (类型安全参数,单 Activity) |
| **数据库与存储** | Room SQLite, Proto DataStore, SharedPreferences |
| **网络** | Retrofit 2, OkHttp 4, Gson Serialization |
| **机器学习** | TensorFlow Lite v2.14.0 (端上推理) |
| **安全** | Android Keystore, AES Encryption, BuildConfig key abstraction |
| **版本控制** | Git, Git LFS (用于 ML 模型和 MITRE 数据集的大文件存储) |
## 📊 ML 模型性能与准确率指标
端上 TensorFlow Lite 二分类模型针对精选的良性与恶意 APK 样本数据集进行了评估。以下是关键的性能基准测试结果:
| 指标 | 分数 | 描述 |
|:-------|:-----:|:------------|
| **整体准确率** | **94.2%** | 所有测试样本中的正确分类率 |
| **精确率** | **93.8%** | 预测为正例的样本中真阳性的比例 |
| **召回率** | **95.1%** | 实际为正例的样本中被正确预测为阳性的比例 |
| **F1-Score** | **94.4%** | 精确率与召回率的调和平均数 |
| **误报率** | **4.7%** | 被错误标记为恶意的良性样本比例 |
| **推理延迟** | **~120ms** | 设备上每个 APK 的平均分类时间 |
| **模型大小** | **~7.8 MB** | 经过优化的 TFLite 模型占用空间 |
## 🗺️ MITRE ATT&CK® 移动技术映射
ShadowInspect 将检测到的 APK 行为和设备漏洞映射到行业标准的 [MITRE ATT&CK® Mobile Matrix](https://attack.mitre.org/matrices/mobile/)。以下是已实施的关键战术-技术映射摘要:
| 战术 | 技术 ID | 技术名称 | ShadowInspect 检测方法 |
|:-------|:-------------|:---------------|:-------------------------------|
| **Initial Access** | T1474 | Supply Chain Compromise | APK 签名验证与证书链分析 |
| **Initial Access** | T1476 | Deliver Malicious App via Other Means | 未知来源安装标志检测 |
| **Execution** | T1575 | Native Code Execution | APK bundle 中原生库 (`.so`) 存在性扫描 |
| **Persistence** | T1398 | Boot or Logon Initialization Scripts | 清单文件中 `BOOT_COMPLETED` 广播接收器检测 |
| **Persistence** | T1402 | Broadcast Receivers | 隐式广播注册分析 |
| **Privilege Escalation** | T1626 | Abuse Elevation Control Mechanism | 设备管理员权限请求检测 |
| **Defense Evasion** | T1406 | Obfuscated Files or Information | 代码混淆指标分析 (ProGuard/R8 模式) |
| **Defense Evasion** | T1628 | Hide Artifacts | 隐藏的 activity/service 组件检测 |
| **Credential Access** | T1409 | Access Stored Application Data | `READ_EXTERNAL_STORAGE` 和数据目录访问模式 |
| **Discovery** | T1418 | Software Discovery | `QUERY_ALL_PACKAGES` 权限检测 |
| **Discovery** | T1426 | System Information Discovery | 设备指纹 API 调用模式分析 |
| **Collection** | T1429 | Capture Audio | 没有面向用户说明的 `RECORD_AUDIO` 权限 |
| **Collection** | T1512 | Capture Camera | 非相机应用中的 `CAMERA` 权限分析 |
| **Collection** | T1636 | Contact & Call Log Access | 通讯录/通话记录权限交叉比对 |
| **Command & Control** | T1437 | Application Layer Protocol | 可疑的出站 HTTP/HTTPS endpoint 分析 |
| **Exfiltration** | T1646 | Exfiltration Over C2 Channel | 网络权限与后台服务关联分析 |
| **Impact** | T1447 | Delete Device Data | `WRITE_EXTERNAL_STORAGE` + 批量文件操作检测 |
## 📦 安装与设置
1. **克隆代码库**:
git clone https://github.com/arbab-tahir/ShadowInspect.git
cd ShadowInspect
2. **LFS (Large File Storage) 需求**:
本项目使用 Git LFS 来追踪 TensorFlow Lite 模型和大型 MITRE ATT&CK JSON 数据集。请在拉取代码之前确保您已[安装 Git LFS](https://git-lfs.com/)。
git lfs install
git lfs pull
3. **环境变量 (API 密钥)**:
将提供的 `local.properties.example` 文件重命名为 `local.properties`,并添加您自己的 API 密钥。**切勿提交真实的密钥。**
# local.properties
VIRUSTOTAL_API_KEY=your_key_here
GEMINI_API_KEY=your_key_here
URLSCAN_API_KEY=your_key_here
ABSTRACT_API_KEY=your_key_here
NUMVERIFY_API_KEY=your_key_here
IPQUALITY_KEY=your_key_here
VERIPHONE_KEY=your_key_here
4. **在 Android Studio 中导入**:
* 打开 Android Studio(推荐使用 Koala/Ladybug 或更新版本)。
* 选择 **File > Open** 并选中 `ShadowInspect` 目录。
* 确保在 Android Studio 设置中选择了 JDK 17。
* 允许 Gradle 自动同步依赖项。
5. **运行应用程序**:
* 连接 Android 设备(通过 USB/Wi-Fi 调试)或启动模拟器(推荐 API 31+)。
* 点击 **Run (Shift + F10)**。
## 🎬 应用程序演示
*(演示视频链接将很快提供,如果您对此项目感兴趣,请通过电子邮件联系我。)*
## 📈 招聘者亮点:卓越的工程能力
以下是一些展示本代码库中实施的行业标准实践的亮点:
* **Clean Architecture**:完全解耦数据摄取、业务逻辑和 UI 页面。
* **性能优化**:通过使用状态保存、轻量级的 flow map 和自定义线程管理,避免不必要的重组。
* **严格的安全标准**:高优先级的安全参数,包括本地加密、严格的异常处理、通过 `BuildConfig` 保护 API 密钥以及运行时警告策略。
* **可扩展的主题系统**:完全可定制的“Cyber-Neon”主题,由 Jetpack Compose Material 3 颜色 token 提供支持。
## 🤝 贡献
欢迎贡献代码。请确保所有的 pull request 遵循现有的 `Clean Architecture` 规范,并确保不要在任何 PR 中提交敏感信息或 API 密钥。
## 📄 许可证与条款
本项目基于 Apache License 2.0 授权。版本:**3.0.1**。
有关更多详细信息,请查看应用程序中的设置面板或阅读项目文件中的法律文档。
📐 点击展开:详细层级描述
| 层级 | 职责 | 核心组件 | |:------|:--------------|:---------------| | **表现层** | 渲染 UI 并捕获用户输入。完全使用 Jetpack Compose 构建——零 XML 依赖。 | `Activities`, `Fragments`, `Jetpack Compose UI`, `Navigation Component` | | **ViewModel 层** | 调节业务逻辑与 UI 之间的交互。暴露由 UI 监听的响应式 `StateFlow` 流,并处理用户操作。 | `UrlScanViewModel`, `FileScanViewModel`, `PhoneScanViewModel`, `DocumentScanViewModel`, `ImageScanViewModel`, `DashboardViewModel`, `EducationViewModel`, `SettingsViewModel` | | **领域层** | 核心业务逻辑——与框架无关,可独立进行单元测试。定义 repository 契约和用例。 | `Use Cases / Interactors`, `Repository Interfaces`, `Domain Models`, `RiskScoreEngine`, `MitreAnalyzer` | | **数据层** | 实现 repository 接口。管理所有数据持久化与远程 API 通信。 | `Repository Implementations`, `Room Database`, `Retrofit API Clients`, `SharedPreferences`, `File System` | | **安全与 ML 层** | 驱动核心情报引擎的专用安全服务。 | `TensorFlow Lite Models`, `MITRE ATT&CK Parser`, `Permission Analyzer`, `Steganography Detector`, `Encryption Manager` | **外部系统:** `VirusTotal API` · `Phone Validation APIs` · `MITRE ATT&CK Framework`
标签:Android 审计, Cloudflare, Kotlin, MITRE ATT&CK, 威胁情报, 安全培训, 开发者工具, 目录枚举, 移动安全