下一个被攻击的,不一定是你的系统,而是你信任的上游
当企业还在把注意力集中在防火墙、终端杀毒和边界访问控制时,真正的风险可能已经绕过传统防线,潜伏在代码仓库、依赖组件、构建流程,甚至开发者复制的一段 AI 生成代码里。今天,供应链安全已经不是“开发侧问题”,而是企业数字化时代必须正面应对的核心安全议题。
一、为什么供应链安全突然成了热点?
过去很多企业理解的网络安全,更多围绕“外部入侵”展开:防黑客扫描,防勒索软件,防弱口令和暴力破解,防内网横向移动。但近两年,越来越多高影响安全事件都在提醒我们:攻击者不一定直接攻击你,而是先污染你信任的上游。这就是供应链安全最危险的地方,企业今天使用的软件,越来越不是“自己从零写出来的”,而是由大量第三方组件、开源库、容器镜像、CI/CD 插件、云服务接口共同拼装出来的。一个业务系统可能只有 20% 是企业自研代码,剩下 80% 来自各种依赖、框架和工具链。这意味着,企业真正运行的,不只是“自己的代码”,而是一整条复杂的软件供应链。而攻击者已经意识到:与其逐个攻击企业,不如攻击大家共同依赖的组件,与其打正面,不如从更新包、镜像仓库、构建脚本侧面渗透,与其突破边界,不如直接进入开发和交付流程。所以,供应链安全从过去的“专业话题”,变成了今天企业管理者、开发团队、安全团队都绕不开的现实问题。
二、从“开源复用”到“开源依赖”,风险是怎么放大的?
开源并不是风险本身,风险在于企业对开源的使用方式已经发生了根本变化。
01开源依赖数量爆炸式增长
以前一个系统可能只引用几个基础库,现在一个前端项目动辄几百个npm依赖,一个Java项目可能引入上千个传递依赖,一个容器镜像里可能包含数十个系统包和基础组件。开发效率提升的同时,也带来了几个现实问题:不知道项目到底用了多少依赖,不知道依赖之间嵌套了多少层,不知道哪些依赖已经存在公开漏洞,不知道谁在什么时候把高风险组件引入生产系统,对很多企业来说,安全团队真正拿到生产系统时,往往已经无法完整还原这条依赖链。
02开发者对“间接依赖”感知极弱
开发者通常只记得自己在 package.json、pom.xml、requirements.txt 里手工引入的组件,但真正的风险经常藏在二级、三级甚至更深的依赖里。比如:你引入了一个常用 Web 框架,这个框架内部依赖一个模板库,模板库又引用一个工具函数库,工具函数库某个版本存在高危漏洞,最后,系统虽然从未“主动安装”这个风险组件,但它已经真实存在于运行环境中。
03AI编码正在放大依赖引入风险
这是最近最值得关注的新变化,随着大模型辅助开发越来越普及,很多开发者会直接复制AI给出的代码片段、依赖建议、Dockerfile、CI 脚本甚至部署命令。AI 确实提升了效率,但也带来了新的问题:推荐的依赖版本可能过旧,示例代码可能直接引用存在漏洞的库,配置文件可能关闭校验、跳过鉴权、暴露敏感接口,开发者“先跑起来再说”,风险组件被快速引入生产,过去是开发者手工挑选依赖,现在是 AI 在帮开发者“批量放大决策”。这意味着,一次不严谨的建议,可能被快速复制到多个项目里,供应链安全,正在从“开源治理问题”演变为“AI 时代的软件生产安全问题”。

三、近期最值得关注的供应链风险有哪些?
如果要把当前最值得公众号读者关注的供应链风险归纳出来,大致可以分成以下几类。
1.开源组件漏洞持续高发 这类问题最容易理解,也最常见。典型表现是:某个常用开源库被披露高危漏洞,企业业务系统大量依赖该组件,漏洞影响范围广、修复时间长,即使官方已发布修复版本,企业内部升级仍然缓慢,这类风险之所以危险,不只是漏洞本身,而是企业经常面临以下困境:不知道自己哪些系统受影响,无法快速定位依赖链位置,升级后担心业务兼容性问题,补丁窗口长,攻击窗口也长,很多安全事件不是因为“没有补丁”,而是因为“知道有问题,但来不及收敛影响”。
2.依赖投毒与恶意包上传这是近年来攻击者最常用、也最隐蔽的路径之一。攻击手法通常包括:上传名称相似的恶意包,诱导误装,劫持失控维护者账号后发布恶意版本,在正常依赖中植入后门逻辑,借助安装脚本自动下载恶意载荷。风险点在于,开发者往往天然信任“知名仓库”和“常用包名”,一旦项目自动安装了恶意依赖,后续编译、打包、部署环节都会把风险进一步放大。
3.构建流水线被攻击很多企业开始重视代码仓库安全,但却忽视了 CI/CD 本身也是高价值目标。攻击者一旦控制了构建流程,就可能:篡改构建产物,在镜像中植入恶意文件,替换下载源,窃取构建密钥、制品仓库凭证、云访问令牌,通过自动化发布流程把后门送进生产环境,从防守视角看,这类风险比单个应用漏洞更可怕。因为它污染的是“官方交付结果”,信任链一旦断裂,所有下游环境都会被波及。
4.容器镜像与基础镜像污染含有高危系统漏洞,包含弱口令、默认账户、调试工具,残留访问密钥、历史配置、打包缓存,使用来源不明的公共镜像,如果企业没有建立镜像准入机制,就等于把一个可能已被污染的系统模板批量复制到生产环境里。
5.第三方服务与插件权限过大今天的软件供应链不只包括代码库,还包括:开发平台插件,代码托管集成应用,测试平台插件,自动部署工具,云厂商接口密钥,如果第三方插件拿到过高权限,一旦其服务端被攻击、凭证泄露或更新包被污染,企业内部的代码、制品、密钥、环境变量都有可能受到影响。
四、为什么很多企业明知道有风险,却依然防不住?
这是供应链安全最现实的问题。不是企业完全不重视,而是很多治理动作在落地时会遇到明显障碍。 1. 资产不清,根本不知道该管什么很多企业缺少完整的软件物料清单(SBOM),不知道:项目用了哪些组件,组件版本是多少,来自哪个源,被哪些系统复用,是否已经进入生产环境,没有资产台账,就谈不上风险识别,更谈不上修复闭环。 2. 开发与安全目标不一致开发团队更关注:交付速度,功能上线,稳定性和兼容性,安全团队更关注:漏洞风险,依赖来源可信度,构建链路完整性,密钥和权限管理。两边都没错,但如果企业没有统一机制,最后经常变成:安全提整改,开发担心影响上线,开发先上线,安全后补洞,风险积压,越来越多. 3. 修复不只是升级版本那么简单现实中很多漏洞修复非常“卡”:升级后接口行为变化,,上游框架不兼容,老系统无人维护,供应商产品不能快速升级,所以企业即使知道某组件有漏洞,也不一定能在短时间内修掉。这就导致“公开漏洞长期在线”的现象非常普遍。 4. 流程碎片化,责任边界模糊供应链安全横跨多个角色:开发,测试,运维,安全,采购,第三方供应商:一旦没有明确责任机制,很容易出现:漏洞没人跟进,第三方组件没人验收,上线前没人做依赖审查,构建环境没人做加固,最后看似每个环节都有人负责,实际上没人对全链路结果负责。
五、企业应该如何建立真正可落地的供应链安全体系?
供应链安全不能只靠“发现一个漏洞修一个漏洞”。真正有效的做法,是把治理能力嵌入软件全生命周期。
1.建立软件物料清单(SBOM)能力这是供应链安全的第一步。企业至少要做到:知道每个系统包含哪些开源组件,知道组件版本、来源和依赖关系,知道哪些系统复用了相同组件,一旦出现高危漏洞,能快速定位受影响范围,没有 SBOM,企业在遇到供应链事件时只能“全网排查”,反应一定慢。
2.建立依赖准入和版本治理机制企业不应允许开发者随意引入任何依赖,而应建立基本规则:优先使用企业批准的组件源,限制使用长期无人维护的项目,对高风险许可证和高风险组件做准入拦截,明确依赖升级策略,避免长期冻结在高危旧版本。核心目标不是“卡死开发”,而是让依赖引入变得可见、可控、可追溯。
3. 给 CI/CD 建立安全护栏很多企业已经有流水线自动化,但没有流水线安全化,建议重点关注:构建节点最小权限,构建账号和发布账号分离,制品签名和校验,环境变量和密钥加密托管,限制外部下载源,对构建结果做完整性校验,如果流水线本身不可信,再严格的代码审查也可能被绕过。
4. 推行镜像和制品可信治理建议企业建立内部镜像仓库和制品仓库,统一纳管:基础镜像来源白名单,镜像漏洞扫描,镜像签名验证,高危漏洞阻断发布,历史制品可追溯,很多问题不是出在应用代码,而是出在“打包进去的东西没人看”。
5. 把安全左移,但不要只喊口号“安全左移”不是把责任全部甩给开发,而是要让开发在不被明显打断的情况下就能获得安全反馈,更有效的做法包括:在提交代码时自动做依赖扫描,在合并请求时提示高危组件,在流水线中自动阻断严重风险版本,给开发团队提供可替代、可升级、可兼容的建议。如果安全工具只会报红,不告诉开发怎么改,最后结果通常是大家一起忽略告警。
6.管理好 AI 生成代码带来的新型风险这是未来两年企业必须正视的重点。对于 AI 辅助开发,建议企业至少建立三项规则:规则一:AI 推荐的依赖不能直接进生产,规则二:AI 生成代码必须经过人工审查和安全扫描,规则三:禁止把真实密钥、生产数据、内部代码直接输入公共大模型,如果企业只把 AI 当作“效率工具”,却不把它纳入治理体系,那么 AI 很可能会成为供应链风险的放大器。

六、供应链安全的本质,不是“防一个漏洞”,而是“守住信任链”
供应链安全之所以难,是因为它破坏的不是单一系统,而是整个软件生产和交付过程的信任基础,一旦信任链条断裂,企业面临的就不是“某个漏洞待修复”,而是:代码是否可信,构建是否可信,镜像是否可信,发布是否可信,运行环境是否可信,上游依赖是否可信。从这个角度看,供应链安全其实已经不只是研发安全议题,而是企业数字化能力本身的一部分。尤其是在 AI 代码生成、开源大规模复用、云原生快速交付的背景下,企业如果仍然沿用过去“上线后再补安全”的思路,风险只会不断累积。真正成熟的企业,会把供应链安全看成一种“基础设施能力”:不是一次运动式排查,不是等出了漏洞再加班补救,不是只做扫描,不做治理,而是把可信组件、可信构建、可信发布、可信运行形成闭环
七、结语:下一个被攻击的,不一定是你的系统,而是你信任的上游
未来企业面临的网络安全竞争,越来越像一场“信任链管理能力”的竞争,谁能更早识别依赖风险、谁能更快定位受影响资产、谁能更稳地控制构建和发布链路,谁就更有机会在下一次供应链安全事件中保持业务连续性,对于企业管理者来说,供应链安全不该再被理解为“研发部门的技术细节”。它关系到:业务系统是否稳定可控,核心数据是否可能被上游污染波及,新技术和 AI 工具是否会引入新的系统性风险,企业是否具备真正可持续的数字安全能力,在今天这个阶段,最危险的不是“已经发现有漏洞”,而是“你以为你用的是自己的系统,实际上你运行的是一整条你并不了解的依赖链”。供应链安全,正从幕后走到台前,也正在成为企业安全治理真正的主战场。