arbab-tahir/ShadowInspect

GitHub: arbab-tahir/ShadowInspect

一款企业级 Android 移动安全审计应用,结合端上 ML 检测、MITRE ATT&CK 威胁映射和游戏化教育,为安全人员和开发者提供从漏洞扫描到安全学习的完整平台。

Stars: 0 | Forks: 0

# 🛡️ ShadowInspect:基于机器学习的端上 Android 取证审计与集成 MITRE ATT&CK® 的威胁情报框架 [![Kotlin](https://img.shields.io/badge/Kotlin-1.9.0-purple.svg?style=flat&logo=kotlin)](https://kotlinlang.org) [![Compose](https://img.shields.io/badge/Jetpack_Compose-2024.02-blue.svg?style=flat&logo=jetpackcompose)](https://developer.android.com/jetpack/compose) [![Hilt](https://img.shields.io/badge/Dagger_Hilt-2.50-orange.svg?style=flat)](https://dagger.dev/hilt/) [![Security](https://img.shields.io/badge/Cybersecurity-Mobile_Defense-red.svg?style=flat-square)](#) **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 渲染、业务逻辑和数据管理之间的严格分离——从而确保了独立的可测试性、清晰的维护性和模块化的可扩展性。

ShadowInspect System Architecture Diagram

📐 点击展开:详细层级描述
| 层级 | 职责 | 核心组件 | |:------|:--------------|:---------------| | **表现层** | 渲染 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**。 有关更多详细信息,请查看应用程序中的设置面板或阅读项目文件中的法律文档。
标签:Android 审计, Cloudflare, Kotlin, MITRE ATT&CK, 威胁情报, 安全培训, 开发者工具, 目录枚举, 移动安全