Ask HN:我们刚刚遇到了一个真实的 UUID v4 冲突……
摘要
一位开发者报告在仅有 15,000 条记录的数据库中发生了真实的 UUID v4 冲突,引发了对 uuid npm 包随机性的质疑。
我知道你在想什么……我自己也无法相信,但……<p>今天早上,我们的数据库标记了一个重复的 UUID(v4)。我检查了一下,以为是双重插入的 bug 之类的,但并不是。<p>原始的 UUID 来自一条在 2025 年(大约一年前)添加的记录,而今天系统插入了一个新文档,生成了一个新的 UUIDv4,结果却与之前完全相同:<p>b6133fd6-70fe-4fe3-bed6-8ca8fc9386cd<p>我们使用的是:
https://www.npmjs.com/package/uuid<p>我以为这在技术上是不可能的,永远不会发生,而且我们并没有以任何方式修改 UUID,我真的想知道这……怎么可能!?我们只是调用了:<p>import { v4 as uuidv4 } from "uuid";<p>const document_id = uuidv4();<p>……然后插入数据库,仅此而已。<p>此外,数据库只有大约 15000 条记录,现在却发生了一次冲突。从统计学上来说……不可能。<p>有人遇到过这种情况吗?!到底……
查看缓存全文
缓存时间: 2026/05/08 18:29
# Ask HN: 我们刚刚遇到了真正的UUID v4冲突……
来源:https://news.ycombinator.com/item?id=48060054
https://news.ycombinator.com/vote?id=48060054&how=up&goto=item%3Fid%3D48060054
Ask HN: 我们刚刚遇到了真正的UUID v4冲突…… (https://news.ycombinator.com/item?id=48060054)
149 points by mittermayr (https://news.ycombinator.com/user?id=mittermayr) 9小时前 (https://news.ycombinator.com/item?id=48060054)
| 隐藏 (https://news.ycombinator.com/hide?id=48060054&goto=item%3Fid%3D48060054) | 历史 (https://hn.algolia.com/?query=Ask%20HN%3A%20We%20just%20had%20an%20actual%20UUID%20v4%20collision...&type=story&dateRange=all&sort=byDate&storyText=false&prefix&page=0) | 收藏 (https://news.ycombinator.com/fave?id=48060054&auth=c06f3092538bd11420a6524bdf6c081cc9c44c6c) | 154条评论 (https://news.ycombinator.com/item?id=48060054)
我知道你在想什么……我仍然不敢相信,但是……
今天早上,我们的数据库标记了一个重复的 UUID (v4)。我检查了一下,原以为是重复插入的bug之类的问题,但并不是。
原始的UUID来自2025年(大约一年前)添加的一条记录,而今天系统插入了一个新文档,生成了一个新的UUIDv4,结果和之前一模一样:
b6133fd6-70fe-4fe3-bed6-8ca8fc9386cd
我们用的是:https://www.npmjs.com/package/uuid
我原以为这在技术上是不可能的,永远不会发生,而且我们也没有以任何方式修改UUID,所以真的搞不懂这……怎么可能?!我们只是调用了:
import { v4 as uuidv4 } from "uuid";
const document_id = uuidv4();
……然后插入数据库,就这么简单。
另外,数据库只有大约15000条记录,现在却出现了一次冲突。从统计学上讲……是不可能的。
有人遇到过这种情况吗?这到底是……
帮助 (https://news.ycombinator.com/formatdoc)
相似文章
你的生日是什么时候?哈希碰撞背后的数学
一篇教育性文章,解释生日悖论的数学原理及其在密码学中哈希碰撞的应用,涵盖匹配生日的概率计算以及理查德·冯·米泽斯贡献的历史背景。
非确定性是CVE修补工作的难题
文章探讨了Claude Mythos、Big Sleep和Microsoft Copilot等AI模型正日益发现CVE漏洞,以及Nix/Flox如何通过依赖集去重,将CVE分类复杂度从O(n)降低到O(u),提供声明式包管理解决方案。
Vercel 遭入侵:OAuth 攻击暴露平台环境变量风险
2024 年 6 月的一次入侵在 2026 年 4 月被披露:攻击者利用被攻破的第三方 OAuth 应用潜入 Vercel 内部并泄露客户环境变量,凸显 OAuth 供应链风险与平台密钥管理缺陷。
人人都该从 npmx 偷学的功能
npmx 是一个 MIT 授权的 npm 仓库替代前端,它在安全与可用性上做了增强:展示传递式安装体积、暴露安装脚本、可视化过期/含漏洞依赖树,还逼得 npmjs.com 终于上线了深色模式。
GNU IFUNC 才是 CVE-2024-3094 真正的罪魁祸首
本文认为,GNU IFUNC 以及将 OpenSSH 链接到 SystemD 的设计决策,才是 CVE-2024-3094 xz-utils 后门漏洞得以实施的主要促成因素,而非恶意代码本身。