tl;dv 会议平台漏洞:18万场会议数据完全开放,实时通话可随意加入
我于2026年1月28日报告了这个问题。现在是2026年7月,六个月过去了。Firestore 数据库仍然完全开放。CTO 从未回复。我猜我的邮件太长了,他们没看。
什么是 tl;dv?
tl;dv(太长不看)是一个 AI 会议录制平台。它会在你的 Google Meet、Zoom 或 Teams 通话中投放一个机器人,录制所有内容,进行转录,并用 AI 生成摘要。拥有超过 200 万用户,有投资者支持,并得到 LinkedIn 上半数销售意见领袖的认可。
他们存储你的销售电话、求职面试、绩效评估、内部策略会议。这类内容通常是有人说“本次通话正在录音”,然后大家紧张地笑一笑,接着分享 45 分钟的商业机密。
漏洞
当你注册 tl;dv 时,平台会用 JWT 验证你的身份,并通过 gw.tldv.io/v1/users/firebase/token 将其交换为 Firebase 令牌。该令牌允许你查询他们的 Firestore 数据库,地址为 projects/lmi-store/databases/(default)。
meetings 集合没有租户隔离。任何经过身份验证的 tl;dv 用户都可以查询平台上所有账户的每一次会议。每条会议记录都会提供创建者的电子邮件地址、会议 ID(这是一个可加入的 Google Meet 或 Teams 房间)、提供商、录制状态和时间戳。
对于状态为 recording 的会议,该会议 ID 是一个正在进行的实时通话。你可以实时监控这个集合,看到会议开始录制,抓取 ID,然后不请自来地进入别人的通话。在任何给定时间,该集合中大约有 1,000 个状态为 status: recording 的会议。一千个实时通话,暴露了会议 ID。攻击者可以用一个机器人同时加入所有这些通话。

我加入了 2 个会议
我这么做了。
从 Firestore 抓取了一个会议 ID,加入了属于马来西亚教育部的一个实时 Google Meet。一位女士正在向超过 157 名参与者做演示。tl;dv 机器人已经在参与者列表中。我也在同一个通话中。没有人邀请我。是 Firestore 数据库邀请了我。

我还加入了一场通话,通话中,来自美国一所知名大学的学生们正在开发一款创业应用。通话里有21个人。他们正在屏幕共享整个项目,讨论原型,而且,我没开玩笑,他们还在讨论如何为.edu邮箱地址添加客户端验证。他们还在屏幕上实时搭建Supabase,我当时满脑子想的都是“请设置好RLS策略”,因为大多数人都不设置,然后就会落得像tl;dv一样的下场。
我特别想说点什么。“嘿,你可能也需要服务端验证。”但这只是一个概念验证,不是咨询。

规模有多大
我查询了Firestore的meetings集合,发现有181,874条会议记录,属于84,312个独立用户,来自35,003个邮箱域名。
来自23个国家的政府会议:巴西、哥伦比亚、秘鲁、乌克兰、萨尔瓦多、菲律宾、智利、印度尼西亚、墨西哥、美国、卡塔尔、马来西亚、乌兹别克斯坦、斯里兰卡、海地、南非、牙买加、洪都拉斯、阿根廷、泰国、日本、以色列和伯利兹。全部是.gov域名。政府雇员在一个平台上录制通话,而该平台允许任何免费用户枚举所有内容。
来自伯克利、东京大学、德拉萨大学、哥伦比亚国立大学的大学会议。数十个.edu和.ac域名。
来自其余35,000个域名的企业会议。三井仓库(四个地区办事处共484次会议)、三井不动产、HubSpot、Confluent、Mekari、AnyMind Group。所有曾经使用过tl;dv的公司,其会议元数据都保存在同一个未受保护的集合中。
最繁忙的月份是2025年7月,有43,209次会议。最繁忙的时间段:UTC时间周三下午2点,有7,804次会议。正是周中站会时间。
但等等,还有更多
我还想知道有多少实际内容是可以访问的。默认情况下,会议是私密的(意味着你无法观看视频或查看转录),所以我抓取了27,334个会议ID,检查哪些是公开的。结果有超过1,000个是公开的。暴露了715个受邀者邮箱,涉及228个域名。
亮点:一场巴西政府环保会议(大西洋森林保护契约),参与者包括世界自然基金会、大自然保护协会、保护国际基金会、世界资源研究所和圣保罗州政府。乌克兰数字化转型部的会议。HubSpot 的销售电话。哥伦比亚国立大学和智利绿色议会的会议。
意面基础设施
tl;dv 用意大利面名称给微服务命名。子域名扫描发现了 cappellini、carbonara、fusilli、pasta、penne、puttanesca-v0 和 ravioli,全部位于 tldv.io 下。这简直就是一整套 Express 服务器的意式餐厅。
太长不看;得分太低
在探索子域名时,我发现了 https://worldcup.tldv.io。这是一个为 tl;dv 员工打造的 2026 年 FIFA 世界杯预测游戏,基于 Base44 用 vibe coding 方式开发,名为 "World Cup Pick'em",内部团队名称是 "Too Long; Didn't Score"。挺有意思。
Player 实体 API 完全没有认证。只需 GET /api/entities/Player 就能返回所有玩家记录,无需会话 cookie。43 名玩家,其中 19 名 @tldv.io 员工的姓名和公司邮箱全部暴露。
我的披露联系人 Raphael Allstadt 曾含糊其辞地安抚我,随后便没了音讯,他以 298 分排名第二。他的个人 Gmail 也在 API 响应中。全球排行榜上第 5 名是 "Super Duper CEO",猜猜是谁。
Prediction 和 Fixture 实体同样完全开放。一家记录数百万人会议的公司,用 vibe coding 搞了个内部娱乐应用,结果泄露了自家员工目录。这讽刺意味简直恰到好处。

披露过程
1 月 28 日,我在 LinkedIn 上联系了 Raphael Allstadt,告诉他我发现了一个泄露用户数据的重大漏洞。他几分钟内就回复了:"谢谢!你能向我们的 CTO 报告吗?我们会立即查看。" 我发了邮件。他说:"谢谢!" 我问是否有奖励。他说:"我的 CTO 会联系你。"
CTO 再也没有联系过我。
1月29日:“顺便说一句,你们的CTO还没联系我,问题也没修。”1月30日,Raphael回复:“我确信团队很快就会审查这个问题 ❤️”2月14日:“没收到邮件,漏洞依然有效。”Raphael说:“他会回复的 ☺️”我告诉他或许应该修复漏洞,而不是让客户暴露在风险中。2月19日:“我们正在处理。这需要一些时间,但请放心,我们正在跟进。如需进一步沟通,建议联系我们的CTO。”
那位从未回复的CTO。就是那位CTO。
3月6日:“仍然没修。”Raphael在下午5:42已读,没有回复。
7月22日:“还是没修……”没有回复。
他们的安全页面简直是个奖杯陈列柜。SOC2合规。GDPR合规。欧盟AI法案合规。托管在欧盟。AES-256加密。一段创始人的承诺视频。六个合规徽章整齐排列。页面底部埋着一行小字:“如果您发现了需要解决的隐私或安全问题,请随时通过[email protected]告知我们。我们的安全团队将在24小时内回复。”我直接给CTO发了邮件。六个月,没有回复。他们的Firestore数据库比收件箱的可用性还高。
| 日期 | 事件 |
|---|---|
| 2026年1月下旬 | 发现Firestore租户隔离漏洞 |
| 2026年1月28日 | 通过LinkedIn联系Raphael Allstadt,并给CTO和Raphael发邮件 |
| 2026年1月29日 | Raphael给出模糊的保证 |
| 2026年2月-3月 | 多次跟进。CTO从未回复。 |
| 2026年7月 | 仍未修复。仍无回复。祝好胃口。 |
致tl;dv
你们的平台记录着人们最敏感的对话:求职面试、销售谈判、政府简报。用户信任你们,把明确同意录制的内容交给了你们。
请修复Firestore租户隔离问题。Firestore安全规则就是为此而设的。你们对其他所有集合(用户、聊天记录、文字稿、剪辑、录音、视频、笔记、团队、组织,全都返回403)都正确实施了隔离,唯独忘了会议。
要么给世界杯应用加上认证,要么就把它下线。你们的员工目录只需一个GET请求就能获取。
回复安全研究人员。特别是当他们告诉你,你平台上的每一场会议,任何拥有免费账户的人都能查询时。
再见,感谢所有的意面 :3