安全的“更左”移是避免风险软件包的关键
背 景
随着人工智能革命的加速,开发者们正被琳琅满目的新软件包和颠覆性工具所淹没,例如 GitHub CoPilot、Sourcegraph、Qodo、Cursor、Goose 等等,它们承诺将带来令人难以置信的生产力和影响力提升。人们对人工智能的热情高涨,并且还在持续增长。
网络攻击者同样对此感到兴奋。新开发资源的采用速度总是快于确保其使用安全的能力,这为不良行为者提供了一个机会窗口,使其能够通过严格的安全控制手段,几乎毫无阻碍地利用漏洞。
开发者安全领域在确保开源软件(OSS)依赖项和外部组件的使用安全方面取得了长足进步;毕竟,应用程序代码库中的绝大多数漏洞都是通过第三方构建块引入的。但随着我们进入人工智能时代,软件供应链安全风险正在迅速增加,并且也从软件依赖项扩展到开发者工具及其扩展。
史上最大规模的 npm 供应链攻击
波及 20 个软件包
2025 年 9 月 8 日,发现了一起利用流行 npm 软件包的软件供应链攻击事件,共有 20 个软件包(下载量超过 20 亿次)遭到入侵。在此次事件中,攻击者植入了恶意代码,旨在拦截和重定向加密货币交易。此次攻击的范围之广,使其成为 npm 历史上影响最广泛的供应链攻击。(如需了解此次事件的更详细技术分析,请参阅前文博客“在历史最大npm攻击中发现了新的受损包”)。幸运的是,尽管这些被入侵的软件包下载量高达 250 万次,但其影响却微乎其微。
这类攻击只会愈发频繁且愈发复杂,许多软件生产组织将继续发现自己陷入两难境地:一方面,严格的安全措施会阻碍开发速度和生产力;另一方面,未经审查的制品、软件包和工具又会带来过多的软件供应链安全风险。
依赖开发人员手动审查每个软件包或工具并不是一个可行的策略。我们需要的是一种“在门口”拦截风险或恶意组件的方法,确保它们永远不会进入软件开发生命周期。
这就是 JFrog 在我们的软件供应链安全平台上所采取的差异化方法——我们将安全工作转移到比左移“更左”的位置。
利用 JFrog Curation 预判风险
JFrog Curation(https://www.jfrogchina.com/curation/)是一种解决方案,它使开发人员能够轻松使用经过验证和批准的依赖项和软件包。它本质上充当开发人员与公共存储库之间的防火墙,确保只有经过审查的开源软件(OSS)依赖项和软件包才能进入您组织的生态系统。
JFrog Curation 跟踪您组织认可的开源软件(OSS)包和模型,并提供一种基于策略的第三方软件组件使用方法,为安全性和软件开发者创造双赢局面。
图1:制定详细政策,禁止在 JFrog Curation 中使用未成熟软件包
JFrog Curation 极大地提升了安全性。想象一下这样的场景:新版本的软件包发布后,开发者们争相下载并投入使用。不成熟的软件包不仅可能存在运营风险,还可能带来严重的安全风险,这些风险通常会在发布后的 14 天内被发现。借助 JFrog Curation,安全团队可以根据软件包的发布时间创建并执行阻止任何新软件包的策略,从而为整个安全社区提供必要的时间进行适当的审查。
有人可能会认为强制执行这样的策略会降低开发者体验。毕竟,被禁止使用某个软件包可能会完全阻碍软件开发者的项目。JFrog Curation 也解决了维护开发者体验的问题:如果开发者请求的最新软件包不符合成熟度策略的要求,JFrog Curation 会根据您定义的策略指示 Artifactory 提供最新的兼容版本。