效果展示
、


一、为什么做这个?
起因很简单。银狐病毒(Fox)在国内越来越猖獗,主要通过仿冒 WPS、微信、QQ 等常用软件的官网,诱导用户下载运行恶意 EXE。这类钓鱼站的特点:
域名仿冒:wps-office.cc、weixin-update.com
页面高度模仿:1:1 克隆官方页面
诱导下载:伪装成“安全更新”、“破解补丁”、“绿色免安装版”
市面上已经有 VirusDetector 这样的开源方案,但有一个致命问题:误报率极高。
随便一个 AI 生成的交互网页、Fandom 维基、个人博客,都可能被判定为“代码工程化可疑”而触发拦截。用户被烦几次,直接就把插件关了。
所以我想做一款 “只检测真正有风险的地方” 的插件。
二、核心设计思路:没有下载,就没有风险
这是整个插件的核心原则。
传统的检测方案是“来一个页面检测一个”,不管页面有没有下载行为。我改成:只有页面提供了可执行文件下载链接时,才触发检测。
text
用户访问网页
│
▼
┌─────────────────────────────────────────────────────┐
│ L0:前置过滤 │
│ • 扫描页面所有链接,是否存在 .exe/.zip/.msi 下载? │
│ • 没有 → 直接放行,不检测,不打扰用户 │
└─────────────────────────────────────────────────────┘
│ 有下载
▼
┌─────────────────────────────────────────────────────┐
│ L1:白名单检查 │
│ • 大厂/政府官方域名 → 直接放行 │
└─────────────────────────────────────────────────────┘
│ 未命中
▼
┌─────────────────────────────────────────────────────┐
│ L2:深度检测(综合加权评分) │
│ ├─ 域名仿冒检测(编辑距离 + 关键词匹配) │
│ ├─ ICP 备案提取 & 矛盾检测 │
│ └─ 行为特征加权 │
└─────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 结果输出 │
│ • 高危(>80分)→ 拦截 + 红色警告 │
│ • 可疑(30-80分)→ 提示 + 用户确认 │
│ • 安全(<30分)→ 放行 │
└─────────────────────────────────────────────────────┘
关键点:没有下载链接的页面,连 L1 都不进,直接放行。这就从根本上解决了“AI 网页被误报”的问题。
三、技术实现
3.1 技术选型
项目 选型 理由
插件规范 Manifest V3 Chrome/Edge 最新标准
开发语言 JavaScript (ES6+) 纯前端,无需编译
数据存储 chrome.storage.local 纯本地,不上传任何数据
UI 框架 原生 HTML + CSS 零依赖,轻量
3.2 核心功能模块
- 前置过滤(L0)
扫描页面所有 <a> 标签,匹配以下扩展名:.exe、.zip、.rar、.msi、.apk、.dmg、.pkg、.iso、.bin、.sh、.deb、.rpm、.appx、.jar。
同时检测按钮的 onclick 事件中的跳转行为,覆盖“变相下载”场景。
- 域名仿冒检测
参考 VirusDetector 的算法,使用 4 种匹配策略 + 去连字符二次检测:
精确段匹配
标签子串包含(≥5 字符)
关键词堆叠(≥3 次)
约束编辑距离(≤2)
内置 40+ 品牌数据库(WPS、微信、QQ、钉钉、百度、微软、苹果、GitHub 等),覆盖银狐病毒最常仿冒的目标。
- ICP 备案提取
支持 34 个省级行政区简称,匹配三种格式:
完整格式:京ICP备12345678号
简化格式:粤ICP备2024178421
许可证格式:浙B2-20250178
公安备案:浙公网安备33010502011812号
- 白名单管理
内置主流大厂/政府域名,用户可自定义增删改,支持导入导出。
四、效果展示
正常网站(无下载链接)
不触发任何检测,用户无感知。
官方网站(有下载链接)
检测到下载链接,但域名在白名单中,直接放行,不报警。
仿冒钓鱼站(wps-office.cc)
触发域名仿冒检测 → 桌面通知提醒 → 日志记录 → 继续下载(用户决策)
可疑下载站(无 ICP + 大量下载链接)
触发 ICP 缺失 + 下载行为异常 → 风险评分 ≥ 30 → 弹窗提示
高危仿冒站(深度匹配)
触发规则一(域名仿冒)+ 规则三(ICP 缺失)+ 规则五(代码工程化)→ 评分 ≥ 80 → 红色警告
五、开源计划
项目已开源,基于 MIT 协议发布。部分检测能力借鉴自 VirusDetector,在此感谢开源社区。
GitHub 地址:hxtecc/fox-hunter
(8月13日发布第一版)
仓库内容:
完整的插件源码(Manifest V3)
40+ 品牌域名数据库
34 省份 ICP 提取正则
完整的管理页面(白名单、主题、日志、域名查询)
日志导出(JSON/CSV)
六、为什么叫“银狐猎手”?
银狐(Fox)是这类钓鱼木马的代号。“猎手”代表主动出击、精准识别,而不是被动防御。
七、一些思考
安全工具的第一原则是“不打扰用户”:如果频繁误报,用户会直接关掉插件,再好的检测能力也白费。
前置过滤是降低误报最有效的手段:没有下载行为的页面,不应触发任何安全检测。
纯本地检测是隐私保护的基础:所有分析在浏览器本地完成,不上传任何数据。
八、后续计划
集成完整的 VirusDetector 评分引擎(8 条规则)
支持 RDAP/Whois 域名注册信息查询
接入免费 IP 地理位置 API(检测海外 IP + ICP 备案矛盾)
通过 Cloudflare Worker 支持社区误报/钓鱼上报
欢迎技术交流,也欢迎提 PR 和 Issue。
8月13日发布第一版、
知道你们想看
