ABHAYMATHUR07/Threatzy

GitHub: ABHAYMATHUR07/Threatzy

一个以本地隐私保护为核心的移动端威胁检测与响应系统,利用后端情报聚合与前端 VpnService 实现低延迟、精准阻断。

Stars: 0 | Forks: 0

# 移动威胁防御 (MTD) 零信任、注重隐私的 Android 防火墙,配备 Python/Flask OSINT 后端。 **用户流量绝不会离开设备进行检查。** ## 仓库结构 ``` mobile-threat-defender/ ├── backend/ ← Python/Flask server │ ├── app.py ← Flask entry point + APScheduler │ ├── config.py ← All configuration (URLs, paths, intervals) │ ├── models.py ← SQLAlchemy models (IOC, FeedRun) │ ├── ingestion.py ← OSINT feed parsers (Spamhaus, URLhaus, ThreatFox, Feodo) │ ├── threat_scoring.py ← Threat score engine (confidence + severity + recency decay) │ ├── delta_generator.py ← Delta computation + JSONL.gz writer │ ├── crypto_utils.py ← RSA-2048 keypair + PKCS#1v15 signing/verification │ └── requirements.txt │ └── android/ └── app/ ├── build.gradle ← Dependencies + BACKEND_BASE_URL └── src/main/ ├── AndroidManifest.xml ├── kotlin/com/mtd/ │ ├── MtdApplication.kt ← App class (Timber init) │ ├── BootReceiver.kt ← Reschedule WorkManager on boot │ ├── PacketParser.kt ← IPv4/IPv6 + TCP/UDP + DNS + TLS SNI │ ├── ThreatMatcher.kt ← Bloom Filter + Radix Trie + Domain Trie │ ├── TcpRstForger.kt ← TCP RST packet synthesis │ ├── MtdVpnService.kt ← VpnService + packet interception loop │ ├── FeedUpdater.kt ← WorkManager: download + verify + apply │ └── ui/MainActivity.kt ← Control panel + live stats └── res/layout/activity_main.xml ``` ## 后端设置(本地机器) ### 先决条件 - Python 3.10+ - (可选)Redis — 如果未运行,Flask 应用仍可使用 SQLite + 文件存储 ### 1. 安装依赖 ``` cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt ``` ### 2. 运行 ``` ``` 服务器将在 `http://0.0.0.0:5000` 启动。 首次启动时将: - 创建 `mtd.db`(SQLite) - 在 `keys/private.pem` 与 `keys/public.pem` 中生成 RSA-2048 密钥对 - 立即运行首次摄取周期(获取实时 OSINT 源) - 每 6 小时调度一次后续运行 ### 3. 验证 ``` curl http://localhost:5000/api/v1/stats curl http://localhost:5000/api/v1/keys/public curl "http://localhost:5000/api/v1/feeds/latest" ``` ## Android 设置(Android Studio) ### 先决条件 - Android Studio Hedgehog 或更新版本 - 运行 API 26+(Android 8.0)的 Android 设备或模拟器 - 后端在本地机器上运行 ### 1. 导入项目 打开 Android Studio → **Open** → 选择 `android/` 文件夹。 ### 2. 设置后端 URL 编辑 `app/build.gradle`: ``` buildConfigField "String", "BACKEND_BASE_URL", "\"http://:5000\"" ``` - 对于 **Android 模拟器**,使用 `10.0.2.2`(映射到本机 localhost)。 - 对于同一 Wi-Fi 下的 **物理设备**,使用本机 LAN IP(例如 `192.168.1.10`)。 ### 3. 添加占位图资源 Android Studio 会标记缺失的绘图资源。请创建两个简单的矢量资源: - `res/drawable/ic_shield.xml` — 盾牌图标(使用 Material 图标 `security`) - `res/drawable/ic_stop.xml` — 停止图标(使用 Material 图标 `stop`) 快速解决方法:右键点击 `res` → **New → Vector Asset** → 选择图标。 ### 4. 添加字符串资源 在 `res/values/strings.xml` 中: ``` Mobile Threat Defender ``` ### 5. 添加 Material3 主题 在 `res/values/themes.xml` 中: ```