新闻公告使用手机扫一扫查看
< 返回

数掘CDN解析企业防护新思路

2026-07-10 17:44 作者:数掘云算 阅读量:8

恶意 npm 包借 CDN“寄生”传播,数掘CDN提醒企业警惕新型钓鱼攻击

近年来,钓鱼攻击的方式正在快速变化。过去,攻击者通常会注册仿冒域名、搭建钓鱼服务器,或者诱导用户下载恶意文件。但现在,一些攻击者开始把 npm 仓库、公共 CDN 服务和前端反分析脚本结合起来,形成一种更加隐蔽的新型攻击链。

这类攻击不再单纯依赖“安装恶意包”,而是把 npm 当作恶意页面的托管仓库,再借助公共 CDN 的分发能力,把钓鱼页面伪装成正常资源链接发送给目标用户。对于企业安全团队来说,这意味着防护重点不能只停留在终端杀毒、域名黑名单和邮件网关层面,CDN 访问链路本身也需要被纳入安全观察范围。

一、恶意 npm 包不再只盯“开发者安装”

传统供应链攻击中,攻击者往往会通过“拼写相似包名”“仿冒热门依赖”“植入恶意脚本”等方式,诱导开发者在项目中执行:

 
npm install xxx
 

一旦恶意依赖被安装,就可能执行挖矿脚本、窃取环境变量、读取 Git 配置、获取 CI/CD 凭据,甚至进一步横向移动。

但近期出现的一类攻击方式更加隐蔽:攻击者并不一定期待开发者主动安装这些 npm 包,而是把 npm 仓库当成静态页面和恶意脚本的托管平台。

攻击链大致如下:

 
上传恶意 npm 包
        ↓
包内包含钓鱼 HTML / JavaScript 文件
        ↓
通过 jsDelivr、unpkg 等公共 CDN 自动分发
        ↓
构造 CDN 链接发送给目标用户
        ↓
用户访问后进入钓鱼页面
        ↓
触发凭证窃取或会话劫持
 

这种模式的关键点在于:攻击者不是利用 npm 的“安装链路”,而是利用 npm 生态背后的“内容分发链路”。

对于很多企业来说,cdn.jsdelivr.netunpkg.com 这类域名属于常见开发资源,网络设备往往不会直接拦截。攻击者正是利用了这种信任基础,让钓鱼页面“寄生”在公共 CDN 之上,从而绕过传统域名封禁和简单黑名单策略。

二、为什么公共 CDN 会被攻击者盯上?

普通钓鱼站点通常存在几个明显弱点:

第一,域名容易被举报和封禁。
第二,服务器 IP 容易被拉黑。
第三,访问路径和证书信息容易暴露攻击基础设施。
第四,安全厂商爬虫可以较快发现并标记风险页面。

而公共 CDN 不一样。

CDN 平台本身承担的是静态资源加速和全球分发功能,很多企业、开发者和 SaaS 平台都会频繁访问。攻击者一旦把恶意内容放进 npm 包中,再借助公共 CDN 生成访问链接,就可以把风险隐藏在看似正常的 CDN 流量里。

这对安全检测提出了新的挑战:

 
访问域名看起来正常
请求协议是 HTTPS
资源路径看起来像静态文件
页面托管在公共 CDN 上
传统黑名单不一定命中
 

数掘CDN 安全团队认为,这类攻击说明企业不能只关注“谁访问了恶意域名”,还要进一步关注“正常域名下是否出现异常访问路径、异常访问对象和异常业务行为”。

三、前端反分析让钓鱼页面更难被发现

这类恶意 npm 包中的钓鱼页面并不是简单的静态仿冒页面。部分攻击者会在前端代码中加入反分析逻辑,用来识别爬虫、安全沙箱和自动化扫描器。

常见方式包括:

1. 隐藏表单字段识别爬虫

攻击者会在页面中加入普通用户看不到的隐藏输入框。正常用户不会填写这些字段,但自动化爬虫或扫描器可能会遍历页面中的所有输入项并自动填充。

一旦隐藏字段出现值,攻击脚本就可以判断当前访问者可能不是正常用户,而是安全检测程序,从而停止跳转或返回正常页面。

这种方式可以降低钓鱼页面被自动化安全系统识别的概率。

2. 鼠标轨迹和触摸行为检测

部分恶意页面会监听鼠标移动、点击、触摸滑动等行为。只有检测到真实用户操作后,钓鱼流程才会继续执行。

例如:

 
没有鼠标移动 → 不加载真正的钓鱼脚本
没有触摸事件 → 不跳转凭证窃取页面
没有真实交互 → 返回空白或正常页面
 

这种方式会让沙箱和爬虫检测失效,因为很多自动化环境只会加载页面源码,并不会模拟完整的人类交互行为。

3. 延迟加载与条件触发

攻击者还可能使用 setTimeout、动态脚本加载、条件判断、环境检测等方式延迟执行恶意逻辑。

这样一来,安全设备如果只做短时间页面抓取,就可能看不到真正的攻击代码。

四、AitM 攻击让普通 MFA 也面临风险

更值得注意的是,一些钓鱼页面并不只是简单地仿冒登录页,而是可能结合 AitM,也就是“中间人钓鱼”方式。

这类攻击会把受害者访问代理到真实的登录服务中。例如用户以为自己正在登录 Microsoft、企业邮箱或云服务平台,实际上请求流量经过攻击者控制的代理服务器。

攻击者可以实时获取:

 
账号
密码
验证码
MFA 认证过程
Session Cookie
登录令牌
 

这意味着,即便企业开启了短信验证码、邮箱验证码或 App 确认类 MFA,也不一定能完全阻止攻击。因为攻击者的目标可能不是密码本身,而是认证成功后的会话 Cookie。

一旦 Session Cookie 被窃取,攻击者就可能绕过二次验证,直接模拟用户登录状态访问企业系统。

因此,对于高价值账号、管理后台、企业邮箱、代码仓库和云平台账号,建议逐步采用更强的抗钓鱼认证方式,例如 FIDO2 硬件密钥、Passkey、设备绑定和风险登录检测。

五、攻击目标正在从开发人员扩展到业务人员

过去,npm 恶意包更容易让人联想到开发者、运维人员和 CI/CD 环境。但这类“npm + CDN 托管钓鱼页面”的攻击方式,目标并不一定是技术人员。

攻击者可能会把链接伪装成:

 
合同文件
报价单
采购清单
发票
云文档
订单确认
会议资料
客户资料
项目图纸
 

然后发送给销售、商务、采购、客户经理、行政或业务拓展人员。

这些岗位有一个共同特点:经常需要接收外部文件和陌生链接。相比技术人员,他们对 npm、CDN、静态资源托管等概念并不敏感,更容易把公共 CDN 链接误认为普通文件访问地址。

这也说明,企业安全培训不能只覆盖技术部门。业务部门、销售团队、客服团队、财务人员同样需要了解新型钓鱼链接的风险。

六、CDN 访问日志正在成为安全观察点

在传统安全体系中,CDN 往往被看作加速工具,主要用于提升网站访问速度、降低源站压力、优化跨区域访问体验。

但在当前攻击趋势下,CDN 也应成为企业安全体系的一部分。

数掘CDN 建议企业重点关注以下异常现象:

 
非研发部门设备频繁访问 npm CDN 资源
办公终端访问异常静态 HTML 页面
CDN 请求路径中出现 login、verify、secure、docs、onedrive 等敏感词
短时间内大量访问陌生 CDN 路径
同一终端访问 CDN 后立即出现异常登录行为
CDN 页面访问后触发账号安全告警
 

这些行为单独看可能并不明显,但如果和终端日志、网关日志、邮箱安全日志、账号登录日志结合分析,就可能还原出完整的钓鱼攻击链。

七、数掘CDN如何帮助企业提升安全识别能力

面对这类“借 CDN 隐身”的钓鱼攻击,单靠传统黑名单并不够。企业需要从访问行为、请求特征、IP 风险、URL 路径、访问频率等多个维度进行综合判断。

数掘CDN 可从以下几个方面帮助企业提升安全能力:

1. 访问日志分析

通过 CDN 访问日志,企业可以观察用户访问来源、请求路径、访问频率、状态码、User-Agent、Referer 等信息。

当某些非业务终端频繁访问可疑 CDN 资源,或者访问路径明显与业务无关时,安全人员可以进一步追踪分析。

2. 异常 URL 行为识别

钓鱼页面常常会使用带有诱导性的路径,例如:

 
secure-login
document-verification
onedrive-check
invoice-review
account-update
mfa-verify
 

数掘CDN 可结合访问路径特征,辅助识别异常访问行为,并为企业安全策略提供参考。

3. WAF 与访问控制联动

对于企业自有业务,数掘CDN 可结合 WAF 防护策略,对异常请求、恶意扫描、伪造请求、异常跳转和敏感路径访问进行拦截或限速。

这可以帮助企业降低源站暴露风险,同时提升前置防护能力。

4. IP 风险画像辅助判断

攻击链中往往会出现代理 IP、异常地区访问、数据中心 IP 或高风险来源。通过 IP 风险画像和访问行为分析,可以辅助判断请求是否存在异常。

5. 安全加速一体化

CDN 不应只是“加速分发”,更应成为企业网络安全的前置观察点。数掘CDN 在提升访问速度的同时,也可帮助企业增强访问链路的可见性和风险识别能力。

八、企业应该如何应对这类攻击?

针对 npm 与公共 CDN 被滥用的情况,企业可以从以下几个方面加强防护:

1. 不要盲目信任公共 CDN 域名

公共 CDN 域名本身并不等于安全。企业应关注访问内容、访问路径和访问行为,而不是只判断域名是否知名。

2. 对非研发部门访问 npm CDN 进行监控

如果销售、财务、客服等岗位频繁访问 npm 包 CDN 资源,就需要关注是否存在钓鱼邮件诱导访问的情况。

3. 加强邮件链接安全检测

邮件网关应对外部链接进行重写、检测和沙箱分析。对于 CDN 链接,也不应默认放行。

4. 推广抗钓鱼 MFA

普通验证码类 MFA 在 AitM 攻击下可能被绕过。高价值账号建议使用 FIDO2、安全密钥、Passkey 等更强认证方式。

5. 结合 CDN、网关、终端和账号日志联动分析

单点日志很难发现复杂攻击。企业应将 CDN 访问日志、邮箱日志、账号登录日志、终端告警和网关日志进行关联分析。

6. 加强员工安全意识培训

业务人员需要知道:即便链接来自常见 CDN 域名,也不能代表页面一定安全。凡是要求输入账号、密码、验证码或授权登录的页面,都应谨慎确认来源。

九、从“防安装”到“防访问”,安全边界正在变化

npm 恶意包过去更多意味着供应链风险,而现在,它也可能成为钓鱼页面的托管载体。

攻击者不一定要让开发者安装恶意包,只需要让受害者点击一个 CDN 链接,就可能完成凭证窃取、会话劫持或钓鱼跳转。

这说明企业安全边界正在发生变化:

 
过去防的是恶意下载
现在还要防恶意访问

过去关注软件依赖
现在还要关注 CDN 链路

过去重视开发环境
现在业务终端同样高危

过去依赖 MFA
现在还要防 Session Cookie 被盗
 

对于企业来说,CDN 已经不只是性能加速工具,也应成为安全治理体系中的重要一环。

数掘CDN 建议企业重新审视 CDN 访问日志、公共 CDN 访问策略、业务终端访问行为和账号登录风险。只有把加速、防护、日志、风控和身份安全结合起来,才能更好应对这类新型钓鱼攻击。

结语

恶意 npm 包借助公共 CDN 分发钓鱼页面,说明攻击者正在更加善于利用正常互联网基础设施进行伪装。它们不再只是攻击技术系统,也在精准瞄准业务人员、销售人员和高价值账号。

面对这种趋势,企业不能只依赖传统黑名单、防火墙或验证码 MFA,而需要建立更加完整的访问链路安全体系。

 

数掘CDN 将持续关注 CDN 滥用、异常访问、钓鱼链路和 Web 安全风险,帮助企业在保障访问速度的同时,提升网络安全防护能力,守住业务访问的第一道关口。

联系我们
返回顶部