今天上午,有个读者加我 QQ,说打开我的博客会跳一个安全警告,问我是不是电脑中毒了。
我当时第一反应是:不会吧,我这站连后端都没有,纯静态挂在 Cloudflare Pages 上,能有什么毒。
结果我自己装上那个插件一试。好家伙,比我预想的还离谱。

到底弹了什么
地址栏敲下 zakofox.cn,页面还没完全渲染出来,屏幕顶部先横过来一条警示条:
风险警告:该网站被检测为疑似钓鱼/恶意网站,请勿输入个人信息或下载任何文件!
紧接着正中弹出一个卡片,标题写着「安全警告 - 银狐木马检测」,正文一行大字:
该网站被识别为疑似钓鱼/恶意网站!
下面还有一句「请勿输入任何个人信息、账号密码或进行支付操作」,再往下是一个表格,列着「当前网站:zakofox.cn」「检测时间:2026/9/27 10:09:30」,最后贴了两条「安全建议」:不要在可疑网站输入个人信息、不要下载或运行该网站的任何文件。
整个过程行云流水,措辞相当有威慑力。要不是这站是我自己一行行写出来的,我可能真就信了。
说句实话,看到「疑似钓鱼」四个字的时候我确实有点上火。我这站放着的技术教程、游戏杂谈,最敏感的内容大概就是那篇 Steam 安装教程。它跟钓鱼、跟银狐木马、跟「输入账号密码」这件事,隔着十万八千里。
装的到底是什么东西
冷静下来之后,我先去把这个插件查了一遍。
它叫「银狐木马检测 - Virus Detector」,作者是 B 站的酪酪肽,源码开源在 GitHub,Firefox、Edge、Chrome 都有版本。
平心而论,这个插件要解决的问题是真实存在的。银狐木马这两年确实猖獗,北大计算中心转过国家计算机病毒应急处理中心的通告,它主要盯着企事业单位的管理、财务人员,手法是把木马伪装成快捷方式、压缩包、文档,再用一批仿冒正规软件的钓鱼站做分发。这类攻击对普通人来说确实很难靠肉眼识别,有工具帮忙盯一下不是坏事。
它的工作方式是给每个页面跑一套打分:域名仿冒、ICP 备案核查、下载拦截、链接分析、代码工程化检测,几项加起来超过阈值就报警。
问题恰恰出在这个「阈值」和「打分」上。
3DM 也被拦了
本来我以为是我这站的什么问题,直到我拿同一个插件去访问 3DM 的软件站。

一模一样的横幅,一模一样的卡片,一模一样的「该网站被识别为疑似钓鱼/恶意网站!」,连「安全建议」那两条都一个字没差。
3DM 是什么体量的站,不用我多介绍。一个在国内单机游戏圈存在了二十年的老站,被同一套规则判定成「疑似钓鱼」。这就不是我的站有什么问题了,这是这套规则本身的问题。
顺带说一句,去它的 issue 区翻一圈,误报反馈堆了一串没人处理。这说明被拦的远远不止我和 3DM 两家。只不过大多数站长要么没发现,要么发现了也懒得折腾,默默把流量损失咽下去了。
我猜是怎么被判定的
这里我要先说清楚:以下是我的推测。插件没公开具体规则,我也拿不到它的判定日志。
我怀疑触发点是页脚那两个备案号。
我的页脚挂着两个东西,一个是「萌ICP备20250341号」,来自 icp.gov.moe,是二次元圈子里的玩票备案;另一个是「假ICP备1202640号」,来自 fakeicp.top。它还提供了一个访问量统计小挂件。
而插件的检测规则里,恰好有一条叫「ICP 备案核查」。
一个自动化的规则,看到页面上有「ICP备」字样,去工信部备案库里一查,查无此号,判定为伪造备案,扣分。至于这两个号本来就是圈内人做着玩的东西,规则一概不问。
这就要说到它的更新日志了。v2.5.2 版本(2026 年 8 月 7 日)的更新说明里写着这么一句:
仿冒检测评分体系重构 —— 从「命中即判定」到「分级嫌疑 + 跨规则联…」
「命中即判定」这五个字,基本把之前误报频发的原因交代清楚了:只要碰到某一条规则,就直接定性,不做交叉验证,不考虑上下文。这种写法在开发阶段最省事,报警数量也一定很可观。代价就是大量正常网站被顺带打死。
作者在 8 月重构了评分体系,说明他自己也知道这个问题。但可惜,我这不是照样被拦了么。
还有一个可能:它在看你的代码
除了备案号,我还有一层怀疑。
插件的能力列表里有一条叫「代码工程化检测」。这几个字我琢磨了很久。它大概会去扫你的 HTML 和 JS,看看有没有「可疑特征」。
而我的站,如果只看表面特征,确实挺像那么回事:
- 页面里有大量外链脚本。字体从 Google Fonts 和 jsDelivr 拉,图标走 Iconify,评论走 giscus.app,搜索索引是 Pagefind,还有个 Ruffle 的 Flash 模拟器从 unpkg 加载。
- 页面里有外链下载。音乐播放器的歌单指向
cdn.240900.xyz和music.163.com的 mp3 直链。 - 页面里全是压缩混淆过的打包产物。任何前端框架编译出来的 JS 都这样,字符密度高得离谱。
这几样单独看都不奇怪,静态博客十有八九如此。但要是有一条规则在数「外链脚本数量」,或者判断「是否从陌生域名加载资源」,那就很容易踩线。
我特意强调一下:这一段纯属推测,我没有办法验证。我把它写出来,目的倒不是指控插件哪条规则写错了,是想说明一个更普遍的问题:用代码特征去判断一个网站的性质,本身非常容易误伤。现代网页的外链、压缩、动态加载是常态,不是可疑信号。
这种误报的代价,基本都由站长承担
顺着前面说下去。这类「安全工具」出错的时候,成本是怎么分配的?
插件这边:用户点一下「此报告有误」,汇总进 issue 列表,运气好能排进下个版本的修复计划。作者确实在迭代,这一点我不否认。
站长这边,损失是实打实的:
流量。 每一个被吓走的访客都是净损失。博客这种站靠的就是自然流量和回头客,没有投放,没有买量,掉一个是一个。而且这种流失是无声的。你既看不到跳出率异常的原因,也等不到对方来问你一句。
品牌。 读者看到「恶意网站」四个字,多半不会先怀疑插件,而是先怀疑这站。这个印象很难消除。哪怕插件下周就修好了,那个读者的记忆不会跟着修好。
时间。 要发现被拦(大多数站长根本不知道)、要复现、要判断是不是自己的问题、要满世界找反馈渠道、要斟酌怎么写才不会被当成无理取闹。整套跑下来,半天没了。
而这一切的起因,只是一个自认还在「可能误报」阶段的工具,把我的站判成了「恶意」。
做得好的工具是怎么样的
我不是说个人开发者不该做安全工具。恰恰相反,我是想说,这件事有现成的正确答案可以抄。
主流的安全网址检测,比如 Google Safe Browsing、腾讯网址安全中心、360 网址安全检测,有几个共同点。
第一,措辞克制。 它们会写「此网站可能包含有害程序」,而不会写「该网站是恶意网站」。前者是概率陈述,后者是事实断言。这个差别在工程上很小,在对站长的影响上很大。
第二,有正经的申诉通道。 站长能直接看到自己为什么被拦、要改什么,整改完提交重新审核,通常几小时到几天出结果。这是流程,不靠人情,也不靠用户替站长点按钮。
第三,宁可漏报,不轻易定罪。 安全行业有个常识:误报的代价通常高于漏报。因为误报伤害的是无辜的第三方,而漏报背后还有浏览器沙箱、杀软、用户自己的判断力兜底。
对照下来,一个阈值调得极低、措辞用「恶意」、反馈全靠用户手动点、issue 堆着不处理的工具,缺的恰恰是这三条里的每一条。
更让我在意的是另一件事
真正让我不舒服的,不是被判错。自动化检测会出错,这我能理解,任何做技术的人都知道这是常态。
让我不舒服的是这个错误的成本分配。
插件作者在 Firefox 扩展页面上其实写得很清楚:
本扩展仍在持续开发迭代中,当前版本仍可能存在未知 bug 或误报情况。 如遇到以下问题,欢迎通过弹窗底部的一键反馈功能向我们报告: • 正常网站被误判为危险(点击「此报告有误」)
我知道误报难免,我也相信作者不是故意针对谁。但把一个还在「可能误报」阶段的工具,用「疑似钓鱼」「恶意网站」这种定罪式措辞,直接怼到用户屏幕前,这个组合本身就有问题。
这插件装了多少人呢?Firefox 商店上写着 71 个用户。数字不大,但 Edge 和 Chrome 加起来肯定更多。这些都是真实的人,看到「恶意网站」四个字,绝大多数不会去点那个小小的「此报告有误」,他们的选择是关掉页面,然后永远不再来。
而我要做什么呢?我得先自己发现被拦了(这次还是读者告诉我的),然后自己去反馈,等作者处理(issue 区一堆没人管的),处理完了还得等插件更新,等更新分发到用户手里。
整个过程里,我的站一直在被拦。
如果作者能看到这篇,我没有要开撕的意思。你做的事情有价值,方向我认。但我想提一个建议:默认别用「恶意」这种词。你不确定的,就写「未通过安全检测,建议谨慎访问」,把判断权还给用户。现在这个措辞,是把你的不确定,包装成了对我网站的确定指控。
说是「恶意拉黑」可能有点重,毕竟没有证据表明是人为针对。但说实话,一个站长辛苦攒的流量,就这么被一套没验证过的规则顺手掐掉,你让我怎么心平气和地看待它。
所以,访问本站请这样做
如果你装了「银狐木马检测 - Virus Detector」,看到访问 zakofox.cn 时弹出警告,那是误报,本站没有任何问题。
几个处理办法,按推荐程度排:
最省事的:直接禁用这个插件。 我不建议你为了访问一个博客去折腾白名单。这类插件目前的状态就是误报率偏高,禁用掉、靠自己的判断力上网,比装一个时不时冤枉好人的工具要舒服。浏览器地址栏输 chrome://extensions(Edge 是 edge://extensions,Firefox 是 about:addons),找到它,关掉开关就行。
如果你还想留着它: 在弹出的警告卡片里找「此报告有误」之类的反馈按钮点一下。这能帮作者改进规则,也算是帮后面被误拦的站长一把。不过别指望立刻生效。
如果你懂点技术: 打开 F12,或者干脆换个没装插件的浏览器、无痕窗口访问。本站是纯静态站,源码在 GitHub 上公开着,你可以自己翻,看看里面到底有没有能「钓」到你的东西。
顺便说一句,我这个站连登录功能都没有,评论区用的是 Giscus(走 GitHub 账号,本站不接触你的密码),也没有任何表单让你填账号密码。想被骗都没地方填。
最后
做站这么久,被搜索引擎降权过,被 CDN 抽风坑过,被各种爬虫薅过流量。但被一个「安全工具」贴上「恶意网站」的标签,这还真是头一回。
我理解做安全工具的人不容易,尤其是个人开发者,规则稍有偏差就是误伤。但反过来说,正是因为这个位置有权力——你说谁是恶意网站,用户就信谁是恶意网站——所以才更应该谨慎。工具越是有判断权,越要克制自己的判断。
这篇文章发出来之后,我会去那个 issue 区正式反馈一次。处理了我就回来更新;如果一直没动静,这篇就留着当个记录。
毕竟今天是 3DM,是我,明天可能就是你的站。
文中截图均为 2026 年 9 月 27 日的实际界面,已遮挡浏览器收藏栏。插件版本更新后情况可能变化。