eMudhra 证书失陷:容器用户最容易忽略的镜像信任链漏洞

0 阅读6分钟

你有没有想过:容器里运行的程序,可能正带着一张“过期”的信任证书,悄悄把你的请求送到攻击者面前?

2026 年 10 月,全球数字证书认证机构 eMudhra(emSign)爆出私钥失陷事件——其 8 组中间 CA 私钥因生成缺陷,可被攻击者通过公钥反向计算恢复。这意味着,攻击者可以为任意域名签发“看起来完全合法”的 TLS 证书,而你的系统可能毫无察觉。

01为什么容器用户要特别关心这件事

这次事件最容易被忽略的细节,藏在容器的运行方式里。

宿主机的系统证书库更新了,不代表你容器里的程序也安全了。容器里的 curl、openssl,以及 Go、Python、Java 等语言编写的组件,读取的通常是镜像自带的证书文件——比如 /etc/ssl/certs/ca-certificates.crt、Debian/Ubuntu 的源证书目录、Python certifi 自带的 cacert.pem。

换句话说:宿主机修好了,镜像里的信任链可能还是脏的。 如果你的基础镜像没有同步更新,那么从这个镜像构建出来的每一个容器,都可能带着这张不可信的证书上路。

02风险有多大?影响范围如何

参考火山引擎官方安全公告:mic.anruicloud.com/url/187-468…

  • 风险等级: 中危。漏洞细节与 PoC 均已公开,截至公告日暂未发现在野利用。
  • 缺陷证书范围: emSign Root TLS CA - G3 直接签发的 6 张 TLS 中间 CA,加上 Sectigo 通过 AAA Certificate Services 交叉签名的 8 组缺陷中间 CA,共涉及 16 张中间 CA 缺陷证书。
  • 受影响环境: 未修复的操作系统、语言运行时、应用组件等直接或间接信任缺陷证书的环境。客户端发出的 TLS 加密请求可被恶意中间链路劫持或篡改,存在敏感信息泄漏、中间人投毒风险。

好消息是:Ubuntu、Debian、Fedora 的 ca-certificates 包均已提供阻断缺陷中间 CA 信任链路的更新版本。对容器场景来说,这意味着基础镜像层需要同步升级——这正是本次事件中镜像用户最需要自查的部分。

03四步完成镜像安全自查与修复

发现问题后,修复路径主要有两条:升级基础镜像重新构建(最彻底),或手动检查证书文件按需更新(适合临时应急)。两种方式都可以配合镜像仓库的安全扫描能力来验证修复效果。

第一步:触发安全扫描

登录镜像仓库控制台,选择目标地域和实例;进入 OCI 制品仓库,找到需要检查的镜像版本;点击操作列的「安全扫描」按钮,确认触发扫描。

第二步:查看扫描结果

扫描完成后,进入镜像版本详情页,切换到「非预期文件」页签。如果该镜像仍信任缺陷根证书,你会看到类型标记为 untrusted-ca 的不安全证书文件,文件路径会精确列出(如 /etc/ssl/certs/ca-``certificates.crt、Python certifi 目录等)。

第三步:执行修复

根据你的团队情况选择修复方式:

  • 方式一(推荐): 替换为社区修复后的基础镜像,重新构建并推送镜像。火山引擎镜像仓库已同步提供这些修复后的基础镜像。
  • 方式二: 在容器内手动更新 ca-certificates 包,或移除对应缺陷证书条目,再重新打包推送。

第四步:复扫验证

修复后的镜像重新推送后,再次触发安全扫描。预期效果是:复扫结果中不再出现 untrusted-ca 类型的问题文件,说明该镜像的证书信任链已经干净。

💡长期建议: 对于有持续交付节奏的团队,建议在命名空间维度开启自动扫描(每天或每月周期),让新增镜像自动纳入巡检范围,不必依赖人工触发。这样可以形成"入库即扫描—修复后复扫验证—日常自动巡检"的完整闭环。

除了控制台操作,本地也可以用 docker 命令按 SHA-256 指纹自查,不依赖控制台。详细的命令行操作和指纹列表,可以参考火山引擎官方文档中的镜像安全扫描说明。

04为什么 Agent 场景要额外警惕

这次事件提醒所有容器用户审视供应链安全,而对 Agent 应用来说,风险可能还要再高一档。

Agent 应用的镜像往往比传统容器更“厚”:基础环境复杂、依赖多、构建频繁。而 Agent 运行时的出站请求——调用模型 API、拉取工具、访问外部资源——恰恰是 TLS 信任链的高频使用方。一个带着不可信根证书的 Agent 镜像,等于把每一次出站请求都暴露在潜在劫持风险之下。

更值得关注的是,Agent 工作负载的镜像数量通常是传统应用的数倍甚至数十倍。RL 训练、批量评测、交互式沙箱……每一类场景都在产生大量新镜像,如果没有自动化的扫描和巡检机制,靠人工根本查不过来。

对 Agent 与容器镜像用户,这是一次审视供应链安全的时机:

  • 镜像入库时扫描一次,把好入口关;
  • 修复后复扫验证一次,确保问题真正解决;
  • 日常按周期自动巡检,把镜像安全从“事件驱动”变成“常规动作”。

05写在最后

一张“看起来合法”的证书,可能正在悄悄瓦解你整个镜像供应链的信任基础。

云原生时代,容器镜像早已不只是“应用打包格式”——它是运行环境、是依赖集合、是安全边界。当 Agent 应用越来越多地跑在容器之上,镜像的每一个文件、每一张证书、每一条依赖链,都值得被认真对待。

安全不是一次性的事件响应,而是持续的供应链治理。希望这次 eMudhra 事件,能成为更多团队建立镜像安全巡检习惯的起点。

—— 火山引擎镜像仓库安全扫描,持续为你的云原生供应链保驾护航 ——