近年来,钓鱼攻击的方式正在快速变化。过去,攻击者通常会注册仿冒域名、搭建钓鱼服务器,或者诱导用户下载恶意文件。但现在,一些攻击者开始把 npm 仓库、公共 CDN 服务和前端反分析脚本结合起来,形成一种更加隐蔽的新型攻击链。
这类攻击不再单纯依赖“安装恶意包”,而是把 npm 当作恶意页面的托管仓库,再借助公共 CDN 的分发能力,把钓鱼页面伪装成正常资源链接发送给目标用户。对于企业安全团队来说,这意味着防护重点不能只停留在终端杀毒、域名黑名单和邮件网关层面,CDN 访问链路本身也需要被纳入安全观察范围。
传统供应链攻击中,攻击者往往会通过“拼写相似包名”“仿冒热门依赖”“植入恶意脚本”等方式,诱导开发者在项目中执行:
npm install xxx
一旦恶意依赖被安装,就可能执行挖矿脚本、窃取环境变量、读取 Git 配置、获取 CI/CD 凭据,甚至进一步横向移动。
但近期出现的一类攻击方式更加隐蔽:攻击者并不一定期待开发者主动安装这些 npm 包,而是把 npm 仓库当成静态页面和恶意脚本的托管平台。
攻击链大致如下:
上传恶意 npm 包
↓
包内包含钓鱼 HTML / JavaScript 文件
↓
通过 jsDelivr、unpkg 等公共 CDN 自动分发
↓
构造 CDN 链接发送给目标用户
↓
用户访问后进入钓鱼页面
↓
触发凭证窃取或会话劫持
这种模式的关键点在于:攻击者不是利用 npm 的“安装链路”,而是利用 npm 生态背后的“内容分发链路”。
对于很多企业来说,cdn.jsdelivr.net、unpkg.com 这类域名属于常见开发资源,网络设备往往不会直接拦截。攻击者正是利用了这种信任基础,让钓鱼页面“寄生”在公共 CDN 之上,从而绕过传统域名封禁和简单黑名单策略。
普通钓鱼站点通常存在几个明显弱点:
第一,域名容易被举报和封禁。
第二,服务器 IP 容易被拉黑。
第三,访问路径和证书信息容易暴露攻击基础设施。
第四,安全厂商爬虫可以较快发现并标记风险页面。
而公共 CDN 不一样。
CDN 平台本身承担的是静态资源加速和全球分发功能,很多企业、开发者和 SaaS 平台都会频繁访问。攻击者一旦把恶意内容放进 npm 包中,再借助公共 CDN 生成访问链接,就可以把风险隐藏在看似正常的 CDN 流量里。
这对安全检测提出了新的挑战:
访问域名看起来正常
请求协议是 HTTPS
资源路径看起来像静态文件
页面托管在公共 CDN 上
传统黑名单不一定命中
数掘CDN 安全团队认为,这类攻击说明企业不能只关注“谁访问了恶意域名”,还要进一步关注“正常域名下是否出现异常访问路径、异常访问对象和异常业务行为”。
这类恶意 npm 包中的钓鱼页面并不是简单的静态仿冒页面。部分攻击者会在前端代码中加入反分析逻辑,用来识别爬虫、安全沙箱和自动化扫描器。
常见方式包括:
攻击者会在页面中加入普通用户看不到的隐藏输入框。正常用户不会填写这些字段,但自动化爬虫或扫描器可能会遍历页面中的所有输入项并自动填充。
一旦隐藏字段出现值,攻击脚本就可以判断当前访问者可能不是正常用户,而是安全检测程序,从而停止跳转或返回正常页面。
这种方式可以降低钓鱼页面被自动化安全系统识别的概率。
部分恶意页面会监听鼠标移动、点击、触摸滑动等行为。只有检测到真实用户操作后,钓鱼流程才会继续执行。
例如:
没有鼠标移动 → 不加载真正的钓鱼脚本
没有触摸事件 → 不跳转凭证窃取页面
没有真实交互 → 返回空白或正常页面
这种方式会让沙箱和爬虫检测失效,因为很多自动化环境只会加载页面源码,并不会模拟完整的人类交互行为。
攻击者还可能使用 setTimeout、动态脚本加载、条件判断、环境检测等方式延迟执行恶意逻辑。
这样一来,安全设备如果只做短时间页面抓取,就可能看不到真正的攻击代码。
更值得注意的是,一些钓鱼页面并不只是简单地仿冒登录页,而是可能结合 AitM,也就是“中间人钓鱼”方式。
这类攻击会把受害者访问代理到真实的登录服务中。例如用户以为自己正在登录 Microsoft、企业邮箱或云服务平台,实际上请求流量经过攻击者控制的代理服务器。
攻击者可以实时获取:
账号
密码
验证码
MFA 认证过程
Session Cookie
登录令牌
这意味着,即便企业开启了短信验证码、邮箱验证码或 App 确认类 MFA,也不一定能完全阻止攻击。因为攻击者的目标可能不是密码本身,而是认证成功后的会话 Cookie。
一旦 Session Cookie 被窃取,攻击者就可能绕过二次验证,直接模拟用户登录状态访问企业系统。
因此,对于高价值账号、管理后台、企业邮箱、代码仓库和云平台账号,建议逐步采用更强的抗钓鱼认证方式,例如 FIDO2 硬件密钥、Passkey、设备绑定和风险登录检测。
过去,npm 恶意包更容易让人联想到开发者、运维人员和 CI/CD 环境。但这类“npm + CDN 托管钓鱼页面”的攻击方式,目标并不一定是技术人员。
攻击者可能会把链接伪装成:
合同文件
报价单
采购清单
发票
云文档
订单确认
会议资料
客户资料
项目图纸
然后发送给销售、商务、采购、客户经理、行政或业务拓展人员。
这些岗位有一个共同特点:经常需要接收外部文件和陌生链接。相比技术人员,他们对 npm、CDN、静态资源托管等概念并不敏感,更容易把公共 CDN 链接误认为普通文件访问地址。
这也说明,企业安全培训不能只覆盖技术部门。业务部门、销售团队、客服团队、财务人员同样需要了解新型钓鱼链接的风险。

在传统安全体系中,CDN 往往被看作加速工具,主要用于提升网站访问速度、降低源站压力、优化跨区域访问体验。
但在当前攻击趋势下,CDN 也应成为企业安全体系的一部分。
数掘CDN 建议企业重点关注以下异常现象:
非研发部门设备频繁访问 npm CDN 资源
办公终端访问异常静态 HTML 页面
CDN 请求路径中出现 login、verify、secure、docs、onedrive 等敏感词
短时间内大量访问陌生 CDN 路径
同一终端访问 CDN 后立即出现异常登录行为
CDN 页面访问后触发账号安全告警
这些行为单独看可能并不明显,但如果和终端日志、网关日志、邮箱安全日志、账号登录日志结合分析,就可能还原出完整的钓鱼攻击链。
面对这类“借 CDN 隐身”的钓鱼攻击,单靠传统黑名单并不够。企业需要从访问行为、请求特征、IP 风险、URL 路径、访问频率等多个维度进行综合判断。
数掘CDN 可从以下几个方面帮助企业提升安全能力:
通过 CDN 访问日志,企业可以观察用户访问来源、请求路径、访问频率、状态码、User-Agent、Referer 等信息。
当某些非业务终端频繁访问可疑 CDN 资源,或者访问路径明显与业务无关时,安全人员可以进一步追踪分析。
钓鱼页面常常会使用带有诱导性的路径,例如:
secure-login
document-verification
onedrive-check
invoice-review
account-update
mfa-verify
数掘CDN 可结合访问路径特征,辅助识别异常访问行为,并为企业安全策略提供参考。
对于企业自有业务,数掘CDN 可结合 WAF 防护策略,对异常请求、恶意扫描、伪造请求、异常跳转和敏感路径访问进行拦截或限速。
这可以帮助企业降低源站暴露风险,同时提升前置防护能力。
攻击链中往往会出现代理 IP、异常地区访问、数据中心 IP 或高风险来源。通过 IP 风险画像和访问行为分析,可以辅助判断请求是否存在异常。
CDN 不应只是“加速分发”,更应成为企业网络安全的前置观察点。数掘CDN 在提升访问速度的同时,也可帮助企业增强访问链路的可见性和风险识别能力。
针对 npm 与公共 CDN 被滥用的情况,企业可以从以下几个方面加强防护:
公共 CDN 域名本身并不等于安全。企业应关注访问内容、访问路径和访问行为,而不是只判断域名是否知名。
如果销售、财务、客服等岗位频繁访问 npm 包 CDN 资源,就需要关注是否存在钓鱼邮件诱导访问的情况。
邮件网关应对外部链接进行重写、检测和沙箱分析。对于 CDN 链接,也不应默认放行。
普通验证码类 MFA 在 AitM 攻击下可能被绕过。高价值账号建议使用 FIDO2、安全密钥、Passkey 等更强认证方式。
单点日志很难发现复杂攻击。企业应将 CDN 访问日志、邮箱日志、账号登录日志、终端告警和网关日志进行关联分析。
业务人员需要知道:即便链接来自常见 CDN 域名,也不能代表页面一定安全。凡是要求输入账号、密码、验证码或授权登录的页面,都应谨慎确认来源。
npm 恶意包过去更多意味着供应链风险,而现在,它也可能成为钓鱼页面的托管载体。
攻击者不一定要让开发者安装恶意包,只需要让受害者点击一个 CDN 链接,就可能完成凭证窃取、会话劫持或钓鱼跳转。
这说明企业安全边界正在发生变化:
过去防的是恶意下载
现在还要防恶意访问
过去关注软件依赖
现在还要关注 CDN 链路
过去重视开发环境
现在业务终端同样高危
过去依赖 MFA
现在还要防 Session Cookie 被盗
对于企业来说,CDN 已经不只是性能加速工具,也应成为安全治理体系中的重要一环。
数掘CDN 建议企业重新审视 CDN 访问日志、公共 CDN 访问策略、业务终端访问行为和账号登录风险。只有把加速、防护、日志、风控和身份安全结合起来,才能更好应对这类新型钓鱼攻击。
恶意 npm 包借助公共 CDN 分发钓鱼页面,说明攻击者正在更加善于利用正常互联网基础设施进行伪装。它们不再只是攻击技术系统,也在精准瞄准业务人员、销售人员和高价值账号。
面对这种趋势,企业不能只依赖传统黑名单、防火墙或验证码 MFA,而需要建立更加完整的访问链路安全体系。
数掘CDN 将持续关注 CDN 滥用、异常访问、钓鱼链路和 Web 安全风险,帮助企业在保障访问速度的同时,提升网络安全防护能力,守住业务访问的第一道关口。