
爬虫、Docker 组、QubesOS、扩散模型、SM750:便利入口把成本推到哪里?
从 git.kernel.org 的爬虫负载、Omarchy 与 QubesOS 的权限边界,到连续扩散模型和 SM750 驱动,本文追踪便利入口把计算、权限、评测、兼容与恢复成本转移到哪里。
截至北京时间 2026 年 8 月 31 日 08:00 左右,Hacker News 当前 front page 上有五条材料值得放在同一张桌上看:内核站在应付爬虫,Linux 发行版在修正默认权限,QubesOS 在修补特权侧的命令注入,研究者重新讨论连续扩散语言模型,个人开发者则用 AI 辅助写出一枚实验性显卡驱动。
它们的共同点落在一个很具体的问题上:产品把入口做得更方便以后,计算、权限、评测、兼容和恢复成本最后由谁承担?
| 材料 | 抓取时热度 | HN 发帖时间 | 提交者 |
|---|---|---|---|
| Creepy Crawlies | 875 分,402 条评论 1 | 8 月 30 日 01:49 | zdw |
| Omarchy: Any User Process Can Escalate to Root | 374 分,382 条评论 2 | 8 月 30 日 23:59 | trap0xcc |
| Arbitrary code execution in QubesOS via copy-to-VM error reporting backchannel | 198 分,83 条评论 3 | 8 月 30 日 16:51 | vntok |
| Continuous Diffusion Language Models | 45 分,11 条评论 4 | 8 月 31 日 04:46 | peter_d_sherman |
| Why open source rocks – a new SM750 HDMI Driver | 59 分,31 条评论 5 | 8 月 31 日 02:49 | SillyUsername |
分数和评论数都是本次抓取时的快照。HN 只显示提交者用户名,原文页面提供的作者或项目身份也各有边界,下面会把这些边界一起保留下来。
内核站:每一次“方便读取”都可能变成服务器账单
148 万次提交,被渲染成了无数个网页
Linux 内核基础设施维护者 Konstantin Ryabitsev 在 Creepy Crawlies 中记录了 git.kernel.org 最近遇到的爬虫负载。该站每天收到约 600 万次请求,很多请求只是打开一个随机 commit 的 HTML 页面。约 66% 的请求被 Anubis 计算挑战挡住,剩下约三分之一进入主站;按作者的估算,真正合法的请求只占约 2%。原文给出的具体测量来自 git.kernel.org 的五个节点和 90 个 CPU 核,其中 14 到 16 个核长期用于给爬虫渲染 commit,约占总容量的 20%。6
问题来自访问方式。
linux.git 大约有 148 万个 commit,站点还有约 922 个 fork。爬虫如果把每个 commit、每个分支和每种页面组合都当成独立 HTML 入口,服务器就要重复执行服务端渲染。原文还指出,随机住宅和移动 IP 让单纯封禁 IP 变得越来越难;作者计划保留完整数据下载,同时收紧部分匿名访问和 HTML 功能。6评论区的争论,集中在谁来付出额外计算
一组评论建议把页面静态化,或者在 git 前端放缓存。另一组评论指出,旧式服务端渲染面对大量 URL 组合时,缓存可能很快被不同页面挤出;评论者
rcxdude 还提到,文章估算的可抓取页面数量远大于实际 commit 数量。1另一条分歧是 Anubis 计算挑战。支持者认为,挑战至少能把一部分低成本请求挡在门外;质疑者认为,数据中心拥有更多算力,爬虫学会解题以后,挑战只会把计算开销转成站点和访客都要承受的等待。评论者
marginalia_nu 把住宅代理视为更难处理的来源,Demiurge 则提出按请求收费,让自动化访问承担一部分外部成本。1这条材料给产品团队的提醒很窄,也很实用:一个“可直接读取”的网页入口需要同时写清楚缓存键、批量下载接口、身份持续时间和容量上限。否则,爬虫得到的是低摩擦入口,站点维护者承担的是渲染 CPU、识别成本和误伤真人用户的风险。
Omarchy:默认配置把 root 权限送进了每个进程
Docker 组为何等价于整机权限
安全研究者
0xcc 在 2026 年 8 月 28 日的文章中说明,Omarchy 4.0.1 之前的版本会默认把普通用户加入 Linux docker 组。Docker daemon 以 root 运行并监听 /var/run/docker.sock,组成员可以通过这个 socket 让 daemon 挂载宿主机文件系统,或者以 root 身份执行代码。Linux 的补充组会被用户会话里的子进程继承,因此浏览器、编辑器、npm 脚本、开发工具和 AI 编码代理都可能带着这条权限进入运行环境。7文章把这个设置称为默认、可选择退出的配置。作者在 2026 年 8 月 24 日看到项目提交
b5ded31,该提交从默认配置中移除了 Docker 组成员身份;文章给出的直接处理方式是更新到 Omarchy 4.0.1。作者还建议需要容器的用户评估 rootless Podman,或者使用 rootless Docker,并提醒 Docker 官方文档也说明 Docker 组拥有接近 root 的权限。7方便的开发体验与安全默认值发生了正面冲突
评论区的一方把问题落在“默认”二字上:用户可以主动承担 Docker 组风险,但发行版替用户完成这一步以后,用户很难知道自己的普通进程已经获得了整机级能力。另一方认为,许多 Linux 安装指南都把用户加入 Docker 组作为常见步骤,桌面用户本来就需要防范浏览器和用户目录里的凭据泄露。2
Podman 也没有成为无争议的答案。支持者认为 rootless Podman 已经足够成熟,且 rootless Docker 也有官方支持;质疑者则指出,subuid/subgid 映射、SELinux、网络和
docker-compose 兼容性仍会增加用户的理解与维护成本。评论者 PuercoPop 和 drnick1 对 Compose 行为的判断就不一致:前者建议使用 Podman 的其他编排接口,后者认为 Compose 的兼容差距已经基本缩小。2这件事把“开箱即用”拆成了两个产品字段:第一,默认给了什么权限;第二,用户是否能在第一次安装时看到这笔风险,并在需要时撤回权限。一个替代运行时只有在兼容性、文档和迁移路径同时交付时,才真正接住了默认配置留下的账单。
QubesOS:隔离边界也会在错误对话框里破裂
攻击路径经过了 dom0 的错误处理
QubesOS 在 2026 年 8 月 28 日发布的 QSB-118 说明,
qvm-copy-to-vm 从特权的 dom0 向 qube 复制文件时,目标 qube 返回的文件名会经过 sanitize_remote_filename(),随后进入 dom0 的 display_error()。清洗函数替换了非 ASCII 字符和双引号,却保留了 shell 元字符;display_error() 又通过 system() 启动错误对话框,于是攻击者控制的文件名可以注入命令并在 dom0 执行。8漏洞影响所有 Qubes OS 版本,攻击者需要先控制一个 qube,再让用户从 dom0 向该 qube 复制文件。Qubes OS 给出的修复包是 Qubes 4.3 的
qubes-core-dom0-linux 4.3.22;公告建议用户通过正常更新取得修复,不需要额外操作。8HN 讨论没有把它误读成虚拟机逃逸
评论者
XMPPwocky、negura 和其他参与者反复指出,这起问题属于应用层把不可信输入交给 shell,涉及的是 dom0 的错误处理路径,攻击链没有证明 Xen 或虚拟化隔离本身被攻破。另一条评论则提醒,Qubes 的“不要信任用户态”原则恰好要求系统把用户可能做出的普通操作也纳入防护,不能把“用户本来应该避免从 dom0 复制”当成主要防线。3安全屏幕应该放在哪里,也是讨论焦点。一方认为密码确认和错误提示必须由 dom0 承载,避免恶意 qube 伪造安全界面;另一方提出把这类界面移到一个权限更小的半特权虚拟机里。关于修复方式,评论者基本围绕一个具体动作展开:用
execve 等直接执行接口替代命令字符串拼接,而不是继续依赖 system() 和人工审查。3QubesOS 的案例显示,隔离产品的成本也包括特权侧的用户体验。只要一个错误对话框必须跨越信任边界,输入类型、调用方式、界面归属和更新覆盖范围就都要成为验收字段。隔离的价值没有消失,维护隔离所需的代码路径却不能被当成“只是 UI”。
连续扩散语言模型:少步采样省下了什么,又增加了什么
连续空间让语言模型重新走了一圈
Sander Dieleman 在 2026 年 8 月 24 日发表的综述中回顾了连续扩散语言模型。方法通常先把离散 token 映射到连续 embedding 空间,再加入高斯噪声,由 denoiser 逐步恢复;有的模型直接预测 embedding,有的模型在词表概率上训练,也有方法把离散 masking 与连续噪声结合。文章还把自适应噪声调度、self-conditioning、flow maps 和 step distillation 列为近年的主要路线。9
连续路线吸引研究者的原因,是它有机会通过蒸馏减少采样步数。文章同时保留了历史账单:Plaid-1B 的训练效率曾被报告为比自回归基线低 64 倍;连续方法还要处理 embedding 几何、噪声调度、从连续表示解码回 token,以及大词表带来的计算复杂度。作者认为,最近的 RePlaid 和 LangFlow 等工作让连续方法重新具有竞争力,但研究社区尚未收敛到一套明确的配方。9
评测本身也会产生费用。综述指出,扩散模型可以调节质量与多样性之间的权衡;生成困惑度依赖代理自回归模型,MAUVE 也依赖预训练模型。若论文只报告某一个采样设置下的分数,读者很难知道性能提升来自模型本身、采样预算还是评测器的偏好。9
评论区把“更复杂的生成方式”拉回了应用账本
评论者
janalsncm 认为,扩散路线早期面临的障碍与后训练和对话分布有关;p1esk 则用“attention 是必要条件而非充分条件”回应了把 Transformer 注意力机制当成唯一答案的说法。另一些评论者把关注点放到自动化 harness,猜测连续模型也许能承担一部分搜索或控制工作。这些发言属于个人判断,讨论没有提供新的对照实验来裁决模型路线。4这条材料的产品含义是,模型架构的“效率”必须用全链路账本来描述:训练成本、每次采样步数、并行度、解码成本、评测器成本和质量波动都需要同时出现。少步采样如果把更多复杂度推给 embedding 设计或评测 harness,产品仍然需要支付那部分成本,只是付款位置发生了变化。
SM750 驱动:AI 能把代码交付出来,维护责任仍在现场
README 把支持范围写得很窄
KodeMunkie/sm750hdmifb 是一个面向 Silicon Motion SM750G10、SE-DP750A-HDMI 单 HDMI PCIe 显卡的 Linux DRM/KMS 驱动。README 将项目标为实验性、非上游、非 Silicon Motion 官方驱动,并说明项目没有使用专有驱动、固件或闭源库。项目支持 16 MiB 显存、DMA 上传、RGB565 抖动、硬件光标和软件超宽模式,目标内核为 Linux 6.17 及更新版本。10支持边界比“SM750 驱动”这个标题窄得多:README 只确认
126f:0750、SM750G10-AC revision A1、SiI9024ACNU HDMI 发送器和一个 HDMI 接口的组合。硬件真实输出宽度上限是 2048 像素;softscale_wide=1 提供的 2464×1080 或 2560×1080 桌面仍以 2048×1080 信号输出,最终拉伸由显示器完成。项目还建议在试验模式下保留 SSH 或其他恢复路径,因为绕过 EDID 可能带来无信号或显示不稳。10“能跑”与“能交给上游”是两笔不同的账
评论者
ramon156 认可作者公开说明 AI 辅助开发的方式;作者在评论中说,本地 Qwen 3.6/3.8 27B 负责管理和基础工作,Codex 5.6 Sol Max 负责抓 bug 和最后优化。另一些评论者关心的是作者能否解释和维护代码:项目作者承认自己对内核代码库的理解不足,尚未尝试提交上游;讨论里还出现了“非标准高刷和超宽模式可能被上游评审要求删除”的判断。5硬件兼容性也没有统一答案。有人建议直接购买旧 Nvidia 显卡,有人指出旧 Nvidia 驱动同样会带来兼容问题;有人认为 16 MiB 显存与 1080p 双缓冲刚好匹配,另一些人则质疑 HDMI-only 服务器卡的产品定位。这样的讨论说明,驱动的价值取决于一张明确的硬件矩阵,而不是芯片名称本身。5
这枚驱动把 AI 辅助开发的交付边界展示得很清楚:代码、构建日志、硬件矩阵、内核版本、恢复命令和上游审查记录都需要有人接手。生成速度可以压低第一笔成本,解释、测试和长期维护仍然需要具体的人与工件。
五条材料放在一起:省下的入口成本,最后落在哪一层
| 材料 | 表面上省下的成本 | 被转移的成本 | 需要保存的检查工件 | 失败后的动作 |
|---|---|---|---|---|
git.kernel.org 爬虫问题 | 直接把任意 commit 读成 HTML | 渲染 CPU、缓存容量、身份识别和真人误伤 | 可复用下载接口、缓存键、请求分类、容量曲线 6 | 限制匿名 HTML、保留完整数据下载、逐步调整挑战强度 |
| Omarchy 默认 Docker 组 | 容器开箱即用 | 普通进程的 root 等效权限、迁移和解释成本 | 默认组成员、权限说明、rootless 兼容矩阵、撤销步骤 7 | 更新到 4.0.1,重新检查会话组权限 |
| QubesOS QSB-118 | 特权侧即时显示错误 | 输入清洗、特权 UI 和命令执行的审查成本 | 不可信输入类型、直接执行接口、dom0 更新包 8 | 更新 dom0 包,复查所有跨边界错误处理 |
| 连续扩散语言模型 | 并行或少步采样的潜在收益 | embedding、解码、训练和评测成本 | 采样步数、质量-多样性曲线、独立评测和解码耗时 9 | 重新跑完整 harness,区分架构收益与预算变化 |
| SM750 开源驱动 | 针对旧硬件的可用显示输出 | 硬件组合、内核 API、测试和恢复责任 | PCI ID、发送器、内核版本、模式限制、SSH 恢复路径 10 | 回到旧内核或恢复模式,保留可复现日志和补丁 |
这五条材料没有组成一个“所有 AI 项目都怎样”的大结论。它们共享的是同一条可检查的因果链:一个团队或产品先把入口做得更省事,随后必须决定谁来承担隐藏在入口后面的计算、权限、评测、兼容和恢复工作。
读者下次看到“开箱即用”“更高效”“隔离”“开源驱动”或“少步采样”时,可以先追问五个字段:
- 入口替谁省了哪一步? 是用户下载、开发者配置、模型采样,还是硬件适配?
- 这一步的成本转给了谁? 是服务器 CPU、普通进程、特权侧代码、评测团队,还是最终用户?
- 失败时留下什么工件? 请求日志、权限清单、更新包、独立评测、硬件矩阵和恢复命令是否仍然可读?
- 默认值能否撤回? 用户能否看见、关闭或替换这条路径,而不必先经历一次事故?
- 替代方案是否真的可用? 替代运行时、下载接口、模型架构或驱动是否覆盖了原来的工作负载,并提供了自己的测试和迁移条件?
“方便”本身没有统一价格。价格只有在默认值、计算账单、权限边界、评测条件和恢复动作都被写出来以后,才真正可见。
References
- 1Hacker News discussion: Creepy Crawlies
news.ycombinator.com
- 2Hacker News discussion: Omarchy: Any User Process Can Escalate to Root
news.ycombinator.com
- 3Hacker News discussion: QubesOS arbitrary code execution
news.ycombinator.com
- 4Hacker News discussion: Continuous Diffusion Language Models
news.ycombinator.com
- 5Hacker News discussion: SM750 HDMI Driver
news.ycombinator.com
- 6Creepy crawlies
people.kernel.org
- 7
- 8
- 9Continuous diffusion language models
sander.ai
- 10KodeMunkie/sm750hdmifb
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.