维基百科遭遇JavaScript蠕虫攻击:用户脚本成攻击载体
导语:全球知名的维基百科平台近日遭受了一次罕见的自我传播JavaScript蠕虫攻击。恶意代码通过wiki平台的用户脚本机制在多个维基项目间传播,篡改页面内容并插入破坏性脚本。这一事件暴露了用户生成脚本机制在大型协作平台上的安全隐患。
2026年3月5日,维基媒体基金会遭遇安全事件——一个自我传播的JavaScript蠕虫开始在其多个维基项目中传播,破坏页面内容并广泛修改用户脚本。BleepingComputer于第一时间报道了这一事件,揭示了针对全球知识平台的独特攻击方式。
蠕虫传播机制:利用wiki的核心功能
与传统网络攻击不同,这次蠕虫攻击巧妙地利用了MediaWiki平台的核心特性——用户脚本。
MediaWiki(维基百科使用的软件平台)允许登录用户创建自定义JavaScript脚本,存储在其个人用户的common.js页面中。这些脚本会在用户访问wiki页面时自动执行。这一设计本意是提供个性化功能,却意外成为了蠕虫的传播媒介。
蠕虫的传播路径如下:
-
初始感染:恶意脚本存储在俄语维基百科(ru.wikipedia.org),早在2024年3月就已经上传 -
意外触发:2026年3月5日,疑似由维基媒体员工账户在测试用户脚本功能时意外执行,触发了蠕虫的首次传播 -
用户脚本劫持:蠕虫修改登录用户的 User:用户名/common.js文件,注入恶意代码 -
全局脚本篡改:同时修改全局的 MediaWiki:Common.js文件,影响所有访问者 -
跨项目传播:利用维基媒体项目之间的共享特性和单点登录机制,在维基百科、维基词典、维基文库等项目间横向移动
示意图:JavaScript蠕虫的传播机制
攻击影响:全球知识库遭受篡改
蠕虫活动造成了显著的影响范围:
受影响项目:多个维基媒体基金会旗下的wiki项目,包括维基百科各语言版本、维基词典、维基文库等
破坏行为:
-
在页面中插入破坏性内容,影响阅读体验 -
将用户重定向到可疑网站,可能进一步传播恶意软件 -
在受感染账户的用户脚本中植入持久化代码
紧急响应:
-
维基媒体工程师在发现后迅速限制了受感染项目的编辑功能 -
开始大规模清理被篡改的脚本和页面 -
审查用户脚本机制,考虑实施额外安全控制
值得注意的是,由于蠕虫修改的是脚本而非文章本身的内容数据库,大部分百科内容得以保全。但对于依赖用户脚本的用户而言,这次攻击暴露了平台设计中一个长期被忽视的盲点。
用户脚本:便利与风险的双刃剑
用户脚本(UserScripts)是MediaWiki平台从2004年就有的古老功能。通过这一机制,用户可以:
-
自定义界面布局和主题 -
添加辅助编辑工具 -
实现高级的搜索和导航功能 -
与其他用户分享脚本代码
然而,这一功能也带来了安全风险:
-
任意代码执行:用户脚本以当前用户的权限运行,能够执行任何JavaScript代码 -
权限提升:修改全局 MediaWiki:Common.js需要特定权限,但许多活跃编辑和特权用户拥有此权限 -
跨站脚本(XSS):恶意脚本可以利用单点登录在多个项目间传播 -
** audit 困难**:用户生成的脚本缺乏强制性的安全审核机制
这次蠕虫事件并非用户脚本首次被滥用。历史上,类似的机制曾多次被用于恶意重定向、挖矿脚本注入和数据窃取。但此次自我传播的蠕虫特性,使其影响范围和隐蔽性远超以往。
安全教训:平台设计的反思
维基百科JavaScript蠕虫攻击为协作平台的安全性提供了重要教训:
关于用户生成代码
-
平台应实施脚本签名或沙箱机制,限制用户脚本的权限 -
建立强制性的代码审核流程,特别是在涉及全局脚本时 -
提供更安全但功能受限的自定义选项,平衡便利与安全
关于权限管理
-
限制全局脚本的修改权限,只授予绝对必要的用户 -
实施权限分离,防止单点登录带来的横向移动风险 -
建立特权账户的行为审计和监控机制
关于事件响应
-
建立自动化的恶意脚本检测机制 -
制定针对用户脚本攻击的快速响应预案 -
加强与安全社区的协作,及时获取威胁情报
结语
维基百科作为全球访问量最大的知识平台之一,其安全性对全球互联网生态具有标杆意义。这次JavaScript蠕虫攻击提醒我们,即便是看似无害的功能,在复杂系统中也可能成为攻击的入口。
对于依赖用户生成内容和脚本的平台而言,安全不应是事后补救,而应嵌入设计的每个环节。在便利性与安全性之间,有时必须做出艰难的选择。维基媒体基金会已经表示将审查用户脚本机制,或许这次事件将推动整个行业对用户生成代码安全性的重新思考。
参考来源:
-
BleepingComputer: Wikipedia hit by self-propagating JavaScript worm that vandalized pages -
Wikimedia Security Advisory (2026-03-05)
本文仅供安全研究参考,请遵守当地法律法规。
华盟君