2026 年 10 月 28 日

尽管 Apple 已于 10 月 17 日收到关于 eMudhra 证书受损事件的通知,但截至 10 月 28 日,随 macOS 一同分发的核心开发者工具——包括 Git、curl 和 Python3——仍然信任该受损证书。更为严重的是,Apple 在 10 月 26 日发布的 macOS 27.2 版本中并未修复此问题。
与此同时,社区内数十个项目(许多由志愿者维护)已针对此风险采取了行动。
安全风险解析
由于系统仍信任受损证书,攻击者可以拦截这些工具建立的任何 HTTPS 连接。
对于 Git 用户而言,这意味着通过 https:// 协议从远程仓库进行的克隆(clone)和拉取(pull)操作可能被篡改,攻击者可注入恶意代码;推送(push)操作的数据也可能在传输过程中被修改。
开发者可通过以下命令检测本地 Git 是否受影响:
git ls-remote https://git-emudhra.we-have-a-problem.com/check.git
若出现证书错误,说明当前 Git 环境是安全的;若能列出提交信息,则表明存在风险。任何通过 https:// 连接的 Git 远程仓库均可能遭受中间人攻击。
此外,开发者可在临时目录中运行以下测试命令。该命令试图从一个模拟 GitHub 的测试服务器克隆仓库,并通过 -c 选项将 github.com 重定向至测试 IP。测试服务器呈现了一个由泄露的 eMudhra 中间证书签发的 github.com 证书:
git -c http.curloptResolve=github.com:443:15.235.19.186 clone https://fake-user@github.com/galadran/emudhra-git-test
已修补的 Git 应拒绝该连接并报出证书错误。若克隆成功并显示以“拦截”开头的 README.md 文件,则说明 Git 未受保护。
值得注意的是,真实攻击无需额外配置,任何位于用户与 GitHub 之间网络路径上的节点均可自行重定向流量。
演示中的公共或私有仓库可替换为其他目标。务必保留 fake-user@ 前缀,否则 Git 可能会将用户的 GitHub 凭据发送至测试服务器。例如:
git -c http.curloptResolve=github.com:443:15.235.19.186 clone https://fake-user@github.com/Homebrew/brew
其他 Apple 原生工具同样受到影响。开发者可通过以下 curl 命令进行检测:
curl https://dv-g3b-noct-emudhra.we-have-a-problem.com/
curl https://dv-g3b-aaa-noct-emudhra.we-have-a-problem.com/
若出现证书错误,则表明 curl 处于安全状态。
建议措施
目前,Apple 已对其 Safari 浏览器及基于 WebKit 框架的应用程序实施了保护。
业界呼吁 Apple 尽快向 macOS 开发者提供官方修复方案,例如从 /etc/ssl/cert.pem 中移除受影响的根证书。
在官方补丁发布前,开发者可手动移除受影响的根证书。根据主页提供的 macOS 解决方案,需执行相应步骤。然而,Apple 的指导原则指出,后续的 macOS 更新可能会恢复默认设置,因此开发者需在每次系统更新后重复检查并重新应用修复,直至 Apple 彻底解决此漏洞。
企业安全团队还应评估其 CI/CD 流水线或其他构建基础设施中是否使用了 macOS 运行器,并据此审视潜在的供应链风险。





