Perplexity开源Bumblebee打造只读开发者端供应链扫描器

105 阅读5分钟开源
Perplexity开源Bumblebee打造只读开发者端供应链扫描器

背景

随着供应链攻击从生产环境向开发者工作站渗透,攻击者开始利用 npm、PyPI、编辑器插件以及 AI 工具配置(MCP)植入恶意代码。传统 SBOM 与 EDR 只能覆盖构建产物或进程行为,无法实时洞悉本地开发机器的依赖与配置状态。Perplexity 为自家搜索产品 Comet 与 Computer 研发的内部安全系统正式开源,旨在填补这一盲区。

工具概述

  • 名称:Bumblebee
  • 语言:纯 Go,实现零第三方依赖
  • 授权:Apache License 2.0
  • 发布版本:v0.1.1(2026-05)
  • 适用平台:macOS、Linux

Bumblebee 以 只读 方式运行,避免触发 npm、pip 等包管理器的 post‑install 脚本,从根本上防止扫描本身成为攻击入口。

工作原理

  1. 单次执行:每次调用完成一次完整扫描后即退出,调度由 cron、systemd、MDM 等外部工具负责。
  2. 输出格式:以 NDJSON(每行一条 JSON)写入标准输出,错误信息走 stderr,便于日志聚合与后续处理。
  3. 扫描配置:提供三种预设 profile:
    • baseline:扫描全局/用户包根目录、语言工具链、编辑器与浏览器扩展、MCP 配置。
    • project:聚焦开发者指定的代码目录(如 /code、/src)。
    • deep:在事故响应期间对完整 HOME 目录进行全盘扫描。

扫描范围

  • 语言包管理器:npm、pnpm、Yarn、Bun、PyPI、Go modules、RubyGems、Composer(读取 lockfile 与 *.dist-info/METADATA)。
  • AI Agent 配置:MCP JSON 配置文件(mcp.json、.mcp.json、claude_desktop_config.json、mcp_config.json、mcp_settings.json、~/.gemini/settings.json 等)。
  • 编辑器扩展:VS Code、Cursor、Windsurf、VSCodium 的 manifest 文件。
  • 浏览器扩展:Chrome、Comet、Edge、Brave、Arc 以及 Firefox 的扩展清单。

注意:Bun 的二进制 lockfile(bun.lockb)以及非 JSON 的 MCP 配置(如 Codex 的 config.toml)在 v0.1 中暂不支持解析。

安全与性能优势

  • 零执行风险:从不调用 npm、pip、go 等包管理器,也不运行任何 install 脚本,彻底规避扫描触发的链式攻击。
  • 轻量级:仅依赖 Go 标准库,二进制文件小于 5 MB,部署成本低。
  • 可追溯:每条记录均包含主机、OS、架构、生态、包名、版本、来源文件以及置信度,发现结果可回溯至具体的曝光目录(catalog)条目。

使用指南

# 安装最新二进制
GO111MODULE=on go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest

# 自检
bumblebee selftest

# 基线扫描示例
bumblebee scan --profile baseline > scan.ndjson

安全团队可自行准备 JSON 格式的曝光目录(catalog),示例结构为 { "ecosystem": "npm", "package": "lodash", "vulnerable_versions": ["<4.17.21"] },Bumblebee 在匹配到相应元数据时会输出带有 severity、catalog_id 与证据的发现记录。

行业意义与展望

Bumblebee 的出现标志着 开发者端供应链安全 正在从“事后修复”向“实时可视化”转型。随着 AI Agent(MCP)配置的普及,未来安全产品将需要统一管理语言依赖、编辑器插件、浏览器扩展以及 AI 工具配置的全景视图。Perplexity 通过开源方式提供了一个可扩展的基座,社区可以在此基础上贡献更多生态、完善深度扫描逻辑,甚至将其与 SBOM、VulnDB 等平台对接,形成端到端的供应链防护链路。


如需进一步了解或贡献代码,请访问官方仓库:https://github.com/perplexityai/bumblebee

本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。