VAROIndustries/LinkGuard

GitHub: VAROIndustries/LinkGuard

一款 Windows 系统托盘反钓鱼应用,通过启发式评分和可选 API 在恶意 URL 打开前进行实时拦截与预警。

Stars: 1 | Forks: 0

# LinkGuard _由 [VARØ Industries](https://varo.industries/apps) 开发_ 一款 Windows 系统托盘应用程序,可静默监控 URL——包括您的剪贴板以及您点击的每一个链接——并在钓鱼网页加载之前向您发出警告。 ![Python 3.12](https://img.shields.io/badge/Python-3.12-blue) ![平台 Windows](https://img.shields.io/badge/Platform-Windows-lightgrey) ![许可证 MIT](https://img.shields.io/badge/License-MIT-green) ## 功能 - **剪贴板监控** — 您一复制即可检测到 URL - **链接拦截** — 可选注册为系统 `http`/`https` 处理程序,以便优先检查每一个点击的链接(无需管理员权限) - **启发式分析** — 无需任何 API 密钥,即可根据 12 个以上的风险信号对 URL 进行评分 - **API 集成** — 可选的 Google Safe Browsing 和 VirusTotal 检查 - **白名单 / 黑名单** — 一键始终允许或始终阻止某个域名 - **历史记录** — 记录每个检查过的 URL 及其得分和采取的操作 - **随 Windows 启动** — 可在“设置”窗口中进行配置 - **无控制台窗口** — 通过系统托盘在后台静默运行 ## 风险信号 | 信号 | 得分 | |---|---| | 以原始 IP 地址作为主机名 | +40 | | URL 中包含 `@`(凭据嵌入技巧) | +35 | | 同形异义字 / 拼写仿冒(`paypa1.com`) | +35 | | 子域名中包含品牌名称(`paypal.evil.com`) | +30 | | 域名标签中嵌入品牌名称(`bankofamerica-secure.tk`) | +22 | | IDN punycode 域名(`xn--`) | +22 | | URL 缩短器(隐藏最终目的地) | +22 | | 高风险 TLD(`.tk`, `.ml`, `.ga`, `.cf`, `.gq`, `.xyz`, …) | +18 | | 开放重定向参数 | +15 | | 子域名深度过大 | +15 | | 可疑路径关键字(login、verify、account、…) | +5–12 | | 未加密的 HTTP + 敏感路径 | +8 | **风险等级:** 干净 (0–21) · 可疑 (22–54) · 钓鱼 (55+) ## 安装 **环境要求:** Python 3.12 · Windows 10/11 ``` git clone https://github.com/VAROIndustries/LinkGuard.git cd LinkGuard pip install -r requirements.txt ``` **运行(无控制台窗口):** ``` pythonw LinkGuard.pyw ``` 或者在资源管理器中双击 `LinkGuard.pyw`。 **构建独立的 `.exe`:** ``` build.bat ``` ## 使用说明 启动后,系统托盘中会出现一个盾牌图标。 | 托盘操作 | 描述 | |---|---| | **检查 URL…** | 手动粘贴并检查任意 URL | | **设置…** | 打开设置窗口 | | **暂停监控** | 临时停止剪贴板检查 | | **退出** | 退出应用程序 | ### 警报对话框 当检测到可疑或钓鱼 URL 时,您会看到一个弹窗,显示风险等级、得分条以及具体发现。您可以: - **仍然打开** — 仅此一次访问该 URL - **始终允许** — 将该域名添加到您的白名单(不再提示) - **阻止域名** — 添加到黑名单(今后将被静默阻止) - **关闭** — 不执行任何操作 ### 链接拦截(协议处理程序) 在“设置” → “常规”中启用 **“拦截所有 http/https 链接点击”**。LinkGuard 会将自己注册为 `HKEY_CURRENT_USER` 下的系统 URL 处理程序(无需管理员权限)。在任何应用程序中点击的每个链接,在浏览器打开之前都会先经过检查。 如需禁用,请取消勾选同一设置,您之前的默认浏览器会自动恢复。 ## 设置 | 设置 | 描述 | |---|---| | 随 Windows 启动 | 在 `HKCU\...\Run` 中添加一个条目 | | 监控剪贴板 | 每 600 毫秒轮询一次剪贴板 | | 拦截链接点击 | 注册为 http/https 协议处理程序 | | 风险阈值 | 在 *可疑及以上* 或 *仅钓鱼* 时发出警报 | | Google Safe Browsing 密钥 | 免费 — 每天 10,000 次请求 | | VirusTotal 密钥 | 免费 — 每分钟 4 次请求 | ### 添加 API 密钥 这两个 API 都是可选的。启发式检查无需任何密钥即可运行。 - **Google Safe Browsing:** [console.cloud.google.com](https://console.cloud.google.com) → 启用 Safe Browsing API → 创建 API 密钥 - **VirusTotal:** [virustotal.com](https://www.virustotal.com) → 注册 → My API key 密钥本地存储在 `%APPDATA%\LinkGuard\linkguard.db` 中,除了发送至各自的 API endpoint 外,绝不会发送到任何其他地方。 ## 数据与隐私 所有数据都保留在您的机器上: - **数据库:** `%APPDATA%\LinkGuard\linkguard.db` — 白名单、黑名单、历史记录、设置 - **日志:** `%APPDATA%\LinkGuard\linkguard.log` - **无遥测。** 只有在您配置了 Google Safe Browsing 或 VirusTotal API 密钥时,URL 才会发送到外部。 ## 许可证 MIT
标签:Python, URL检测, Windows客户端, 威胁情报, 开发者工具, 无后门, 桌面工具, 网络安全, 防钓鱼, 隐私保护