← 返回 Siami 首頁

AI 會議筆記工具 tl;dv 爆 18 萬筆會議資料外洩 六個月未修、Firestore 設定出包

▲ 526 💬 173
AI 會議筆記工具 tl;dv 爆 18 萬筆會議資料外洩 六個月未修、Firestore 設定出包

編按:本文綜合整理自 bobdahacker 原始研究報告、Dark Reading 報導、Netizen 與 HN 討論串,並加入 Siami 編輯部觀點與分析。

事件概述:六個月無人理會的資安炸彈

Google、Zoom、Microsoft Teams 上常見的 AI 會議錄音工具 tl;dv(Too Long; Didn’t View),被獨立研究員 BobDaHacker 揭露其 Firestore 資料庫完全沒有跨租戶隔離,任何登入帳號都能查詢全平台 181,874 場會議資料。這份漏洞報告早在 2026 年 1 月 28 日 就送出,但直到 2026 年 8 月 10 日 原文發布,漏洞仍未修復。

更糟的是,原文直接列出受影響的單位與規模——23 國政府單位、頂尖大學、Salesforce、HubSpot、Confluent、Mitsui Fudosan 等知名企業的會議中繼資料全部暴露。BobDaHacker 甚至在證明漏洞時,親自以「未受邀」身份加入 一場馬來西亞教育部針對 157 名參與者的簡報現場,與已加入的 tl;dv 機器人並列在與會者清單中。


漏洞根因:Firestore 沒設 Tenant Isolation

tl;dv 的後端使用 Google Cloud 的 Firestore 儲存會議資料。當使用者登入後,平台會發一個 Firebase Token 讓前端存取 projects/lmi-store/databases/(default) 這個資料庫。

問題出在 meetings 這個 Collection 完全沒有寫安全規則:

  • 任何登入的 tl;dv 帳號都能讀取所有會議紀錄
  • 每筆紀錄含:建立者 Email、會議 ID(可加入的 Google Meet / Teams 連結)、錄影狀態、時間戳
  • 狀態為 recording 的會議 ≈ 即時直播中的會議列表
  • 任何時候有約 1,000 場會議正在錄影,等於 1,000 個未上鎖的會議室

研究員測試時實測:只要拿到一筆進行中的會議 ID,就能不請自入。他在兩場進行中的會議「試聽」——一場是馬來西亞教育部線上簡報(157 名與會者),另一場是某美國頂尖大學新創團隊在螢幕分享 Supabase 後台的內部會議(21 人)。

BobDaHacker 在內文寫道:「我心裡一直想大喊『請記得設 RLS 政策』,但這是概念驗證,不是免費資安諮詢。」


受害者規模:23 國政府、大學、企業全中

BobDaHacker 統計了 181,874 筆會議紀錄,涵蓋 84,312 名使用者、35,003 個 Email 域名。具體分佈:

政府單位(23 國):巴西、哥倫比亞、祕魯、烏克蘭、薩爾瓦多、菲律賓、智利、印尼、墨西哥、美國、卡達、馬來西亞、烏茲別克、斯里蘭卡、海地、南非、牙買加、宏都拉斯、阿根廷、泰國、日本、以色列、貝里斯。全都被命名包含 .gov 域名。

頂尖學府:柏克萊加州大學(UC Berkeley)、東京大學、De La Salle、Universidad Nacional de Colombia,以及數十個 .edu 與 .ac 域名。

企業客戶:三井倉庫(Mitsui-Soko,484 場會議,橫跨四個區域辦公室)、三井不動產、HubSpot、Confluent、Mekari、AnyMind Group 等。

時間熱點:高峰月份為 2025 年 7 月,當月 43,209 場會議。最忙時段是週三下午 2 點 UTC(7,804 場會議)—— 全世界的「週三下午 stand-up」。

研究人員從 27,334 個會議 ID 中另外爬出 1,000+ 場「預設公開」的會議,洩露 715 個受邀者 Email,涵蓋 WWF、The Nature Conservancy、Conservation International、巴西州政府環保會議 PACTO Mata Atlântica、烏克蘭數位轉型部、HubSpot 業務電話、智利綠色商會等。


為什麼這件事重要

這次揭露的嚴重性不只是「資料被外洩」,而是三個層面的結構性問題:

第一,Firestore 預設安全規則不足。Google Cloud 的 Firestore 強調「deny by default」,但開發者必須明確寫 allow 規則。tl;dv 工程師在 users、chats、transcripts、clips、recordings、videos、notes、teams、organizations 等 Collection 都正確寫了 403 隔離,唯獨忘了 meetings。一個 Collection 的疏忽,導致 18 萬場會議(含未來進行中的即時 ID)暴露。

第二,責任揭露流程徹底失敗。研究員 1 月 28 日聯絡對接窗口 Raphael Allstadt,後者承諾會轉給 CTO 處理。六個月內,CTO 從未回信。BobDaHacker 從 2 月到 7 月共發出至少 6 次後續追蹤,全部「已讀不回」。Raphael 自己反而在內部 World Cup 預測遊戲中拿下第 2 名(298 分)和個人 Gmail 也被洩漏。

第三,AI 工作流放大攻擊面。tl;dv 之類的 AI 會議助理歸檔了大量「使用者明確同意錄製」的敏感內容——求職面試、業務談判、政府簡報、績效考核。一旦資料庫被突破,攻擊者不只是拿到通訊錄,而是整個組織的會議脈絡。HN 上有深偽語音釣魚業者留言指出:「買家最常問『攻擊者要去哪裡拿到員工的錄音』,現在答案是『任何 tl;dv 使用者都能爬』。」

tl;dv 官方頁面仍驕傲展示 SOC2、GDPR、EU AI Act、AES-256 等 6 個合規標章。研究員感嘆:「The Firestore database has better uptime than their inbox.」(Firestore 資料庫比他們的收件匣更穩定。)


數據解讀:用「未修補月數」看企業資安體質

這次事件可以拉出兩個值得追蹤的量化指標:

漏洞存在時間:從 2026 年 1 月 28 日首次揭露到 2026 年 8 月 10 日公開報告,整整 6.5 個月。這段時間內,如果有任何攻擊者獨立發現,未來進行中的會議可能都已被側錄。

責任揭露的反應時間:HN 評論指出一個關鍵事實——「漏洞不是被攻擊者利用,是被研究員 6 個月持續『貼著鼻子』提醒,公司依然沒修」。這顯示 tl;dv 內部沒有強制將「外部研究員通報」歸類為 P0 事件的流程。

Firestore 開發的反模式:Cloud Firestore 用文件結構表達租戶隔離時,最常見錯誤就是忘記寫 rules。任何使用 Firestore 的 SaaS 服務,都應該審視自己的 firestore.rules——尤其是 allow read: if request.auth != null; 這種寫法,沒寫 tenant 範圍就是裸奔。

BobDaHacker 其他揭露脈絡:他在過去一年內也揭露過 Pope’s Official App 70 萬使用者 Email 洩漏、Bandsintown 驗證繞過(拿到 Rick Astley 19 萬粉絲的 Email)、Fifa World Cup 2026 直播 RTMP 認證缺失等。共通點:全部是「忘了加最基本的安全規則」。


Siami 觀點:合規標章 ≠ 資安體質

這次最諷刺的,不是漏洞本身,而是 tl;dv 用來招攬客戶的「合規標章」反而成為最大打臉。

SOC2、GDPR、EU AI Act 是「制度面」的認證,它們幾乎從不驗證程式碼層的具體存取規則。一家可以同時擁有 SOC2 報告以及 Firestore 完全沒設安全規則的 Collection。這不是「標章無用」,而是「標章只能證明你通過了當時的審查,無法證明你未來不會寫錯一行設定」。

對企業 IT 採購而言,這次事件有三個立即的行動建議:

  1. 盤點自己公司使用的第三方 AI 工具,特別是含有「內容錄製 / 螢幕錄製 / 會議筆記」功能的——這些工具拿到的資料比純 API 工具深得多。
  2. 要求廠商提供 Firestore / 資料庫層的存取規則範本,不要只看合規報告。
  3. 建立「撤銷協力廠商存取」流程——如果廠商出事,能不能在 24 小時內切斷整合、刪除資料、改金鑰。

對廣大工程師而言,這次事件最值得記得的教訓是:Firestore / Firebase 的預設值偏開發者友善、偏不安全。任何放上 production 的 Collection 都要明確寫 deny-by-default 規則,並對每個 Collection 跑「跨租戶讀取測試」。

原文結尾:「對 tl;dv:你們平台記錄了人們最敏感的對話——求職面試、業務談判、政府簡報。請修 Firestore。請對資安研究人員回信。」


相關報導

網友熱門留言 (6)

#1 sktb ▲ 523
Six Months !?! If I'd left a vulnerability like that open for 6 hours there'd be hell to pay. Something that critical is call for hitting the big red off button.
#2 Aeroi ▲ 187
Holy crap. How do you respond as CEO to this and not escalate to like priority #1? Then kick the can for 6 months?
#3 palmotea ▲ 142
Don't worry, I'm sure this was all an AI agent's fault, so no one to blame and all they need to do is update their code review prompts to not make mistakes.
#4 SpaceL10n ▲ 98
Hmm, does Ukraine know that Russia is watching the Ministry of Digital Transformation's meetings?
#5 gyanchawdhary ▲ 76
This is bad. I run a company in this space (deepfake voice phishing), and one of the most common pushbacks we hear from buyers is: 'Where are attackers going to get audio clips of our employees?' ... excluding senior leadership, which most companies already expose.
#6 hluska ▲ 54
I understand the need to shame this platform, but why expose all their clients to this much risk? This disclosure just named a whole bunch of clients. Why?