修补地球
我不知道你是否看到了这个,但一个 CA 刚刚被攻破了。他们的密钥被泄露了,这意味着整个行业现在面临一些相当严重的问题。这是两小时前披露的。eMudhra 中间 CA 泄露 eMudhra 中间 CA 泄露 现在你&
我不知道你是否已经听说,但一家 CA 刚刚被攻破了。他们的密钥遭到了泄露,这意味着整个行业现在面临着相当严重的问题。此事在两小时前被披露。
eMudhra 中间 CA 泄露事件
eMudhra 中间 CA 泄露事件
你可能想知道我为什么要写这篇博客文章。原因很简单。这或许是我所做过的最简单的安全补丁之一,而且我还发现了几个新技巧。首先,要明白如果没有 Nix,想要轻松修复这个问题几乎是不可能的。现在,全世界每个人都在试图修补他们的传递依赖,这正在造成数千万美元(甚至更多)的生产力损失。
与此同时,因为我使用了 Nix,我可以修补整个星球,因为下面这篇博客文章背后的理念同样适用于安全领域。
这个世界还没意识到,你其实可以用一个 Nix overlay 修复所有问题
目前我们行业中有很多不确定的事情,但有一件事我非常确定,而且已经确定了将近 13 年,那就是 Nix 是一门糟糕的编程语言。我记得我刚开始学它的时候,感觉就像是在往山上推屎。学习悬崖
由于 Nix 的单一事实来源以及修补这个单一事实来源的能力,我能够发出这样一条简单的提示:
好的,我的 fleet 的 nixos 是否受到 https://emudhra.we-have-a-problem.com/ 的影响?
结果如下。
所以这里的问题在于传递依赖。修补一个东西很容易,但传递依赖才是问题所在,而这正是 Nix 大放异彩的地方:一次修复会自动修复传递依赖。
一个补丁就能修复整个 fleet 及其传递依赖。修补、提交并自动部署你的 fleet 🍻
新技巧
好了,我答应过要分享一个新技巧。技巧如下。
你可以提示一个代理在五天后自动回退这些补丁,只需把 AGENTS.MD 当作提醒事项即可 😎
所以,最初只是一个简单的提示来确认我是否受影响,随后变成了一个计划,接着自动完成了修复,而现在,几天后,它将重新评估情况,给生态系统和尘埃落定的时间,然后在所有上游传递依赖都得到解决后自动回退这个补丁。
很酷,对吧?
## Temporary reminder: eMudhra root blacklist (from 2026-10-22)
On or after 2026-10-22, check whether the `nixos-26.05` channel contains nixpkgs
commit `7816d39` (the backported `security/ca.nix` distrust of the eMudhra roots), e.g.
`nix eval --raw --refresh --impure --expr '(builtins.getFlake "github:NixOS/nixpkgs/nixos-26.05").rev'`
then `git merge-base --is-ancestor`. If it does not, check again two days later.
Once it does, back out the fleet-wide workaround: update the `nixpkgs` pin to include
it, delete `nix/domains/system/public-trust.nix` (contract `fleet-distrust-emudhra-roots`)
and its imports in `nix/domains/system/catalog.nix`,
`nix/domains/artifacts/guest/configuration.nix` and the `host-kexec` modules in
`flake.nix`, and remove the eMudhra paragraph from
`marshall/priv/hldd/12-configuration.md`. Then verify that the built host and guest
bundles still lack the four roots, and delete this section. Keep Marshall's
system-store TLS defaults (`runtime-postgres-system-trust`, `mail-smtp-system-trust`)
and the `rustls-webpki` update; they are not part of the workaround.我怎么强调都不为过。如果你构建了某个东西,你就拥有它,包括你所依赖的所有依赖。我们正在进入一个网络攻击模型将不断发起攻击的奇怪时代。
游戏规则已经改变。要进行防御,你需要比攻击者更强的推理能力,而且还需要快速响应。
这绝对是我所做过的最简单的安全补丁,最棒的是我不会长期背负这项技术债务,因为一个代理几天后会自动将其回退。
修补整个星球
ps. 社交媒体
🗞️ 修补整个星球https://t.co/7ZwlallBru https://t.co/aSQGD0smx2 pic.twitter.com/tDpIKpp58O
— geoff (@GeoffreyHuntley) October 20, 2026