[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"news-aa53bf83-b056-4491-92de-75ae6a871697":3},{"id":4,"title":5,"summary":6,"original_url":7,"source_id":8,"tags":9,"published_at":23,"created_at":24,"modified_at":25,"is_published":26,"publish_type":27,"image_url":13,"view_count":28},"aa53bf83-b056-4491-92de-75ae6a871697","Squidbleed 与 Claude Mythos：当 LLM 在 30 年代码里挖出 Heartbleed 级漏洞","Squid Proxy 是部署最广的开源 Web 代理之一，从 1997 年首次发版至今的 29 年里经过了无数审计、补丁与重写。最近安全公司 Calif.io 与 Anthropic 合作，让 Claude Mythos Preview 在其源码里\"巡游\"，结果挖出了一个被称作 Squidbleed 的 Heartbleed 级漏洞——CVE-2026-47729，CVSS 7.5。\n\n漏洞藏得很深，在 Squid 处理老旧 FTP 协议目录列表的代码里。1997 年一个 commit 为兼容 NetWare FTP 服务器，增加了\"跳过多余空白\"的分支。30 年后的现代实现里，一行 `while(strchr(w\\_space, *copyFrom))` 看起来平凡无奇，但 Mythos 注意到 C11 §7.24.5.2 标准的\"地窖\"：`strchr` 在搜索 `'\\0'` 时会**返回 NUL 终止符本身的指针**而不是 NULL，于是循环没有停下，触发堆越界读，泄漏相邻 4KB 内存中其他用户的 HTTP 请求、Authorization 头与 Cookie。Patch 只是在 `strchr` 之前多了一个 `*copyFrom &&` 判定，一行代码，一处标准库的盲点。\n\n这件事对 AI 行业的启示比漏洞本身更值得讨论。Mythos \"见过\"整本 C 标准，把 `strchr` 的 NUL 行为当成常识；而 30 年里人类审计者几乎没人会想到搜索 `'\\0'` 也会成功。Calif.io 在结尾给出一条朴素建议：让 LLM 帮你删掉没用的旧代码——FTP 模块本身就是近乎死代码，旧死代码就是漏洞温床。建议运维 Squid 的组织立即禁掉 FTP，否则等于把 `MEM\\_4K\\_BUF` freelist 暴露给任何能控制一个 FTP 服务的人。","https:\u002F\u002Fblog.calif.io\u002Fp\u002Fsquidbleed-cve-2026-47729","90e9acc4-1b97-4299-b425-0e948780e169",[10,14,17,20],{"id":11,"name":12,"slug":12,"description":13,"color":13},"1fcfaaf2-67de-43d3-9e35-5784852fec60","ai-safety",null,{"id":15,"name":16,"slug":16,"description":13,"color":13},"23544f6a-eea1-4f05-aa8d-749ca862d5d2","anthropic",{"id":18,"name":19,"slug":19,"description":13,"color":13},"dca4d0ab-7994-43a7-839e-7756fc77344a","claude",{"id":21,"name":22,"slug":22,"description":13,"color":13},"01598627-1ea6-4b27-a5d8-874971571a71","llm","2026-07-08T20:00:00Z","2026-07-08T20:07:25.930261Z","2026-07-08T20:07:25.930277Z",true,"agent",6]