blank-0x/privacy-shield

GitHub: blank-0x/privacy-shield

一款基于 Kotlin 和 Jetpack Compose 构建的 Android 安全隐私应用,集成 WiFi/BLE 设备检测、网络分析和安全工具套件,帮助用户在移动端完成隐私威胁识别和网络风险评估。

Stars: 0 | Forks: 0

# Privacy Shield 🛡️ ![Platform](https://img.shields.io/badge/platform-Android-green?style=flat-square&logo=android) ![Kotlin](https://img.shields.io/badge/kotlin-2.1.0-purple?style=flat-square&logo=kotlin) ![Min SDK](https://img.shields.io/badge/minSdk-21-blue?style=flat-square) ![Status](https://img.shields.io/badge/status-active-brightgreen?style=flat-square) ![License](https://img.shields.io/badge/license-MIT-orange?style=flat-square) Privacy Shield 是一款使用 Kotlin 和 Jetpack Compose 构建的 Android 安全与隐私应用。它能扫描附近的 WiFi 和 Bluetooth 设备,识别潜在威胁,并提供全套网络安全工具——全部在您的手机上完成。 ## 屏幕截图 | Home | Network | Tools | Device Detail | |------|---------|-------|---------------| | *coming soon* | *coming soon* | *coming soon* | *coming soon* | ## 功能 ### 🔍 设备检测 - WiFi 和 Bluetooth LE 扫描,支持实时更新 - 13 种设备类型分类:摄像头、麦克风、路由器、IoT、手机、平板等 - 使用自由空间路径损耗 (FSPL) 公式计算距离 - 根据设备类型和邻近度加权的隐私评分 (0–100) - MAC 厂商识别 —— 本地 OUI 数据库(约 500 条记录)+ API 回退 - 每台设备的信号历史记录 ### 🌐 网络分析 - 已连接网络信息:SSID、BSSID、IP、网关、DNS - 主机发现(子网 Ping 扫描) - DNS 泄露检查 - 安全分析:开放 WiFi、DNS 安全、网关暴露、IP 隐私 - **被动 Twin/Rogue AP 检测** —— 标记具有不匹配 OUI 的重复 SSID ### 🛠️ 安全工具 - **Port Scanner** —— 预设组(常用、Web、数据库、IoT)、自定义范围、带风险标签的结果 - **Ping** —— 带有最近 5 次结果的迷你条形图 - **WHOIS Lookup** —— 由 ipinfo.io 提供支持 - **Traceroute** —— 基于 TCP,实时跃点结果 - **CVE Lookup** —— 搜索 CIRCL 和 NVD 数据库并显示严重性徽章 - **Python Scanner** —— 纯 TCP 主机发现和服务检测(由 Chaquopy 驱动) ### 🔒 安全与隐私 - 生物识别应用锁(防崩溃,优雅降级) - 通过 WorkManager 进行后台扫描,间隔可配置 - 针对可疑设备和 Evil Twin 检测的推送通知 - 扫描历史记录(使用 Room 数据库),支持 CSV 和 PDF 导出 ### ⚙️ 设置 - 深色/浅色主题,带状态持久化 - 后台扫描间隔(15/30/60/120 分钟) - 清除历史记录、导出数据、关于页面 ## 构建变体 | Branch | Description | Root Required | |--------|-------------|---------------| | `main` | Release build — Play Store safe | No | | `dev` | Full build — extended root features | Optional | Root features (dev build only): true ICMP traceroute, nmap binary scanning via Chaquopy, raw socket operations. The dev build (root features) is distributed separately — see Releases. ## 技术栈 | Layer | Technology | |-------|------------| | Language | Kotlin 2.1.0 | | UI | Jetpack Compose + Material3 | | Architecture | Single Activity, MVVM, State hoisting | | Database | Room 2.6.1 (KSP) | | Background | WorkManager 2.9.0 | | Python | Chaquopy 16.0.0 (Python 3.11) | | Auth | AndroidX Biometric 1.1.0 | | Build | AGP 8.7.3, Gradle 8.9 | ## 环境要求 - Android 5.0+ (minSdk 21) - Target SDK 34 - Java: Android Studio JBR (included) - 对于 dev build:建议使用已 Root 的设备 ## 构建 ``` # 克隆 repo git clone https://github.com/cuenca125/privacy-shield.git cd privacy-shield # 构建 debug APK .\gradlew.bat assembleDebug # Windows ./gradlew assembleDebug # Linux/Mac # 安装到已连接设备 adb install -r app/build/outputs/apk/debug/app-debug.apk ``` ### 启用 Root 功能 (dev build) 在 `app/build.gradle.kts` 中,修改: ``` buildConfigField("boolean", "ENABLE_ROOT_FEATURES", "false") // to: buildConfigField("boolean", "ENABLE_ROOT_FEATURES", "true") ``` ## 项目结构 ``` app/src/main/java/com/privacyshield/ MainActivity.kt # ~2000 lines — entire app UI and logic ScanWorker.kt # WorkManager background scanning PythonBridge.kt # Chaquopy Python bridge OuiLookup.kt # MAC OUI database + API lookup EvilTwinDetector.kt # Passive rogue AP detection RootFeatureGate.kt # Root capability detection and gating data/ DeviceHistoryEntity.kt DeviceHistoryDao.kt AppDatabase.kt ScanSessionSummary.kt app/src/main/python/ nmap_scanner.py # Pure socket host/service scanner (Tier 1) nmap_scanner_root.py # nmap binary wrapper (Tier 2, root only) scapy_inspector.py # Scapy interface inspector app/src/main/assets/ oui_database.txt # ~500 OUI prefix entries ``` ## 已知限制 - Android MAC 随机化 (API 29+) 意味着大多数设备返回本地管理的 MAC —— 对这些设备无法进行厂商查找 - Traceroute 使用 TCP 端口 80 连接,而非真正的 ICMP —— 部分主机可能无响应 - Python Scanner 在 release build 中使用纯 TCP 连接 —— 阻止所有 TCP 端口的主机可能显示为离线 - Chaquopy 会使 APK 大小增加约 40MB - 在 Bootloader 已解锁的设备上,生物识别锁会自动禁用 - 后台扫描去重阈值:120 秒 ## 路线图 - [ ] GitHub Actions CI/CD pipeline - [ ] Play Store 发布 - [ ] 真正的 ICMP Traceroute (root/dev build) - [ ] WPA 握手捕获 (监听模式,root) - [ ] Evil Twin 主动检测 - [ ] CVE 查询与检测到的设备制造商集成 - [ ] IPv6 支持 - [ ] 主屏幕隐私评分小组件 ## 作者 **Juan** — [@blank-0x](https://github.com/blank-0x) 网络安全爱好者 · CompTIA Security+ 备考者 ## 许可证 MIT License —— 详情请参阅 [LICENSE](LICENSE)。
标签:Android应用, CVE查询, Jetpack Compose, Kotlin, Ping工具, Traceroute, WHOIS查询, WiFi扫描, 信号分析, 协议探测, 后渗透, 插件系统, 数据统计, 渗透工具, 物联网安全, 电子取证, 目录枚举, 移动安全, 端口扫描, 系统分析, 网络分析, 网络安全, 网络安全, 蓝牙探测, 设备探测, 逆向工具, 防偷拍, 防御绕过, 隐私保护, 隐私保护, 黑盒测试