AI News HubLIVE
站內改寫3 分鐘閱讀

Perplexity開源Bumblebee:面向開發者終端的只讀供應鏈掃描器

Perplexity開源了其內部使用的安全工具Bumblebee,這是一個用於macOS和Linux開發者終端的只讀供應鏈掃描器,能夠檢查npm、PyPI、Go模塊、MCP配置、編輯器擴展和瀏覽器擴展,而無需運行任何代碼或調用包管理器。

來源MarkTechPost作者: Asif Razzaq

Perplexity 公司近日在 GitHub 上開源了其內部使用的安全工具 Bumblebee。該工具專為 macOS 和 Linux 系統上的開發者終端設計,是一個只讀的供應鏈資產清單收集器。Bumblebee 完全使用 Go 語言編寫,不依賴任何非標準庫,目前已被 Perplexity 內部用於保護其搜索產品 Comet、Comet 瀏覽器以及 Computer 代理的開發環境。

隨着攻擊者越來越多地將目標對準開發者機器上的軟件包、編輯器擴展和 AI 工具配置,而非僅限於生產系統,安全團隊需要一種能夠快速檢查開發人員本地環境安全風險的工具。Bumblebee 正是為了解決這一痛點而誕生。當一個新的漏洞被公開時,安全團隊面臨的首要問題是:哪些開發者機器當前存在暴露風險?現有的 SBOM(軟件物料清單)和漏洞掃描器覆蓋的是構建產物和代碼倉庫,而端點檢測與響應(EDR)產品追蹤的是進程運行和網絡連接情況。兩者都無法全面檢查開發者本地機器的狀態,例如分散在文件系統中的鎖文件、軟件包元數據、擴展清單以及 AI 工具配置。

Bumblebee 填補了這一空白。每當安全公告中提及某個軟件包、擴展或版本時,Bumblebee 能夠立即回答哪些機器上的磁盤元數據與之匹配。該工具所覆蓋的生態系統是經過精心選擇的,對應了近期活躍的供應鏈攻擊活動,包括影響 npm、PyPI、RubyGems、Go 模塊和 Composer 包的 Mini Shai-Hulud 系列攻擊,受影響的公司包括 TanStack、SAP 和 Zapier 等。

Bumblebee 採用一次性掃描模式,每次調用執行一次掃描後即退出。掃描節奏由操作者控制,可以通過 cron、launchd、systemd 或 MDM 設備管理工具來安排。其輸出為 NDJSON(換行分隔的 JSON)格式,每行一條結構化的記錄,診斷信息則輸出到標準錯誤流。

該工具支持三種掃描配置:基線模式掃描常見的全局和用户包根目錄、語言工具鏈、編輯器擴展、瀏覽器擴展及 MCP 配置;項目模式針對配置的開發目錄(如 ~/code 或 ~/src);深度模式則在事件響應期間掃描操作者指定的根目錄,通常為裸露的家目錄。

在 Perplexity 內部,Bumblebee 被整合到一個五步工作流程中:威脅信號從公開披露或第三方情報源到達;Perplexity Computer 隨後起草目錄更新,將信號以結構化的條目形式錄入,包括生態系統、包名和版本,並打開帶有來源鏈接的 GitHub PR;人類開發者審核併合並 PR;接着 Bumblebee 在端點運行更新後的目錄,將發現結果共享給安全團隊。

Bumblebee 的掃描覆蓋四個主要領域:語言包管理器(npm、pnpm、Yarn、Bun、PyPI、Go 模塊、RubyGems 和 Composer),直接讀取鎖定文件和已安裝包的元數據(如 package-lock.json、pnpm-lock.yaml、go.sum 及 *.dist-info/METADATA),但 v0.1 版本不支持 Bun 的二進制鎖定文件 bun.lockb,僅支持文本格式 bun.lock;AI 代理配置(MCP JSON 主機配置文件,包括 mcp.json、.mcp.json、claude_desktop_config.json 等,但非 JSON 格式如 Codex 的 config.toml 和 Continue 的 YAML 暫不支持);編輯器擴展(VS Code、Cursor、Windsurf 和 VSCodium 的清單);瀏覽器擴展(Chromium 系瀏覽器如 Chrome、Comet、Edge、Brave、Arc 及 Firefox)。

Bumblebee 的只讀特性至關重要。npm 包可能攜帶自動執行的後安裝腳本,如果掃描器調用 npm 來檢查暴露情況,那麼它已經觸發了本應查找的攻擊。Bumblebee 通過從不運行安裝腳本或生命週期鈎子、從不調用 npm、pnpm、bun 或 pip、從不讀取應用程序源文件、也不進行進程或網絡監控,完全避免了這一問題。它並非 EDR 產品。

每條包記錄包含主機名、操作系統、架構、生態系統、包名、版本、源文件及置信度字段。置信度為高表示精確的身份和版本來自規範元數據,中表示身份可靠但版本或源不完整,低表示僅找到配置路徑或規格引用。安全團隊可以提供自己的暴露目錄,即指定生態系統、包名和受影響版本的簡單 JSON 文件。當 Bumblebee 發現匹配時,會輸出包含嚴重性、目錄 ID 和證據的發現記錄,每條發現都可追溯到觸發它的目錄條目。此外,倉庫中還包含一個 threat_intel/ 目錄,提供了基於公開供應鏈攻擊報告構建的、持續維護的暴露目錄。

要開始使用 Bumblebee,需要 Go 1.25 或更高版本,安裝命令為:go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest。安裝後,運行 bumblebee selftest 可驗證二進制文件功能正常。該工具採用 Apache 2.0 許可證,當前版本為 v0.1.1。