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