Perplexity 開源了 Bumblebee

今天,我們將開源我們用於保護 Perplexity、Comet 和 Computer 背後開發者系統的內部工具之一。

人工智慧的快速發展為安全領域帶來了新的複雜性,漏洞每天都在被發現。

近期的威脅日益針對現代工程團隊(如 Perplexity)所依賴的軟體套件、開發者工具和本地環境。因此,我們產品的完整性必須在生產之前,從供應鏈的更前端開始確保。

今天,我們將開源我們用於保護 Perplexity、Comet 和 Computer 背後開發者系統的內部工具之一。

隆重介紹 Bumblebee

Bumblebee 是一款唯讀掃描器,我們在供應鏈事件期間使用它來檢查開發者機器是否存在風險套件、擴充功能和人工智慧工具配置。

Bumblebee 對所有安全團隊都很有用。每當報告新的漏洞時,他們都需要立即知道是否有任何機器受到影響。

為了讓 Perplexity 產品對用戶更安全,我們首先要保護我們構建這些產品所用的開發者系統。Bumblebee 是我們更廣泛安全工作流程中的一個組成部分,在此流程中,Perplexity Computer 協助追蹤新興威脅,人員審查目錄更新,而 Bumblebee 則檢查受影響的元件是否出現在開發者終端上。

今天,我們將開源 Bumblebee,讓任何團隊都能基於相同的安全層進行構建。

從威脅訊號到終端掃描

工程組織現在可以使用自己的目錄和審查流程來運行 Bumblebee。以下是我們在內部使用 Bumblebee 的方式:

威脅訊號是透過公開披露、第三方情報摘要或內部研究來識別的。

Perplexity Computer 起草一份目錄更新。它將該訊號輸入結構化條目(生態系統、名稱、版本),然後開啟一個包含原始碼連結的 GitHub PR。

它進入人工審查階段,隨後該 PR 被合併。

Bumblebee 在具有更新目錄的終端上運行。

發現的問題將與安全團隊共用。

Bumblebee 支援三種掃描設定檔,它們指示其搜尋的位置和廣度:

基準設定檔:針對標準筆記型電腦位置的例行掃描。Teams 透過他們自己的 MDM 或管理工具進行排程。

專案設定檔:針對特定儲存庫或工作空間的定向掃描。

深度設定檔:針對主動事件的響應式掃描。

每一次檢測皆可追溯,顯示是哪個目錄條目觸發了歸檔、添加時間以及任何證據。

安全始於本地開發者表面

SBOM 和漏洞掃描器負責處理儲存庫和建置成品。終端庫存產品涵蓋已安裝的應用程式。Bumblebee 在開發者筆記型電腦上運行。當供應鏈建議發佈時,它會告訴您該機器是否安裝了特定的套件、版本、擴充功能或 MCP 配置。

Bumblebee 的審查內容

現有的開源工具往往只能覆蓋這些表面中的一個或兩個。Bumblebee 覆蓋全部四個:

語言套件管理器:npm、pnpm、Yarn、Bun、PyPI、Go 模組、RubyGems、Composer

AI 代理配置:MCP

編輯器擴充功能:VS Code 系列(VS Code、Cursor、Windsurf、VSCodium)

瀏覽器擴充功能:Chromium 系列(Chrome、Comet、Edge、Brave、Arc)和 Firefox

安全地評估暴露風險

Bumblebee 是唯讀的。它直接讀取元資料檔案,且絕不允許潛在受損的工具運行,這防止了掃描過程本身成為風險。將 Bumblebee 設為唯讀有助於避免安裝時程式碼執行所引發的問題。

npm 套件可能攜帶在 npm install 接觸它們的瞬間自動運行的安裝後腳本。這就是大多數近期供應鏈蠕蟲傳播的方式。一個呼叫 npm 來檢查暴露情況的掃描器,其實已經觸發了它正在尋找的攻擊。Bumblebee 透過避免以下情況來防止這種情況:

程式碼執行:絕不運行安裝腳本或生命週期鉤子。

套件管理器呼叫:絕不運行 npm、pnpm、bun 或 pip。

原始碼檔案讀取:絕不讀取應用程式原始碼檔案;它僅讀取元資料,例如鎖定檔案、清單和已安裝套件的元資料。

處理程序或網路監控:Bumblebee 不是 EDR。

Bumblebee 現已作為 macOS 和 Linux 開發者終端的 開源 Go 專案提供。安全團隊可以下載它,針對其自身的錯誤版本目錄運行它,並將結果輸入到他們現有的任何回應工作流程中。