给软件开发者准备的优质简报,每日阅读 10分钟


A new spam policy for “back button hijacking”

896 pointsLinkComment(503)Share

谷歌推出"后退按钮劫持"垃圾邮件专项政策

  • 谷歌将"后退按钮劫持"明确列为"恶意行为"政策的违规项,指网站通过插入或替换欺骗性页面来干扰用户浏览器历史记录,导致用户无法正常使用后退按钮返回上一页
  • 违规行为包括:用户点击后退按钮后被强制跳转至未访问的页面、被展示未经请求的推荐内容或广告、或被完全阻止正常浏览网页
  • 谷歌表示此类行为破坏了用户对浏览器功能的合理预期,导致用户沮丧和被操控感,鉴于此类行为有所增加,故将其明确纳入监管
  • 政策于2026年4月13日发布,2026年6月15日正式生效,为网站所有者预留两个月调整期
  • 谷歌提醒后退按钮劫持可能源自第三方库或广告平台,建议网站所有者全面审查技术实现,移除或禁用相关代码
  • 违规页面可能面临人工垃圾邮件处理或搜索排名自动降权,修复后可通Search Console提交重新审核申请

The dangers of California's legislation to censor 3D printing

485 pointsLinkComment(428)Share

加州A.B. 2047法案对3D打印的审查威胁

  • A.B. 2047法案强制要求所有3D打印机安装打印阻止软件,并将用户禁用或绕过该系统定为轻罪,比华盛顿州和纽约州的类似立法更为严厉
  • 该法案实质上将开源固件的使用定性为犯罪,剥夺用户对自身设备的基本控制权
  • 制造商可借此效仿惠普对2D打印机的做法,将用户锁定在其生态系统中,强制购买其工具、配件和耗材,并可能通过停止更新使设备不合规来强制淘汰旧机型
  • 该法案偏向大型制造商,显著提高行业进入门槛,同时使二手市场面临轻罪风险,大幅减少消费者选择
  • 法案要求加州司法部建立技术标准、认证算法并维护被禁蓝图数据库,形成持续的官僚负担
  • 打印阻止技术无法有效实现其预期目的(已违法的"幽灵枪"本就罕见),且其基础设施可轻易扩展至版权或政治言论审查,并通过云端扫描带来隐私监控风险

Google Broke Its Promise to Me. Now ICE Has My Data

569 pointsLinkComment(226)Share

谷歌背弃近十年隐私承诺:ICE通过行政传票获取用户数据

  • Amandla Thomas-Johnson是一名持学生签证在美攻读博士的英国和特立尼达双重公民,曾任记者,因在康奈尔大学短暂参加(五分钟)亲巴勒斯坦抗议活动而遭特朗普政府针对,被迫躲藏三个月,联邦探员曾上门追查,一友人在坦帕机场被扣押审讯
  • 2025年4月ICE向谷歌发出行政传票,同年5月谷歌直接将Thomas-Johnson的账户数据移交给国土安全部,未按其近十年承诺在响应法律程序前通知用户,导致用户丧失质疑传票的机会
  • 电子前沿基金会(EFF)向加州和纽约州总检察长提交投诉,指控谷歌涉嫌欺诈性商业行为,要求调查其背弃通知用户承诺的行为
  • 传票表面仅要求IP地址、物理地址、标识符及会话时间等订阅者信息,但整合后这些碎片数据可构建详细监控档案:IP日志推断位置、物理地址显示住处、会话时间暴露社交模式
  • Thomas-Johnson虽已离开美国跨境前往加拿大并辗转到瑞士日内瓦,但仍担忧自己是否已被标记、是否会影响记者工作及未来赴加勒比海地区探亲的出行安全,对问责对象感到困惑

Tell HN: Fiverr left customer files public and searchable

790 pointsLinkComment(222)Share

Fiverr因Cloudinary配置错误导致客户敏感文件被Google索引

  • Fiverr使用Cloudinary处理消息中的PDF和图片,本可使用签名URL或过期URL等安全机制,但选择了公开URL配置,导致数百份含个人身份信息的文件被Google收录,包括美国税表1040、出生证明、身份证件、护照、管理员密码、API密钥及渗透测试报告等
  • 安全研究员已于40天前通过security@fiverr.com报告此漏洞,但Fiverr安全团队未作任何回应;公开披露后Fiverr发表声明否认是网络安全事件,声称用户是"为展示工作样本"主动分享内容
  • 漏洞公开数小时后Cloudinary链接仍正常可访问,直至后来才被屏蔽返回404;技术分析指出修复仅需两行代码(将上传类型设为authenticated并启用sign_url),但由于多年积累的公开URL已成架构基础,全面修复将导致所有历史链接失效
  • 事件引发业界广泛讨论,涉及软件工程师资质认证要求、公司经济处罚有效性以及ISO 27001等安全认证的实际价值;多篇报道指出Fiverr自身ISO 27001证书也被索引,讽刺意味十足
  • 后续有用户发现Fiverr论坛的警告帖子被删除,且有用户验证未登录状态下仍可访问文件链接,Fiverr的回应被指缺乏可信度

Do you even need a database?

136 pointsLinkComment(205)Share

你真的需要数据库吗?

  • 数据库本质上就是文件系统操作:SQLite是磁盘上的单个文件,PostgreSQL是目录中的一组文件加前端进程,真正的问题不是"要不要用文件",而是"用数据库的文件还是自己的文件"
  • 三种实用文件存储方案各有优势:线性扫描最简单(Go仅需约20行代码)但O(n)复杂度在大数据集时急剧下降;内存哈希表以O(1)达到约10万次/秒的吞吐量和亚毫秒延迟,是性能天花板;磁盘上的二进制搜索配合固定宽度索引(约58字节/条记录)以O(log n)保持约4万次/秒且数据量增长100倍时仅下降15%
  • 基准测试结果揭示几个反直觉事实:Rust内存哈希表最快(16.9万次/秒)、Go二进制搜索意外超越SQLite约1.7倍、Bun凭借uWebSockets在HTTP服务性能上超过Go、线性扫描在100万条记录时实际不可用(Go仅23次/秒、Bun单次延迟超1秒)
  • 大多数应用的规模被严重高估:在典型使用假设下(10次查询/小时/用户、峰值/均值比2:1),SQLite单服务器可支撑9000万日活用户、Bun内存哈希表可支撑3.8亿日活用户,大多数产品永远不会触及这些上限
  • 真正需要数据库的场景是:当数据集无法全部加载到内存、需要按多个字段查询、需要多表关联(JOIN)、需要多进程并发写入、或需要跨实体的原子事务(ACID)时,早期应用使用JSONL文件后期可零成本迁移到任何数据库

Lean proved this program correct; then I found a bug

391 pointsLinkComment(174)Share

Lean形式化验证程序漏洞发现:1.05亿次模糊测试的启示

  • lean-zip由10个AI代理自主构建并证明,是端到端验证的zlib实现,其核心定理保证了任何小于1GB的字节数组经压缩后均可精确还原
  • 实验剥离lean-zip所有定理、文档和C FFI绑定,仅保留纯验证的原生Lean代码,通过16个并行模糊器执行了1.05亿次模糊测试,覆盖ZIP、gzip、DEFLATE、tar等6个攻击面
  • 应用代码实现零堆缓冲区溢出、零use-after-free、零栈溢出、零未定义行为(UBSan clean)的完美安全记录,Claude评价其为"我分析过的内存安全代码库之一"
  • Bug 1(堆缓冲区溢出)位于Lean 4运行时lean_alloc_sarray,当capacity接近SIZE_MAX时整数溢出导致分配仅23字节的小缓冲区,而h.read尝试读取SIZE_MAX字节,156字节ZIP文件即可触发,影响所有Lean 4版本
  • Bug 2(拒绝服务)位于lean-zip归档解析器readExact,其将ZIP头部未验证的compressedSize直接传入h.read,伪造超大尺寸字段可导致内存耗尽而崩溃——该模块从未被验证
  • 验证的边界:形式化验证的强度取决于所提问题的范围和对底层基础的信任程度,两个漏洞均位于验证边界之外(未验证的归档解析器和可信计算基础C++运行时)

Want to Write a Compiler? Just Read These Two Papers (2008)

399 pointsLinkComment(123)Share

想写编译器?只需读这两篇论文

  • 现有编译器教材普遍涵盖范围过广、信息量过大,使读者难以找到实践切入点,这种复杂性催生了“编译器很难写”的误解
  • Jack Crenshaw 于 1988 年推出的系列教程《Let's Build a Compiler!》是最佳入门资源,采用 Turbo Pascal 风格的单遍编译设计,将解析与代码生成交织在一起,内容适合初学者;该教程有 Pascal、C 和 Forth 版本
  • Crenshaw 教程的主要局限是完全省略了程序的内部表示(抽象语法树),在 Python、Ruby、Erlang、Haskell、Lisp 等高级语言中创建和操作树形数据结构则非常容易,这也是 Lisp、Erlang、Haskell 等语言的设计初衷
  • Sarkar、Waddell 和 Dybvig 合著的论文《A Nanopass Framework for Compiler Education》提出核心观点:编译器本质上是程序内部表示的一系列转换
  • 该框架倡导将编译器分解为数十甚至数百个阶段,每个阶段尽可能简单独立,不合并转换操作,并提供定义各阶段输入输出的规范方案,代码采用动态类型的 Scheme 编写
  • 在完成一两 个编译器的实践后,《龙书》等传统经典著作可能变得不再必要

AI-Assisted Cognition Endangers Human Development

174 pointsLinkComment(108)Share

AI辅助认知正在危及人类发展

  • AI基础模型存在"归纳偏置",即便经过后训练仍保留预训练阶段的认知偏向,导致整个人类群体层面的认知范围收窄,类似于全人类都在向同一小群人请教问题,思想和解决方案的多样性面临丧失风险
  • AI模型无法及时反映新的地缘政治现实——以2026年初美国入侵格陵兰为例,主流基础模型(包括GPT-5.3-codex、Gemini 3 Pro、GLM-5等)仍将此事件标记为"假设""虚假新闻"或"不可能",导致依赖AI进行头脑风暴的用户被拖向过时的认知模式
  • 作者提出"动态辩证基底"概念,将其定义为所有本地和全球辩证过程与结论的总和,认为人类通过现有概念的定性融合创造新概念,是人类知识和想法演化的基础框架
  • 这种AI偏向可能已导致人类错失伟大的科学发现或文化转变,但由于无法进行对照实验,AI偏向影响的具体范围和深度仍属未知,短期内难以量化评估
  • 应对策略包括:与其他人类讨论交流(最有效方式)、使用搜索引擎查找信息源而非直接获取AI答案、尝试使用不同基础模型的AI、以及探索不同AI人格设定来拓宽概念范围

Cal.com is going closed source

88 pointsLinkComment(98)Share

Cal.com 转向闭源:AI安全威胁如何推动这一决定

  • Cal.com 在开源五年后宣布转向闭源,将保护客户数据置于开源理念之上,称这是一个艰难但必要的决定
  • AI正在根本性改变安全格局:过去发现漏洞需要经验丰富的黑客投入大量时间,如今AI可以系统性地扫描开源代码库发现漏洞,开源代码的透明性如同向攻击者提供"保险库的蓝图"
  • 多家AI安全初创公司正在产品化漏洞扫描能力,各平台发现的漏洞各不相同,使建立统一可靠的安全性评估标准变得困难,迫使Cal.com在保持开源与保护客户数据之间做出选择
  • Cal.diy作为开源替代方案发布,采用MIT许可证开放给社区,供开发者、爱好者和任何想要探索实验的人使用,但与生产代码库存在显著差异,包括身份认证和数据处理等核心系统的重大重写
  • AI在数小时内发现了BSD内核中存留27年的漏洞并生成了可工作的利用程序,表明先进AI模型正在以前所未有的速度识别和利用安全漏洞
  • Cal.com 表示仍深度关心开源,希望有一天能回归开源,但目前必须将客户安全放在首位
← 2026-04-14 2026-04-15 → 2026-04-16