我們在Granola中發現一鍵賬戶接管(及攝像頭訪問)漏洞
Strix團隊在AI筆記應用Granola的Electron桌面應用中發現了一鍵賬戶接管漏洞。攻擊者可透過惡意通知連結,將受信任視窗導航至攻擊者控制的頁面,同時保留特權Electron橋接訪問許可權,從而竊取會話令牌、資料庫內容,並可能訪問攝像頭等本地裝置。Granola迅速修復了該漏洞,包括伺服器端補丁和後續的繞過修復。
2026年7月5日,安全研究團隊Strix披露了AI筆記應用Granola桌面版中的一個嚴重漏洞,該漏洞允許攻擊者透過一次點選即可實現賬戶完全接管,並可能進一步獲取攝像頭等本地裝置訪問許可權。
Granola基於Electron框架構建,其安全模型依賴於上下文隔離和僅暴露有限橋接的預載入指令碼。然而,Strix的研究表明,當受信任的渲染視窗可以導航到攻擊者控制的頁面時,原本附加到視窗的特權橋接不會隨之移除,從而導致攻擊者繼承該橋接的完整能力。
漏洞的入口點在於Granola的活動通知功能。攻擊者可以將其顯示名稱設定為指向惡意網站的Markdown連結,然後透過請求訪問受害者的私人筆記來觸發通知。當受害者在活動提要中點選該顯示名稱時,受信任的Granola視窗會導航到攻擊者的頁面,同時window.electron橋接仍然可用。攻擊者頁面隨後可以呼叫特權IPC通道,例如獲取會話令牌、獲取重新整理令牌、設定令牌以及獲取儲存的賬戶資訊。更嚴重的是,當時SQLCipher資料庫加密金鑰在渲染程序中暴露,攻擊者可以輕鬆繞過資料加密層。
Strix透過其自主駭客代理Strix對Granola應用進行了深度分析,啟動了56個代理進行測試。其中一個代理專注於Electron信任邊界,並迅速發現了頂層導航防護缺失的問題。Granola的主視窗沒有攔截will-navigate和will-redirect事件,這導致受信任視窗可以被導航到任意外部URL。
Granola在收到報告後迅速響應,首先在伺服器端修復了原始的通知連結路由,使得使用者無需更新桌面應用即可得到保護。隨後,Strix發現了一個繞過方法,即使用HTML實體編碼的方案冒號仍然能生成可點選連結,Granola於6月26日部署了繞過修復,並邀請Strix進行重新測試。此外,Granola還將SQLCipher金鑰移出了渲染程序,徹底解決了資料加密被繞過的問題。
此次發現不僅展示了Electron應用中安全邊界的重要性,也為其他Electron開發團隊提供了重要警示:必須對所有預載入視窗的頂層導航進行預設攔截,僅允許跳轉到受信任的源;內部使用者介面中的使用者可控內容應被視為不可信輸入;應避免通用IPC傳遞橋接,而是暴露狹窄且明確的API。對於處理敏感資料的桌面應用來說,一個看似微小的導航漏洞可能演變為嚴重的安全事件。