不用写漏洞、不用挖 0day,甚至不需要高超的黑客技巧——只需要花六位数美金买下一家插件公司,就能在数千个网站里种下后门。2026 年 4 月,WordPress 生态曝出近年来最严重的供应链攻击事件:一个名为 Essential Plugin 的开发商被新东家收购后,旗下 30 多款插件陆续被植入后门,超过 2 万个活跃网站受威胁。
一、 攻击复盘:一场教科书级的软件供应链投毒
攻击者做了什么?
网络托管服务商 Anchor Hosting 创始人 Austin Ginder 最早发现了这一攻击。他在为一位客户排查安全告警时,发现 Countdown Timer Ultimate 插件被 WordPress.org 官方插件团队标注为“包含可被第三方利用的恶意代码”。
进一步调查后,Ginder 还原了完整的攻击链:
| 阶段 | 时间点 | 具体行为 |
|---|---|---|
| 收购 | 2025 年 5 月 | 原印度团队因疫情后收入下滑约 40%,在 Flippa 平台上以六位数美金(超 10 万美元)出售了 Essential Plugin 业务 |
| 植入 | 2025 年 8 月 8 日 | 新东家发布首个版本更新,更新日志写的是“兼容 WordPress 6.8.2”,实际却在 wpos-analytics 模块中植入了 191 行后门代码 |
| 休眠 | 2025.8–2026.4 | 后门潜伏长达 8 个月,未被任何检测工具发现 |
| 激活 | 2026 年 4 月 5–6 日 | 后门被唤醒,开始向所有安装受害插件的网站下发恶意载荷 |
| 下架 | 2026 年 4 月 7 日 | WordPress.org 插件团队一天内永久关闭了 31 个来自 Essential Plugin 的插件 |
受影响规模:Essential Plugin 官网声称旗下插件总安装量超过 40 万次、客户超 1.5 万名。WordPress.org 插件安装页面显示,受影响插件正在超过 2 万个活跃网站 上运行。
这是短短两周内被发现的第二起插件劫持事件。Ginder 在此前已捕获另一起针对 Widget Logic 插件的供应链攻击,WordPress 生态缺乏插件所有权变更的监控和通知机制,为供应链攻击提供了可乘之机。
二、 后门技术细节:三层“脏”设计
Ginder 通过对比 939 个备份快照,精确定位了后门的具体行为:
① 反序列化执行链
新版本中的 fetch_ver_info() 方法会从攻击者服务器 analytics.essentialplugin.com 拉取数据,并将响应直接传入 @unserialize()——经典的 PHP 反序列化漏洞触发点,可导致远程代码执行。
② 匿名 REST API 入口
插件中添加了一个 permission_callback: __return_true 的 REST 接口,意味着任何人(包括未登录用户)都能直接访问,等于彻底卸下了安全门。
③ wp-config.php 持久化注入
激活后,插件通过 wpos-analytics 模块向 analytics.essentialplugin.com 发起请求,下载伪装成系统核心文件的后门 wp-comments-posts.php,随后将大量恶意 PHP 代码注入到 wp-config.php。
被注入的恶意代码具备以下特征:
- 只向 Googlebot 展示垃圾页面,站长日常访问网站时什么都看不到,极难自查。
- C2 域名解析走以太坊智能合约,攻击者可随时通过更新智能合约切换新域名,传统的域名封禁手段完全失效。
“真正麻烦的从来不是恶意代码出现,而是恶意代码已经住进核心配置文件里。” WordPress.org 的强制更新虽然关闭了插件的“电话回家”通道,但已写入 wp-config.php 的恶意代码并不会被自动清除。
三、 完整受影响插件清单(31 款)
以下是 Anchor Hosting 确认的受影响插件清单,站长请逐一核对:
| 插件名称 | Slug |
|---|---|
| Accordion and Accordion Slider | accordion-and-accordion-slider |
| Album and Image Gallery Plus Lightbox | album-and-image-gallery-plus-lightbox |
| Audio Player with Playlist Ultimate | audio-player-with-playlist-ultimate |
| Blog Designer for Post and Widget | blog-designer-for-post-and-widget |
| Countdown Timer Ultimate | countdown-timer-ultimate |
| Featured Post Creative | featured-post-creative |
| Footer Mega Grid Columns | footer-mega-grid-columns |
| Hero Banner Ultimate | hero-banner-ultimate |
| HTML5 VideoGallery Plus Player | html5-videogallery-plus-player |
| Meta Slider and Carousel with Lightbox | meta-slider-and-carousel-with-lightbox |
| Popup Anything on Click | popup-anything-on-click |
| Portfolio and Projects | portfolio-and-projects |
| Post Category Image with Grid and Slider | post-category-image-with-grid-and-slider |
| Post Grid and Filter Ultimate | post-grid-and-filter-ultimate |
| Preloader for Website | preloader-for-website |
| Product Categories Designs for WooCommerce | product-categories-designs-for-woocommerce |
| Responsive WP FAQ with Category | sp-faq |
| SlidersPack – All in One Image Sliders | sliderspack-all-in-one-image-sliders |
| SP News And Widget | sp-news-and-widget |
| Styles for WP PageNavi – Addon | styles-for-wp-pagenavi-addon |
| Ticker Ultimate | ticker-ultimate |
| Timeline and History Slider | timeline-and-history-slider |
| Woo Product Slider and Carousel with Category | woo-product-slider-and-carousel-with-category |
| WP Blog and Widgets | wp-blog-and-widgets |
| WP Featured Content and Slider | wp-featured-content-and-slider |
| WP Logo Showcase Responsive Slider and Carousel | wp-logo-showcase-responsive-slider-slider |
| WP Responsive Recent Post Slider | wp-responsive-recent-post-slider |
| WP Slick Slider and Image Carousel | wp-slick-slider-and-image-carousel |
| WP Team Showcase and Slider | wp-team-showcase-and-slider |
| WP Testimonial with Widget | wp-testimonial-with-widget |
| WP Trending Post Slider and Widget | wp-trending-post-slider-and-widget |
四、 应急措施:站长应立即做什么?
① 检查插件清单
进入 WordPress 后台 → 插件 → 已安装插件,对照上述 31 款插件逐一排查。即使目前显示“已更新”到最新版本,后门也可能早已写入 wp-config.php。
② 立即删除受影响插件
对发现的所有上述插件,立即停用并删除,不要保留任何版本。
③ 检查 wp-config.php
打开网站根目录下的 wp-config.php,搜索是否包含 analytics.essentialplugin.com、wp-comments-posts.php 或大量异常 PHP 代码块。如果发现异常,建议从干净的备份恢复该文件。
④ 全站安全扫描
使用 Wordfence 或类似安全插件对整站进行深度扫描,同时检查是否有异常用户、新增管理员账号或未知的定时任务。
⑤ 重置所有关键密钥
轮换数据库密码、API 密钥、WP‑Config 中的盐值(Salt Keys),防止攻击者利用已泄露凭据进行二次入侵。
⑥ 启用 Web 应用防火墙(WAF)
即使清理了后门,攻击者仍可能通过其他方式再次入侵。部署 百度云防护 WAF,可实时拦截异常的 PHP 执行、反序列化攻击载荷、对 analytics.essentialplugin.com 等已知恶意域名的外连请求,同时通过 JA4 指纹识别和 IP 情报库封禁扫描工具,从网络层阻断攻击者的后续渗透。
五、 深层启示:攻击者最便宜的 Exploit,是“收购”
这次事件的本质,不是软件 bug,而是信任链被商业交易无声替换。攻击者没有发现新漏洞,也没有使用高深的技术,只是花六位数美金买下了已有用户、已有口碑、已有分发渠道的插件组合,然后以“正常版本更新”的名义植入后门。
真正被攻破的不是代码仓库,而是默认信任——WordPress 生态至今缺乏插件所有权变更的监控或通知机制,用户毫不知情地持续更新“已被控制”的插件。这不是“软件有 bug”,而是软件供应链把所有权变更伪装成正常商业交易,再把正常商业交易伪装成正常版本更新。
作为站长,你无法控制谁收购了你依赖的插件,但可以建立纵深防御:定期审计插件清单、做好备份、部署 WAF 阻断异常外联。
主机吧 | 百度云防护官方合作伙伴
提供 WAF 接入、高防 CDN、高防 IP、高防服务器、SSL 证书一站式服务
让供应链攻击无处遁形,让每一个网站都固若金汤。


