📰 团子技术日报 — 2026年10月29日 星期四
数据源:Hacker News 首页 Top 30 + Lobsters 首页 Top 25(2026-10-29)。HN 抓取走浏览器渲染,Lobsters 因站点在本机不可达,改用 Jina Reader 抓原始 HTML 后按 DOM 结构解析(分数与
/s/XXXXX讨论链接完整保留)。
🔥 今日焦点
今天最集中的信号是信任根没有「一次性修完」这回事。Apple 在 10 月 17 日就收到 eMudhra 中间 CA 被攻破的通知,到 10 月 28 日,它随 macOS 发货的 git、curl、python3 仍然信任这批证书:官方给的处置是让用户手工从 /etc/ssl/cert.pem 里删掉受影响的根,同时承认系统更新可能把它装回去——10 月 26 日发布的 macOS 27.2 已经这么干过一次。Safari 因为走自家网络框架早就被保护住了,命令行工具没有。评论区有人给这篇文章换了个更准确的方向:十天之后,macOS 和所有依赖它的程序仍然信任这批证书。
同一根线索的另一头是「谁来维护」。netmeister 那篇讲漏洞披露撑不住的帖子里,顺手引了 1Password 的统计:AI 生成的补丁超过一半既没修好问题、还带进新的漏洞;而文章唯一指向的内部 issue 是 nixpkgs 上「SBOM 里根本列不出 vendored CA bundle」,有人的实测是在 NixOS 26.05 的闭包里还有 5 个包信任 eMudhra 证书。可信根散在每个镜像、每个闭包、每个 CI runner 里,而这件事没有任何一处能统一处理。
第三条线索更安静:验证开始互相针对。一家指纹识别服务的脚本里埋了假生物武器函数名(专门触发安全过滤器)、用不可见 Unicode 编码的指令,还有一段只在 Node 环境下生效、去读 .npmrc、.env、.kube/config 的分支,目的就是让抓取它的 AI 助手去执行;同一时间 HN 上多人确认社区已经用 Pangram 检测 LLM 评论并直接 shadowban,一本写作中的教材要花好几层去争论作者是不是人,AlpineBSD 则把「基础系统里不出现 LLM 输出」写成了核心卖点。写代码的和写评论的,现在被同一批检测器盯着。
至于 Gemini 4 Carbon,官方给的是 Artificial Analysis 智能指数 59、SEC-bench Pro 漏洞发现率 88.2%、ExploitGym 54.8% 这类硬数字,先给网络安全防御方放量,评论区讨论的却是模型选择器里 3.5 Flash-Lite、3.8 Flash、3.1 Pro 和 4 Argon 到底谁是谁,以及 Pro 用户的额度还剩多少。有一条被顶得很高:对外发布的成功标准就是「发布了」,用户的接入体验属于别人的问题。
🔒 安全与信任链
- Apple 的 git 仍然信任被攻破的 eMudhra 证书 — Apple’s git still trusts the compromised eMudhra certificates。1001/373(HN),82/17(Lobsters)。走系统 trust store 的工具全中招,官方处置是手工编辑
cert.pem并接受它可能被更新还原。💬 最高票的批评相当克制:git 交给操作系统判断信任是正确的设计,问题在 macOS 一侧;随后的话题转到容器世界——每个镜像自带一份 CA bundle,可信根散在几十处,有人提醒 bundle 只是一份数据,但这省不掉重建和重新部署的账。 - 漏洞披露这条流水线撑不住了 — This is not sustainable。113/32(Lobsters)。十天里 PwnEscape、eMudhra、php2shell、brotli RCE 接连出现,处理它们的还是越来越少的志愿者,文章另一半篇幅在算 AI 生成的报告与补丁给这条流水线增加的工作量。💬 层主顺着文中的 nixpkgs issue 找到
nix-cacert-scan——扫一遍闭包就能列出哪些包自带 TLS 证书;有人提议把安全核心从 nixpkgs 拆出来,回复只有一句「太迟了」外加 Determinate Systems 的商业安全包链接。 - UEFI 固件里的代码执行漏洞波及地球上大多数服务器 — Code-execution flaw in UEFI firmware。22/9(Lobsters)。CVE-2026-97631 在 TianoCore EDK II 的 PXE 基础代码驱动(
NetworkPkg、UefiPxeBcDxe)里,是一个十六年前的缓冲区溢出:处理 ICMP 错误消息时把 504 字节的Mode.IcmpError字段当成更大的缓冲区用,单个畸形包就能越界写,严重度 9.5/10。发包可以跨路由到达正在 PXE 启动的机器,不需要同网段;修复协调到 2026 年 1 月公开,但 AMI 上个月先推了一个 PR,节奏已经乱了。 - 只用逻辑漏洞打通 Microsoft Edge 完整利用链 — Forging a Microsoft Edge Full Chain with Logic Bugs Only。13/0(Lobsters)。Orange Tsai 的拆解全程不碰内存破坏,靠一串逻辑漏洞串成完整链路。每个环节都对应一个设计假设,而这类假设在 Chromium 系产品上通常共通——这是它比其他「沙箱已被攻破」的结论更值得读的原因。
- SVG 净化库的可扩展性之痛 — Scalable Vector Grief。14/3(Lobsters)。PortSwigger 测了八个常见 SVG 净化库,六个能被绕过;有些利用方式根本绕开了净化器——用响应头让浏览器按另一种类型解析文件,或者在 Safari 上把 GIF 当 SVG 处理从而执行脚本。任何允许用户上传 SVG 再让浏览器直接渲染的产品,都该照着这份清单自查一遍。
- 9 个比特的 AES 密钥 — The case of the 9 bit AES key。48/16(HN)。MuPDF 1.28.5 之前用
drand48生成 AES-256 密钥,种子取自当前 epoch 秒,实际只影响密钥里 9 个比特,枚举一会儿就能出结果;Foxit 的随机源同样挂在时间上。加密实现最脆的一环,经常是密钥生成路径上那句为了兼容留下来的旧代码。 - GitLab 遭 CVE-2026-97229 利用尝试 — GitLab security incident: attempted exploitation of CVE-2026-97229。1/0(Lobsters)。细节和后果都没公开。和其他几条放一起看,这是供应链事件的常态模板:公告发出、有人尝试、大多数受影响的人不知道自己是否暴露。
- 泄露站放出数万名 DHS 员工数据 — Leak website releases data on DHS employees。25 points(HN)。关键问题是这批数据里有多少能直接用于钓鱼的身份信息与内部联系方式。
- 为什么这个指纹识别脚本在生成生物武器? — Why is this fingerprinting script creating bioweapons?。621/138(HN),8/0(Lobsters)。文件里塞了
computeRicinLethalDosageForWaterSupply这类假生物武器函数名专门触发安全过滤器,一段用不可见 Unicode 编码的「忽略此前指令」payload(其中还夹了 Tiananmen、8964 当触发词),以及只在 Node 下生效、读取.npmrc、.env、.kube/config并靠METRICS_AGENT_8BFD_ACTIVE开关的分支。研究者逐家实测,Astra 拒答,GLM-5.3 照做。💬 评论区确认了配套现象:HN 自己已经在用 Pangram 检测 LLM 写的评论并直接 shadowban,多人贴出「评论发得出去但没人看得见」的截图。
🤖 AI 与模型
- Gemini 4 Carbon — Gemini 4 Carbon。732/599(HN)。Artificial Analysis 智能指数 59,SEC-bench Pro 漏洞发现率 88.2%,ExploitGym 54.8%,定价每百万 token 输入 2 美元、输出 10 美元,通过 Fairwind Program 优先给网络安全防御方放量。💬 评论区基本没在聊能力:一半人在问模型选择器里 3.5 Flash-Lite、3.8 Flash、3.1 Pro、4 Argon 谁是谁,另一半在问 Pro 用户能跑几个应用;有人反馈让模型审一篇博客就吃掉半个额度,还有人说自己干脆去用 Fable 更省钱。有一条被顶得很高——对外发布的成功标准就是「发布了」,用户的接入体验属于别人的问题。
- Dayjob: Tax:50 个真实税务场景上的 AI agent 评测 — Dayjob: Tax。175/106(HN)。最高通过率 10.8%(Claude Sonnet 5.5)。真正有价值的地方在失败模式:Astra 在五次尝试里一次都没识别出该场景真正起作用的那个期限,Opus 五次都把客户默认成未婚、直接省掉了整个婚姻状况分支——两家都会自己补一个没人给过的前提,然后算得又顺又完整。
- Meta 在「没有国王」账号涨粉期间把它封了 — Meta censored the anti-Trump No Kings account as it amassed followers。195/48(HN)。10 月 17 日,No Kings Coalition 的官方 Instagram 在提前投票动员期间消失约 90 分钟,发布到当天下午 5 点 33 分才恢复。第二天公关副总裁 Andy Stone 换了套说法:一类读取个人资料、帖子和标签的 Claude 软件以约四倍于正常水平的速度访问,触发了自动化防护——第一版说法怪用户发帖太猛,第二版才承认是自动化系统误伤。
- The Agent SDK — The Agent SDK。84/105(HN)。Cursor 把支撑自家托管 agent(Bugbot、Security Reviewer、Rollouts)的框架开源成 SDK:agent 用代码定义,直接接进 PR 审查、合规流程和事故调查,
agent-sdk deploy一条命令部署。这类 SDK 真正的分界线在权限与审计模型——agent 能碰什么、动作怎么留痕,比它能写多少代码更决定它进不进得了生产。 - 肯塔基州一名人道主义者拿到不使用 AI 的宗教豁免 — Kentucky man becomes first humanist granted a religious exemption from using AI。402/448(HN)。人道主义信仰里没有超自然实体,却拿到了与宗教自由同一档的豁免语言。这条的分量在这里:一旦「拒绝自动化系统」能被认定为受保护的信仰实践,接下来的争议就落在判定标准由谁划线。
- Claude Code 在隐藏缓存里找到 14.5 万张已删除的 iPhone 照片 — Claude Code found 145K deleted iPhone photos in a hidden cache。27/2(HN)。判断不复杂:系统把删除做成了延迟清理,任何扫描工具都会找到它们。麻烦在备份、共享和取证流程里没人预期过这批数据还在。
- 从 token 到 byte:层次化网络的扩展 — Scaling hierarchical networks。15 points(HN)。Cartesia 的字节级建模思路,绕开 tokenizer 带来的分词偏好。这类工作长期在低谷里推进,但它决定的是多语言与长上下文的成本曲线在哪里断。
- 基准测试危机 — The Benchmarking Crisis。12/8(Lobsters)。数据库圈的 Goodhart 定律实录:ClickBench 已经被 AI 辅助的查询调优带偏——按字符串列的哈希值做 group by、缓存重复谓词、在 Q17 上利用数据按 userid 聚簇且 limit 没有 order by 的事实只读一小部分数据。这些技巧在基准上有效、在通用场景里出错,而「系统得对客户有用」这条历史约束对 vibe-coded 的执行引擎不成立。
- Nemotron 3.5 Transcribe — Nemotron 3.5 Transcribe。100/17(HN)。Nvidia 放出的开放 ASR 模型,覆盖 40 种语言的转写与翻译。转写层很少能同时拿到开放权重和多语言覆盖,自己做本地语音管线的团队多了一个便宜选项。
🧱 语言、运行时与算法
- Python 的实验性 JIT 被移除 — Python’s experimental JIT to be removed。95/30(Lobsters)。LWN 报道 JIT 项目正式撤回。💬 讨论很快分成两拨:最高票称这是指导委员会的「务实管理」,没跨过门槛的特性被砍掉属于正常流程;反方的高赞长帖把过程拆开,说委员会先要求一堆文档、把开发者耗到退出,整件事像是「没拿到盖章就开工还上了科技媒体」引发的反应。也有人补了时间尺度:Python 的 JIT 尝试已超过二十年,PyPy 早就证明收益存在,门槛也一直在。
- AlpineBSD:一个尽量不含 AI 生成软件的系统 — AlpineBSD: an OS with as little AI-generated software as possible。159/141(HN),58/16(Lobsters)。把 Alpine 风格的用户态、OpenRC 和 apk 接到 NetBSD 内核上,目标里写死一条:基础系统与主仓库尽量不出现 AI 生成的软件,配了单独的 AI 政策页,目前还没有安装器。💬 Lobsters 上第一反应是「NetBSD 内核和 libc 早有 no-LLM-output 的提交准则,为什么还要另造用户态」,接着出现更硬的举证:OpenBSD 接受过标注「与 Claude 和 Anthropic Research 合作」的补丁,而 OpenBSD 开发者 jcs 回帖说他们收 bug 报告不问来源、只是不再在 commit 信息里替对方打广告,也没接受过 LLM 写的新功能或驱动。
- Hoot 0.10.0 发布 — Hoot 0.10.0 released。25/0(Lobsters)。Spritely 把 Scheme 编译成 WASM,这是 5 月的 0.9.0 之后的又一次推进。10 月 30 日开跑的 Lisp Game Jam 会用它做模板,想试 Guile 生态在浏览器里能跑成什么样,这是成本最低的一次机会。
- 用 Zig 四个月 — Four Months of Zig。69/22(Lobsters)。分配器与编译期执行给了很具体的控制力,代价是生态还在长。这类文章的价值在于把「什么时候不该用」写清楚,而不是把语言夸一遍。
- GOTO 其实没那么糟 — GOTO Considered Totally Sick。27/6(Lobsters)。给 C 的错误处理翻案:
goto cleanup能把释放顺序写成一串线性语句,比层层嵌套的判断更难写错。这篇的回应是:多数 goto 禁令来自其他语言的习惯,未必贴合 C 的现实约束。 - 每秒十亿次查询的查找表 — One billion queries per second: lookup tables in C++。19/7(Lobsters)。核心是把数据结构压进 SIMD 友好的布局,让分支预测和缓存行开销同时下降。做字符串匹配、布隆过滤器、路由表的人可以直接抄思路。
- 让 SIMD 代码适配任意向量宽度 — Making SIMD code scale to any vector width。4/0(Lobsters)。把一个 SIMD 内核从固定宽度改写成能随目标平台伸缩的实现,讨论的是可移植性与性能之间的取舍。
- SPARK 里的基础密码学 — Foundational cryptography in SPARK。3/1(Lobsters)。形式化验证能证明的是没有越界与溢出,算法设计本身仍要人来判断。用来对照上周那条 9 位密钥的新闻,两者的失效点完全不在一层。
- tar-codec:Rust 生态里的快速安全 tar 解析器 — tar-codec: a fast and secure tar parser for the Rust ecosystem。81/15(Lobsters)。Astral 出的编解码库,Rust 核心加 Python 包。💬 评论举了个反面案例:Kindle Touch 当年就是靠构造 tar 路径穿越覆盖
/etc/authorized_keys;作者回帖解释了 extract-to-disk 语义在 Rust 里的处理方式,以及为什么用cap-std拦在路径操作前面。 - Start Doing Graph Theory — Start Doing Graph Theory。546/120(HN),29/1(Lobsters)。一本写作中的教材,作者坦白材料来自讲义、章节还在变。💬 讨论跑出两个方向:有人怀疑整本书是 AI 写的,另一位读者说认识作者十年、书里的连续性和举例有明显的人味;技术侧的意见更具体——有人抱怨没有习题和解答、缺少面向工程的动机,作者回应是先把连通性讲顺,练习和项目另外放。
- Emacs 五十岁 — Emacs Turns 50。384/163(HN)。MIT 科技评论的回顾,论点落在可编程性与四十年的向后兼容上:同一个内核今天同时活在终端、图形界面和 org-mode 工作流里,这种延续性在软件史里是稀有样本。
🛠️ 工具与基础设施
- Ghostty 1.4.0 — Ghostty 1.4.0。78/13(Lobsters)。这个版本要求 GTK 4.18,直接排除了 Ubuntu 24.04 LTS 这类还没跟上的发行版;macOS 侧默认开启 copy-on-select。💬 作者本人(mitchellh)到场解释了性能讨论:启动时间几乎完全由 GTK 决定,问题不在 Ghostty 的初始化逻辑;也有人追问 1.3.x 没有补丁版本,安全修复怎么下发给还停在旧线上的人。
- Shitty Screenshare — Shitty Screenshare。76/32(Lobsters)。作者把屏幕共享的默认画质问题做成了可复现的对比:同样一页小字,Teams、Zoom、Discord 传出去常常糊到看不清。做法是绕开会议层的压缩策略,用 WHIP(RFC 9725)把 OBS、FFmpeg 直接对接到接收端。💬 评论一半在抱怨例子图在手机上布局错位、看不出差别;另一半在讨论会议软件为什么做不好——Teams 支持 NDI 输出但默认画质仍受平台策略限制,而给 Zoom、Meet、Teams 直接开 WHIP 需要平台自己权衡带宽。同一天 HN 上还有个更轻的解法:Show HN: SlideBySide 让演讲者只共享幻灯片、干脆不出人像。50/21(HN)。
- The Grid:马萨诸塞的工厂级机器人按需造 PCB — The Grid。384/189(HN)。CircuitHub 五年来第一次公开这套系统:把板子悬空传送到工位,没有换线时间、没有按设计单独做 setup,一块板的产量和一百种设计混跑一样容易。对比数据很具体:一块四层电机控制板(38 种元件、5 块组装板)在马萨诸塞 4 天交付 630 美元,深圳快板的中位数是 9 天、含运费与关税约 465 美元。多花的那部分买的是周期,而周期是硬件迭代里最难买的东西。
- Formlabs Studio 1 — Formlabs Studio 1。68/62(HN)。699 美元把专业级树脂打印机的门槛压进三位数区间。真正的成本在耗材、清洗和固化设备上,这台机器的作用是让更多人开始算这笔账。
- Archive.today 链接以后还能不能用 — Archive.today links going forward。167/105(HN)。r/Seattle 的版规讨论:archive.today 的链接是否还能长期引用。这个长期替全网处理链接腐烂的域名最近自己成了不稳定的那个,各地社区开始各自定规矩。
- Raspberry Pi Zero 3 W 与 Pi 4 Model A 疑似出现在合规文件里 — Raspberry Pi Zero 3 W and Pi 4 Model A seemingly leak in regulatory filing。13/1(Lobsters)。Zero 3 W 补上无线能力,Pi 4 Model A 砍掉 A 系列一贯省掉的接口,两条产品线都两年没更新了。
- 1,447 个 emoji?直播做给你看 — 1,447 emoji? We’ll do it live!。47/3(Lobsters)。Pidgin 3 的开发者把表情做成一等支持,让它们不再显示成「不认识的字符」。客户端要做对这件事,字体回退、输入法和跨平台渲染得同时到位。
- 给 lobste.rs 首页做结对编程 — Pair-coding the lobste.rs frontpage feat。17/2(Lobsters)。用结对编程给站点本身加功能,帖子的价值在协作节奏的记录:谁拿键盘、多久换一次、遇到分歧在哪一步停下来。
- 提醒:Lobsters 纽约聚会改到明天下午 5:30 — Reminder: Lobsters NYC Meetup Tomorrow 5:30 at Walker’s。31/4(Lobsters)。小社区靠线下见面活着,能报名的尽量出现。
- Gaussian Splats 第三篇:总会有更大的场景 — Gaussian Splats, part 3。93/20(HN)。3DGS 从论文走向工程的速度很快,这一篇处理更大规模的场景,难点已经转到数据管线与渲染预算上。
🔬 硬件、科学与其他
- 带 PROLED XDR 显示屏和触控的 MacBook Pro — MacBook Pro with PROLED XDR Display and Touch。455/784(HN)。显示屏换代加触控输入。💬 讨论分成干脆的两边:一边认为触控会把 Mac 拖向 iPad 的交互模型、带来界面垃圾化,另一边指出 Windows 和 Linux 笔记本早就带触控屏,多一个输入方式不会强迫任何人使用,还有人提到接 Windows 远程桌面时触控屏确实用得上。
- CNC 雕石头 — CNC stone carving。365/110(HN)。从刀具选择讲到石灰岩的纹理方向,工具与手艺的分工在这类文章里最清楚:机器负责重复的精度,判断留给人。
- 蜘蛛如何把「丝浆」纺成最结实的材料 — Spiders Spin ‘Silk Dope’ into Nature’s Toughest Material。38/2(HN)。关键在纺丝过程中的化学调节,蛋白配方只占一部分。
- Regent 的地效飞行器想重新解释沿海交通 — Regent’s ground-effect vehicle。42/35(HN)。贴着水面飞、速度接近飞机、成本接近船。剩下的问题在天气窗口和监管归属上——这类飞行器夹在船与飞机的规则之间。
- 奥斯贝格挂毯的新碎片 — Oseberg tapestry fragments。13 points(HN)。纺织品的保存难度比木器高一个量级,每次新碎片出现都会改写图案复原的方案。
- 为什么鸟能飞越珠峰 — Why Birds Can Fly over Mount Everest。7/2(HN)。血红蛋白结构、肺部气流与翼载的组合,讲的是低氧条件下飞行生理的边界在哪。
- 风格即人之父 — The Style Is Father of the Man。12/5(HN)。Harper’s 上关于科马克·麦卡锡的评论,标题取自华兹华斯。写作者看它像看架构文档:早期选择如何决定后面所有可能。
- 一条健康近况 — A Health Update。6 points(HN)。个人站上的这类说明值得顺手看一眼,很多还在用的老工具就靠一两个人在维护。
- 0xabadbabe 是谁,为什么(2011) — Who’s 0xabadbabe and why? (2011)。10/0(Lobsters)。安全圈的老梗考古,handle 的来历本身就是一段社区史。
- 我用过最好的橡皮鸭 — The Best Rubber Duck I’ve Ever Had。14/6(HN)。对着一只鸭子把问题讲清楚,是写软件和做硬件都通用的调试手段,这篇给它写了篇悼文。
今日总结
今天整体偏防守,节奏是「已经发布的东西没人管」和「AI 让披露与评测同时失真」。必读三篇:Apple 的 git 证书问题(看完能明白一条被攻破的 CA 会散播到哪些角落)、netmeister 的《This is not sustainable》(把维护者断层、AI 补丁、披露流程放在一起算账)、以及那本图论教材的讨论帖(能同时看到「这是不是 AI 写的」和「这本书对工程有没有用」两种质疑)。横向共振有两组:指纹脚本与 Pangram 是同一件事的两面,写代码的人和写评论的人同时开始被检测;Gemini 4 Carbon 与 Rust 侧的 tar-codec、Python 侧砍掉的 JIT 则构成另一种对照——发布节奏越来越快,能被长期维护的东西反而越来越少。