一个npm包偷走50万条密钥:制造企业的MES、PDM为何成了开源投毒重灾区

2026-09-01 11:16:18

2026年上半年,安全圈被一组数字砸醒:一个叫TeamPCP(也叫DeadCatx3)的团伙,在五天时间里污染了npm和PyPI上600多个开源包,偷走超过50万条各类凭证,直接和间接经济损失超过10亿美元。被盯上的名单里包括axios(周下载过亿的HTTP库)、Trivy安全扫描器、LiteLLM、TanStack、AntV一众前端库。宁波市公安局2026年第5期网络安全预警里点名的“沙虫”Shai-Hulud,直接攻陷了npm官方维护者账户,批量投放300多个包、600多个恶意版本。

这事儿,跟制造企业有什么关系?

关系大得很。今天随便一家工厂的MES、PDM、WMS、BI报表,甚至车间看板,底层都堆满了开源组件——前端框架、图表库、工具链、Python依赖。开发或运维只要在公司电脑、CI/CD流水线上敲一行 npm installpip install,恶意包就会在本地和构建环境里自动执行,悄悄把GitHub Token、npm Token、SSH私钥、数据库连接串、K8s凭据往外发。

更狠的是它带蠕虫属性:拿到你的发布权限后,会篡改你名下的其他包二次发布,污染顺着信任链一路扩散。不少制造业IT会觉得“我们又不对外网发代码,怕什么”。错。流水线服务器本身就在内网,一旦被种,源码、图纸、工艺参数、客户名单跟着一起出去——你人连门都没出,家底先没了。

别把开源当免费午餐,得给它上个“进货检验”

1. 建立SBOM(软件物料清单),把你系统里到底跑着哪些开源包、什么版本先盘清楚。新漏洞一披露,能直接对照,不用瞎猜。

2. 用私有源/镜像源,给依赖上白名单。只允许从受控仓库拉包,禁止随手装个不知名的小工具。

3. 上依赖扫描,重点盯 preinstallpostinstall 这类自动执行脚本,发现可疑立即拦。

4. CI/CD流水线用短期凭证、最小权限,跑完就失效;密钥别硬编码在代码或配置文件里。

5. 一旦中招,第一时间轮换所有可能被窃的凭证——这是很多人会忘的一步。

6. 代码和图纸“出走”的最后一道,交给文档透明加密和终端防泄露来守:即使恶意包把文件读走了,离开授信环境也打不开、传不出去。

真正的价值在“查干净上游”

软件供应链攻击最麻烦的地方,是“信任被反向利用”——你以为装的是轮子,其实是别人埋的雷。对制造企业来说,MES、PDM这些系统一旦被污染,丢的不只是代码,是吃饭的家伙。花点力气把开源依赖管起来,成本远低于一次泄密带来的停产和客户索赔。

说到底,写代码的人和做零件的人一样,都得信得过自己的上游。把供应链查干净,夜里才睡得着。

免费体验