先讲个真事。
上个月,一个叫"styles-factory"的npm包被曝出在偷偷收集开发者的SSH密钥。这个包看起来人畜无害,就是个CSS工具库,GitHub上还有几百个star,谁能想到它肚子里藏着一把刀。
等安全团队反应过来的时候,已经有超过3000台开发者的机器中招了。
你可能会问,那安全工具呢?杀毒软件呢?
老实说,它们都没发现。因为这类攻击不走传统的"恶意程序"路线,它就安安静静地躺在你项目的node_modules里,等你的CI/CD流水线把它打包进产品,然后把你的密钥、token、环境变量,一波带走。
这就是2026年的软件供应链攻击。
而今天要聊的这个工具,就是Perplexity AI为了对付这种攻击,专门开源的一个小东西。它叫Bumblebee。
一只"只读"的大黄蜂
Bumblebee,中文意思是大黄蜂。
名字取得挺有意思的。蜜蜂是自然界最勤劳的工兵,每天不知疲倦地在花丛里穿梭,检查每一朵花的状态。Bumblebee这个工具干的活也差不多:它在你的开发机上飞来飞去,检查每一个包、每一个插件、每一个配置文件,看看有没有"毒花"混在里面。
但最妙的设计是:它只看不碰。
Bumblebee是一个纯只读的扫描器。它不执行任何代码,不运行npm install,不调pip list,甚至连你项目里的源码文件都不读。它只看元数据:lock文件、package.json、扩展清单、MCP配置文件。
为什么这个设计这么重要?
因为如果你扫描一个可能有毒的包,而你的扫描工具执行了它,那你就是在帮攻击者投毒。这在安全领域有个专门的词,叫"扫描即攻击"。Bumblebee用只读的方式彻底规避了这个问题。
说句实话,我第一次看到这个设计的时候,有种"原来可以这么简单"的感觉。但又一想,能把简单的事情做到极致,本身就是一种功力。

它到底查什么?
你开发机上的"供应链表面"比你以为的大得多。
Bumblebee覆盖的面非常广,我列几个你可能没想到的:
各种语言的包管理器。npm、pnpm、Yarn、Bun,Python的pip、Go的modules、Ruby的Gem、PHP的Composer,全在扫描范围内。它不是去运行这些工具问"你装了什么",而是直接读它们留下的元数据文件,又快又安全。
编辑器扩展。VS Code、Cursor、Windsurf、VSCodium的扩展清单。你觉得插件市场审核严格?其实很多恶意扩展能绕过审核,上架几周后才被发现。
浏览器扩展。Chrome系的和Firefox的,按用户配置文件逐个检查。你浏览器里装的那个"免费PDF转换器",搞不好在偷偷读你所有网页内容。
MCP配置。这个是最容易被忽略的。MCP是现在AI Agent连接外部工具的标准协议,Claude Code、Cursor、Codex都在用。你的MCP配置文件里可能挂着几十个第三方服务器,每一个都是一个潜在的入口。更关键的是,MCP配置里经常会包含API密钥和环境变量,Bumblebee能识别出这些配置,但不会把密钥内容记录到扫描结果里。
Agent技能文件。这个很新。现在很多AI编程工具支持安装"技能包",就是别人写好的提示词和工作流。Bumblebee能扫描这些技能的lock文件,检查有没有已知的恶意技能包混在里面。
Homebrew。Mac用户都装了brew,brew装的每一个formula和cask都有安装记录,Bumblebee一并扫描。
总共覆盖了11种生态系统。
三种模式,三个场景
Bumblebee不是那种"安装完就完事"的工具。它有三种扫描模式,对应三种完全不同的使用场景。
baseline模式:日常巡检。扫你的全局包、编辑器扩展、浏览器扩展、MCP配置。这个模式很快,适合挂个定时任务,每天跑一次。比如说你可以在crontab里加一行,每天早上9点自动扫一遍,有结果就发个通知。
project模式:项目级扫描。指定你的代码目录,比如~/code或者~/work,扫这些目录下的项目依赖。这个适合在CI/CD流水线里跑,或者你在做一个新项目之前,先看看依赖有没有问题。
deep模式:应急响应。当安全社区公布了一个新的供应链漏洞,你需要立刻知道公司里哪些开发机受影响。deep模式可以扫整个$HOME目录,配合一个"曝光目录"(exposure catalog)的JSON文件,精准匹配出受影响的具体包。
多说一句这个"曝光目录"的设计,我觉得挺巧妙的。
Perplexity内部的做法是这样的:安全团队发现威胁信号后,用AI起草一个catalog更新,然后人工审核,合并到GitHub仓库里。这个catalog就是一个JSON文件,里面列着已知的恶意包名、版本范围、恶意类型。你每次跑Bumblebee的时候,带上这个catalog,它就能告诉你:你的机器上有没有中招。
等于是把"威胁情报"和"扫描引擎"解耦了。情报可以持续更新,扫描器不用动。
一行命令,零依赖
安装Bumblebee简单到让人感动。
只要你有Go 1.25以上版本:
go install github.com/perplexityai/bumblebee/cmd/bumblebee@latest
装完运行自检:
bumblebee selftest
# selftest OK (2 findings in 1ms)
如果自检通过,说明安装没问题,可以正常检测恶意包了。
然后跑一个baseline扫描:
bumblebee scan --profile baseline > inventory.ndjson
输出是NDJSON格式,每行一个JSON对象。你可以直接cat看,也可以导入到任何日志系统里做分析。
想针对特定漏洞做检查?
bumblebee scan --profile deep \
--root "$HOME" \
--exposure-catalog ./catalog.json \
--max-duration 10m
就这些。不需要配置文件,不需要数据库,不需要Docker。一个二进制文件,跑完即走。
这也是Bumblebee另一个让我喜欢的地方。它是纯Go写的,零非标准库依赖。没有npm的node_modules黑洞,没有Python的pip依赖地狱。编译出来就是一个静态二进制文件,拷到任何一台Mac或Linux机器上就能跑。
在一个连"安装扫描工具本身"都可能引入供应链风险的时代,这个设计简直像一股清流。
谁需要它?
如果你是一个人开发者,在GitHub上随便写写玩具项目,你可能觉得"无所谓吧,谁要攻击我啊"。
但如果你在维护一个有用户量的产品,或者你在一家公司里做开发,那Bumblebee就是你需要的。
举个例子。一家中型公司可能有50个开发者,每个人电脑上装着几百个npm包、几十个VS Code插件、十几个浏览器扩展、好几个MCP服务器。当某个包被曝出漏洞的时候,安全团队要怎么在半小时内搞清楚:到底哪些人的机器受影响?
传统的做法是发邮件让大家自己查,然后陷入无尽的"我查了,应该没有"和"哦等等好像有一个"的循环。
有了Bumblebee,安全团队可以下发一个catalog文件,让所有人跑一条命令,结果自动汇总。十分钟出结果,精准到具体哪个包的哪个版本。
这个效率提升不是一点点,是质变。
而且对于安全团队来说,Bumblebee填补了一个很关键的空白。SBOM(软件物料清单)告诉你"产品里装了啥",EDR(端点检测与响应)告诉你"什么在运行",但开发机上的"本地状态"一直是个盲区。那一堆lock文件、缓存、配置,既不是产品的一部分,也不在运行时监控范围里,但它们恰恰是攻击者最喜欢藏身的地方。
Bumblebee就是照亮这个盲区的手电筒。
我的看法
说实话,Perplexity做这件事让我有点意外。
Perplexity给大众的印象一直是个"AI搜索引擎公司",跟Google抢用户的那种。突然开源一个安全工具,乍一看像不务正业。
但仔细想想,逻辑是顺的。
Perplexity自己的产品里用到了大量的开源组件和AI Agent基础设施。他们有Comet浏览器、有Computer Agent、有各种MCP集成。他们的开发机上跑着成百上千个包和插件。供应链安全对他们来说不是锦上添花,是生存问题。
他们把这个能力开源出来,一方面是回馈社区,另一方面也是希望更多人用、更多人贡献威胁情报,让整个生态变得更安全。这个思路,跟Meta开源Llama、Google开源Kubernetes是一样的。
而且Bumblebee这个工具的风格,跟Perplexity的产品气质很像:简单、直接、一个命令搞定。没有花里胡哨的Dashboard,没有复杂的配置系统,就是一个二进制文件加一个JSON输入。
这让我想起一句话:最好的安全工具,是那个你真正会用的。
太多企业级安全产品做得太"重"了。部署要三天,配置要一周,跑起来CPU飙到80%。最后大家都不愿意装,安全反而成了摆设。
Bumblebee走的是另一条路。它假设你会用,所以它把自己做到最轻、最快、最不影响你工作。
我觉得这是对的。
最后
写这篇文章的时候,我又看了一眼GitHub上的供应链攻击数据。2026年上半年,npm、PyPI、MCP生态里发现的恶意包数量比去年同期涨了超过300%。AI Agent的兴起让这个问题变得更紧迫了,因为Agent不仅有权限读你的文件,还有权限执行命令。
如果你的Agent不小心装上了一个恶意的MCP服务器,后果可能不是"被偷点数据"那么简单。
Bumblebee是这个问题的答案之一。它不完美,但它在正确的方向上迈出了一大步。
感兴趣的话,去GitHub搜perplexityai/bumblebee就能找到。Apache 2.0协议,随便用。
📌 如果这篇文章让你对自己的开发环境多了几分警惕,不妨点个赞、点个推荐,让更多开发者看到这个工具。
📌 觉得有用的话,转发给你的技术群或者安全团队,说不定正好有人需要。
📌 还没关注xxDays?我们每天都在挖掘那些真正好用、能解决实际问题的AI开源项目。不写广告,不卖课,只写真心觉得有价值的东西。
下次见。
夜雨聆风