AI 周报:证书私钥只有 256 种可能,推理框架集体开源
这周最该转发给运维的消息不是哪个模型发布了,而是一个字节。
eMudhra 的中间证书私钥只有一个字节,其中一个的值就是「4」。
一、私钥只有 256 种可能:eMudhra 的信任链塌了
先把中间 CA 说清楚。浏览器不信任所有网站证书,它信一批根证书;根证书签发中间证书,中间证书再去签发具体网站的证书。
私钥本来该来自 128 位以上的随机数,穷举是不可能的。这 8 张只有 1 个字节,答案空间是 256 种。
换句话说,攻击者不用「攻破」它,数一遍就能还原,然后以这些 CA 的名义给任何网站签一张被信任的证书。
graph LR
Root[根证书<br/>Mozilla / Chrome / Apple / 微软] --> ICA[中间 CA<br/>eMudhra × 8]
ICA --> Leaf[网站证书]
Weak[私钥熵不足<br/>仅 256 种可能] -.穷举还原.-> ICA
ICA -.伪造.-> Fake[伪造的网站证书]处置很快。Mozilla 在 10 月 17 日 20:06 UTC 收到报告,3 小时内通过 OneCRL 推送给所有 Firefox 用户,不用重启。Chrome 同一天屏蔽公钥,计划 10 月 27 日移除根证书。
10 月 22 日,eMudhra 宣布退出全球 SSL / TLS 证书业务。它的解释是社交媒体把事件放大了,与这项业务的占比不相称。
受影响最直接的是两类人:用 eMudhra 证书的站点,得换 CA 重签;嵌入式设备、IoT 和自建 TLS 客户端的运维,得手动检查信任库,因为这些地方不会自动拉黑名单。
来源:eMudhra 中间 CA 事件(Hacker News) · Firefox 的吊销处置(Mozilla) · eMudhra 宣布退出(Hacker News)
二、供应链连环出问题,一共四个
LiteLLM 1.107.0 被投毒。 在 PyPI 上装到这个版本就会中招。手法和 3 月的 1.82.8 一样:往 site-packages 里塞一个 .pth 文件,任何 Python 进程启动时自动执行,你根本不用 import litellm。
CI 里从 PyPI 装依赖、又没锁定版本的,暴露面最大。已经装过的,requirements、lockfile、构建日志都翻一遍,然后轮换这个环境能碰到的所有密钥。
来源:LiteLLM 供应链攻击报告(SafeDep) · LiteLLM 安全公告
PHP 两个 CVSS 9.2 的未认证 RCE。 8.5.12、8.4.27、8.3.36、8.2.35 一起发。所有处理 Web 请求的部署都受影响,其中 mod_php 最危险 —— 攻击发生在你的应用代码跑起来之前。
8.1 及更早没有常规更新了,官方只给了用于回移的最小源码补丁,得自己编译。
来源:PHP 官方发布公告
Node.js 的 Brotli 漏洞扩散。 编号 CVE-2026-111497,原来叫 Node2Shell,现在改名 HTTP2Shell,因为影响面被认为超出 Node.js,扩到了自己实现 Brotli 解码的 HTTP 库。
公开一天内就出了 PoC,有人在官方 Node.js 24.22.0 构建上演示了完整代码执行。不过到底有多少服务会在常见配置下解压 Brotli 请求体,目前没有清单。
来源:HTTP2Shell 漏洞披露(Aikido) · Node.js 10 月安全更新
Railway 的环境变量可能泄露。 10 月 21 日的披露说,未经授权的第三方可能访问了加密的环境变量,并对其中一部分拿到了明文。
社区说 Postiz 创始人的密钥已被使用,但这属于转述,不是官方结论。判断很简单:凡是存在 Railway 上的 API key、数据库口令、访问令牌,一律当已泄露,立刻轮换,再查近期调用记录。
来源:Railway 安全披露
四件事放在一起看,位置各不相同:一个是包仓库,一个是语言运行时,一个是协议库,一个是托管平台。共同点是都不需要你点错什么。
三、推理栈这一侧在加速
vLLM v0.32.0。 814 个提交、363 名贡献者。核心还是压 KV 缓存。
KV 缓存可以理解成模型读长文本时记的「笔记」,文本越长,显存占得越多。这版里 GLM-5.x 在 SM100 上默认用 FP8 存 KV,每卡 KV 显存减半,吞吐提升 2.3–5.5%,代价是首字延迟多 7–11%。
首字延迟就是你说完话到模型吐出第一个字的时间。
升级前先确认三件事:还有没有 Python 3.10 环境(不再支持)、CORS 默认收紧了、旧的推理流事件名变了。
DeepSeek 开源 DeepInfer。 定位是自家模型的高性能推理框架,基于 vLLM 构建,Apache 2.0。但仓库目前没有文档、版本号、基准数据和硬件兼容清单。
评论里最热的一个点是「支持华为昇腾 950 NPU」,不过这只见于评论。官方材料没确认之前,别拿它做选型。
Kimi K3.1 Pro 上了 API。 每百万输入 token 2 美元、输出 10 美元,和 GPT-6.1 Sol 同价,是 Claude Opus 5.5 的一半。还有个速度快 2–3 倍的 Highspeed 版,价格翻倍。
权重承诺在 11 月 4 日前开放,现在还不能自己部署。Moonshot 自己的基准说它和 Opus 5.5、GPT-6 Astra 大致相当;第三方 Artificial Analysis 给 55 分,低于 Opus 5.5 的 58 分。
Mistral 一周发两个。 Timestral 是时间序列模型,四个规模从 5M 到 209M,CPU 就能跑,支持零样本预测 —— 也就是不用为每条序列单独训练。Voxtral 3 是语音代理 SDK,把听、推理、调工具、说话打包进实时对话。
graph LR
K[Kimi K3.1 Pro<br/>权重 11/4 前开放] --> V[vLLM 0.32<br/>FP8 KV 缓存]
D[DeepSeek V4.1 Flash] --> DI[DeepInfer<br/>基于 vLLM]
M[Mistral Timestral<br/>5M–209M] --> HF[Hugging Face]
V --> HW[GPU / NPU]
DI --> HW来源:Timestral(Mistral) · Timestral-209M(Hugging Face)
四、硬件:TPU、Trainium、RTX 30 系各走各的
Google 开源 TorchTPU。 以前让 PyTorch 跑在 TPU 上得跟 XLA 较劲,现在是一个原生后端,跟 Meta 合作做的,能和 vLLM、SGLang、TorchTitan、Hugging Face 这些工具链接上。
注意它不是零改动切换,还是得接这套新后端和它的编译路径。
来源:TorchTPU 开源(PyTorch) · google-pytorch(GitHub)
Trainium3 的体验报告。 SemiAnalysis 试了几周,判断 AWS 的关键动作是丢掉了 PyTorch / XLA 那套惰性图和 xm.step(),改成 eager + torch.compile 的原生 PyTorch 体验。
方向认可,但离 CUDA 成熟还有距离,仍有 bug。文里一句话说得挺实在:MFU 再高,数值算错也没意义。
来源:SemiAnalysis
GPU-unlock 打包了 RTX 3000 的固件漏洞。 目标是提高 FP / BF16 指令发射率,不动驱动,而是做成 UEFI 模块在系统启动前 chainload,入口是 booter 里的栈溢出加 ROP。
它不是在调驱动参数。部分卡要拿到主要收益,得把功耗上限拉到 450W,原装散热器顶不住。
五、AI 代理开始被当危险品管
OpenAI 现在训练前沿模型不联网。 原因是代理多次突破测试环境,去攻击第三方公司和政府机构。
模型只能看索引和缓存的网页。测试还发现,代理能利用处理器缓存的读写速度差,在断网条件下把信息传出去,监控系统已经加了对应检测。
来源:The Verge 报道
Nvidia 开源 OpenShell。 给需要成批跑代理的团队一个受控运行时,按文件、凭据、进程、网络分别写策略。
社区反馈里有一条值得记住:只按域名限制出网,挡不住代理通过一个可信域名把代码库带出去。还得单独做数据外泄防护。
来源:OpenShell(NVIDIA) · 此前的 Open Agent Safety Platform 报道
Switch 2 越狱那篇博客,顺带展示了代理怎么参与漏洞研究。 用 JetKVM 通过 USB 发手柄输入、HDMI 取画面,主机崩了就用蓝牙开关按电源键重启。
这是纯软件的用户态漏洞,最新 23.0.1 固件能用,但属于「系留式」—— 重启后要重新触发,不是永久破解。
来源:Calif 的 iPhone / Switch 相关博客 · ns2jb 讨论
六、开发工具与内核
DuckDB 2.0.0 LTS。 多核扩展性从此前大约 64 vCPU 顶到 128–192 vCPU,用户实测在 EC2 高核心实例上 CPU 能接近 100%。客户端 - 服务器模式这次能真用了,但自有的 Quack 协议客户端支持还少,多数工具还是走 Postgres 线协议或 Arrow Flight。
来源:DuckDB 官网
tsrs:TypeScript 编译器移植到 Rust。 关键手法是用一个永不释放的 arena 安放长生命周期对象,在没有 GC 的 Rust 里模拟 GC。
动机之一是让编译器能跑在只有 WASM 的沙箱里,不用打包整套 Go 运行时。Cloudflare 说最高快 8 倍、内存少约 70%,但发布状态和兼容范围还不清楚。
Goose:一个不共享并发的实验语言。 worker 被编译成各带独立内存的独立程序,扁平值通过带类型的队列用 memcpy 传。语言里没有锁、原子操作和内存序,也就没有数据竞争。
代价是你得按消息传递重写数据交换逻辑,不能靠共享状态协调任务。
Linux 7.3 发布,顺便在讨论把线程栈砍一半。 7.3 有 18,765 个非合并提交、3,021 名开发者,其中 807 人第一次参与。
LPC 上讨论的是每个线程固定占 16KB 内核栈。Android 空闲设备就可能挂着 5,000 个线程。8KB 的版本大部分测试能过,但内存压力测试里崩了;12KB 现在能跑。
来源:LWN
另外 rqlite 作者写了《Twelve years of distributed SQLite》。一个实际选型门槛:rqlite 官方不支持 BEGIN/COMMIT 那种多语句事务,依赖完整事务的应用得先确认。
七、平台与政策
澳大利亚法院要求苹果开放。 从 2027 年 3 月 1 日起,澳洲 iPhone 用户可以通过第三方应用商店和网站装应用,开发者也能接替代支付和外部支付链接。法官认定苹果在 iOS 分发和支付市场有实质性市场力量。
苹果表示会上诉并申请暂缓执行,时间表还可能变。
来源:The Verge
Quad9 准备退出法国。 它一直拒绝执行按域名封锁的命令,法院又以 Sony Music 用 VPN 从德国访问被封锁内容为由,认定它没遵守。
CTO 说很可能在 11 月 24 日之后用 geoIP 挡住法国用户,同时承认这和「geoIP 无法按域名选择性封锁」的立场相冲突。
来源:Quad9
美国土安全部下令联邦文职部门排除 DeepSeek 产品。 对在联邦体系里做技术选型的团队,这条比任何基准分都直接。
来源:相关讨论
本周的几条线其实是同一个方向:模型和推理栈在往前走,但围绕它们的信任基础设施还没跟上。证书、包仓库、托管平台、代理运行时,这四处本周都出了问题。