安全研究人员发现主流笔记应用TLDV存在漏洞,逾18万条AI会议录音因配置不当可被公开访问,涉及大量敏感商业信息。
我在 2026 年 1 月 28 日报告了这个问题。现在是 2026 年 7 月。整整六个月过去了。Firestore 数据库仍然敞开着。CTO 从未回复。我想我的邮件太长了,他们根本没看。
tl;dv(Too Long; Didn't View)是一个 AI 会议录制平台。它会派一个机器人进入你的 Google Meet、Zoom 或 Teams 会议,记录所有内容、转录文字,并用 AI 生成摘要。超过 200 万用户。背后有投资方支持。LinkedIn 销售网红圈子里有一半的人都在推荐。
他们存储的是你的销售电话、工作面试、绩效评估、内部战略会议。也就是那种人们会说"本次通话正在录音"然后所有人紧张地笑笑、接着把商业机密聊上 45 分钟的内容。
当你注册 tl;dv 时,平台用 JWT 对你进行身份验证,然后通过 gw.tldv.io/v1/users/firebase/token 交换一个 Firebase token。这个 token 允许你查询他们的 Firestore 数据库 projects/lmi-store/databases/(default)。
meetings 集合没有租户隔离。任何经过身份验证的 tl;dv 用户都可以查询平台上所有账户的所有会议。每条会议记录都包含创建者的邮箱地址、会议 ID(即一个可加入的 Google Meet 或 Teams 会议室)、提供商、录制状态和时间戳。
对于处于录制状态的会议,那个会议 ID 是一个正在进行的直播会议。你可以在集合中实时观察,看到一个会议开始录制,获取 ID,然后不请自来地进入某个人的通话。任意时刻大约有 1000 条状态为 status: recording 的会议记录在集合中。1000 场暴露了会议 ID 的直播通话。一个带着机器人的攻击者可以同时加入所有这些会议。

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

我还加入了一个通话,里面是一所美国主要大学的学生在开发一个创业应用。通话里有 21 个人。他们在屏幕共享整个项目,讨论原型,而且——我说的是真的——他们在讨论为什么需要为 .edu 邮箱添加客户端验证。他们还在屏幕上设置 Supabase live,而我满脑子想的都是"请把 RLS 策略设置好",因为大多数人都不会,然后就会变成 tl;dv 这样。
我特别想说点什么。"嘿,你们可能也需要服务端验证。"但这是一个概念验证,不是咨询。

我查询了 Firestore 的 meetings 集合,发现有 181,874 条会议记录,属于 84,312 个独立用户,跨越 35,003 个邮箱域名。
来自 23 个国家的政府会议:巴西、哥伦比亚、秘鲁、乌克兰、萨尔瓦多、菲律宾、智利、印度尼西亚、墨西哥、美国、卡塔尔、马来西亚、乌兹别克斯坦、斯里兰卡、海地、南非、牙买加、洪都拉斯、阿根廷、泰国、日本、以色列和伯利兹。都是 .gov 域名。政府员工在一个任何免费用户都能枚举全部内容的平台上录制会议。
大学会议来自加州大学伯克利分校、东京大学、De La Salle、哥伦比亚国立大学。数十个 .edu 和 .ac 域名。
企业会议来自其余 35,000 个域名的所有公司。三井仓库(484 场会议,跨越四个地区办公室)、三井不动产、HubSpot、Confluent、Mekari、AnyMind Group。每个用过 tl;dv 的公司,他们的会议元数据都在同一个未受保护的集合里。
峰值月份是 2025 年 7 月,共 43,209 场会议。最忙的时段是 UTC 时间周三下午 2 点,共 7,804 场会议。高峰期的站立会议时段。
然而不止于此
我还想知道默认情况下有多少实际内容也是可访问的——默认情况下会议是私有的(意思是你看不了视频也看不了转录文本),所以我爬取了 27,334 个会议 ID 并检查了哪些是公开的。超过 1000 个是公开的。715 个受邀者邮箱暴露在 228 个域名中。
亮点:一个巴西政府自然保护会议(PACTO Mata Atlântica),参与者来自 WWF、大自然保护协会、保护国际、WRI 和圣保罗州政府。乌克兰数字化转型部的会议。一通 HubSpot 销售电话。涉及哥伦比亚国立大学和智利绿色商会的会议。
意大利面基础设施
tl;dv 用意大利面名字命名他们的微服务。子域名扫描发现了 cappellini、carbonara、fusilli、pasta、penne、puttanesca-v0 和 ravioli,都在 tldv.io 下。一整个意大利餐厅的 Express 服务器。
太长; 没进球
在探索他们的子域名时,我发现了 https://worldcup.tldv.io。一个基于 Base44 开发的 FIFA 2026 世界杯氛围代码预测游戏,为 tl;dv 员工做的。游戏叫"世界杯竞猜",他们的内部战队名叫"太长; 没进球"。挺可爱的。
Player 实体 API 零认证。GET /api/entities/Player 返回每条玩家记录,不需要会话 cookie。43 名玩家。19 名 @tldv.io 员工,有全名和公司邮箱。
Raphael Allstadt,我的漏洞披露联系人,给了一些模糊的保证后就沉默了,在排行榜上以 298 分位居第二。他的个人 Gmail 也在 API 响应中。全球排行榜第 5 名是"超级 CEO"。我让你猜猜是谁。
Prediction 和 Fixture 实体也是敞开的。一家记录数百万人会议的公司,氛围代码做了一个内部娱乐应用,结果泄露了自己的员工目录。讽刺至极。

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 数据库比他们的收件箱运行得还好。
你的平台记录人们最敏感的对话。求职面试。销售谈判。政府简报。你的用户把明确同意录制的 contenido 托付给了你。
把 Firestore 租户隔离修好。Firestore 安全规则就是为此而生的。其他集合你做得都对(users、chats、transcripts、clips、recordings、videos、notes、teams、organizations 都返回 403)。你只是忘了 meetings。
给你的世界杯应用加上认证,或者直接关掉。你的员工目录只是一个 GET 请求的距离。
回复安全研究人员。尤其是当他们在告诉你,你平台上的每场会议都可以被任何有免费账户的人查询到。
后会有期,感谢那些意大利面 :3