dvir-sh/sentinel-mitm-guard
GitHub: dvir-sh/sentinel-mitm-guard
集成 VPN 代理、MITM 威胁扫描和视觉 AI 广告拦截的全自动安全浏览套件,为个人和组织提供隐私保护和恶意流量过滤。
Stars: 0 | Forks: 0
# 安全浏览套件 - VPN + MITM 威胁过滤 + 可视化广告拦截器
这是一个安全系统,结合了 **VPN 式 IP 掩码代理**、**基于 MITM 的实时威胁扫描器**和**可视化 AI 广告拦截器**,封装在全自动的客户端/服务端流水线中。专为想要私密、无广告、免受恶意软件侵扰的浏览体验的个人用户,以及需要监控和限制员工互联网流量的组织而构建。
## 功能特性
- **IP 掩码 / VPN 式代理** - 通过远程代理服务器路由流量,以隐藏用户的真实 IP。
- **自动配置 CA 证书** - 专供 MITM 浏览器使用,内置重试逻辑,无需用户手动设置。
- **两种扫描选项**
- *客户端扫描*:根据 VirusTotal 检查访问的 URL,并警告/关闭恶意标签页。
- *MITM 扫描*:在 HTTPS 流量到达浏览器之前对其进行拦截,在代理层面阻止恶意域名和下载的文件。
- **可视化 AI 广告拦截器** - 使用 YOLOv8 进行屏幕元素检测,并结合训练有素的 Keras 分类器直接在 DOM 中识别和隐藏广告,独立于静态拦截列表运行。
## 架构
| 组件 | 角色 |
|---|---|
| `main_client` | 主 GUI - 启动浏览器,切换广告拦截,管理登录 |
| `server_main_connects.py` | 认证服务器 (Flask + SQLite + PBKDF2) |
| `regular_proxy_server.py` | 普通 IP 掩码中继代理 |
| `mitm_proxy_server.py` | MITM 代理 - 通过 VirusTotal 进行域名/文件扫描,签发 CA |
| `regular_browser.py` | 带有标签页轮询恶意 URL 检查的浏览器 |
| `mitm_browser.py` | 通过 MITM 代理路由的浏览器,自动安装 CA |
| `visual_ml_potential_ads.py` | 基于 YOLO 的广告元素检测 + 几何预过滤 |
| `ad_blocker.py` | 结合检测 + Keras 分类 + DOM 隐藏的后台线程 |
**流程:** 客户端向认证服务器进行身份验证,然后启动普通浏览器或 MITM 浏览器(可选择将广告拦截器作为后台线程运行)。MITM 浏览器从 MITM 代理获取 CA 证书,以便在 HTTPS 流量到达用户之前透明地对其进行解密和扫描。
## 技术栈
- **编程语言:** Python, SQL
- **核心库:** mitmproxy, Selenium, PyQt5, TensorFlow/Keras, Ultralytics YOLOv8, OpenCV, Flask
- **外部服务:** VirusTotal API v3, Supabase(调试数据上传)
- **操作系统:** Windows
- **部署:** Railway (VPS) + GitHub 用于 CI 部署
## 🎯 实战中的可视化 AI 检测
在 YouTube 上实时运行的自定义两阶段可视化 AI 引擎:

### 🔍 可视化流水线如何处理页面:
* 🟧 **橙色框(启发式预过滤):** 由 YOLO 提出但被**本地过滤掉**(通过纵横比、最小尺寸和纯色启发式算法)的边界框,发生在到达神经网络*之前*。这消除了不必要的推理调用,并最大限度地减少了 CPU 延迟。
* 🎯 **目标广告框(CNN 分类):** 高潜力候选者被传递给自定义的 Keras CNN,该网络正确地隔离了**仅有的**两个实际广告缩略图,同时完全没有触碰所有合法内容。
* 🙈 **自动化 DOM 隐藏:** 一旦被分类为广告,该元素就会在 DOM 中被动态隐藏,同时注入一个 `MutationObserver`,以确保在滚动或页面重新渲染期间它始终保持隐藏状态。
标签:Python, VPN代理, 多线程, 安全网关, 广告拦截, 无后门, 机器视觉, 逆向工具