开源组件已经渗透到几乎所有企业软件的骨架里,但"用得越多、担得越多"——供应链攻击、未修补的 CVE、上游维护者倦怠,这些风险正从边缘议题变成生产事故。IBM 和红帽这次没有再发白皮书,而是直接掏出了 50 亿美元和两万名工程师,启动了 Project Lightwell,试图从上游代码到生产部署全链路重建企业对开源的信任。
开源安全的痛点到底在哪
过去几年,开源安全事件反复验证同一个模式:漏洞在上游被发现,但修复传导到下游企业需要数周甚至数月。原因并不复杂——
- 依赖链过长:一个 Java 项目平均间接依赖超过 50 个包,任何一个环节出问题都会波及全线。
- 补丁落地慢:上游修了,但发行版打包、企业升级、回归测试层层拖拽,导致生产环境长期暴露。
- 信任凭直觉:很多团队选组件靠 GitHub star 数和下载量,缺少结构化的安全评估。
Project Lightwell 的核心承诺就是压缩这条传导链:用 AI 加速漏洞发现与补丁验证,用红帽的发行版体系缩短补丁到达生产的路径,再用两万名工程师在关键节点做人工兜底。
AI + 两万工程师:不是替代,是分层
50 亿美元的分配细节尚未完全公开,但从已有信息可以推断出一个分层策略:
| 层级 | 职责 | 手段 |
|---|---|---|
| 上游社区 | 早期漏洞发现、代码质量扫描 | AI 静态分析 + 模式匹配 |
| 发行版打包 | 补丁回移、兼容性验证 | 红帽工程师人工审查 + 自动化 CI |
| 企业生产 | 部署策略、运行时监控 | AI 风险评估 + 运维团队响应 |
AI 在这里承担的是"广筛"——在数百万行代码和海量提交中快速定位可疑模式。但筛完之后,是否真的是漏洞、补丁会不会破坏兼容性、升级路径怎么规划,这些决策仍然需要人来做。两万名工程师的价值不是替代 AI,而是在 AI 缩小范围后做精准判断。
可信链条:从 SBOM 到签名验证
Project Lightwell 提到要"建立可信……"(摘要在此截断),但从行业趋势和红帽已有的基础设施可以推断,这条可信链大概率围绕三个锚点构建:
- SBOM(软件物料清单)——让每个交付件声明自己包含什么。
- 签名与溯源——用 Sigstore 等工具对构建产物签名,确保从源码到二进制可追溯。
- 策略引擎——在部署环节用 OPA/Gatekeeper 等策略拦截不合规组件。
下面给出一套企业现在就能跑起来的供应链安全流水线示例,它和 Project Lightwell 的方向一致,可以在 Lightwell 详细规范落地前先行实践。
实践:一条可复制的开源供应链安全流水线
以下示例用三个开源工具——syft(生成 SBOM)、grype(扫描漏洞)、cosign(容器签名)——搭建一条从构建到部署的安全检查链。所有命令均可直接复制运行。
1. 生成 SBOM 并扫描漏洞
# 安装工具(macOS / Linux 均可)
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
# 对本地容器镜像生成 SBOM(JSON 格式,方便后续集成)
syft myapp:latest -o json > sbom.json
# 基于 SBOM 扫描已知漏洞,只报告高危和严重级别
grype sbom:./sbom.json --fail-on high
如果 grype 返回非零退出码,说明存在高危及以上漏洞,CI 流水线应在此中断。
2. 用 Cosign 对镜像签名并验证
# 安装 cosign
go install github.com/sigstore/cosign/v2/cmd/cosign@latest
# 生成密钥对(生产环境应使用 Sigstore 无密钥签名,这里用本地密钥演示)
cosign generate-key-pair
# 对已通过漏洞扫描的镜像签名
cosign sign --key cosign.key myapp:latest
# 部署前验证签名
cosign verify --key cosign.pub myapp:latest
3. 把以上步骤串进 GitLab CI
# .gitlab-ci.yml
stages:
- build
- security
- sign
- deploy
build_image:
stage: build
script:
- docker build -t myapp:$CI_COMMIT_SHA .
scan_sbom:
stage: security
needs: [build_image]
script:
- syft myapp:$CI_COMMIT_SHA -o json > sbom.json
- grype sbom:./sbom.json --fail-on high
artifacts:
paths:
- sbom.json
sign_image:
stage: sign
needs: [scan_sbom]
script:
- cosign sign --key cosign.key myapp:$CI_COMMIT_SHA
deploy:
stage: deploy
needs: [sign_image]
script:
- cosign verify --key cosign.pub myapp:$CI_COMMIT_SHA
- kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
注意:
cosign.key和cosign.pub不应硬编码在仓库中。生产环境建议用 Vault 或 KMS 管理密钥,或直接切换到 Sigstore 的 Fulcio + Rekor 无密钥模式。
4. 运行时策略:只允许已签名镜像进入集群
# OPA Gatekeeper 约束模板——拒绝未签名容器镜像
apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
name: requirecosign
spec:
crd:
spec:
names:
kind: RequireCosign
targets:
- rego: |
package requirecosign
violation[{"msg": msg}] {
input.review.object.spec.containers[_].image
not has_cosign_signature(input.review.object.spec.containers[_].image)
msg := sprintf("镜像 %v 缺少 cosign 签名", [input.review.object.spec.containers[_].image])
}
has_cosign_signature(img) {
# 实际生产中应调用 cosign verify 或查询 Rekor 日志
# 这里简化为检查镜像是否来自可信仓库
startswith(img, "myregistry.example.com/")
}
---
apiVersion: constraints.gatekeeper.sh/v1
kind: RequireCosign
metadata:
name: enforce-signed-images
spec:
match:
kinds:
- apiGroups: [""]
kinds: ["Pod"]
这套流水线覆盖了 SBOM 生成、漏洞扫描、镜像签名、CI 集成和运行时策略五个环节,与 Project Lightwell 描述的"从上游到生产全链路"思路对齐。企业现在就能部署,等 Lightwell 的具体规范和工具链发布后再逐步替换为官方方案。
50 亿美元能改变什么,不能改变什么
能改变的:
- 补丁传导速度——红帽的发行版体系 + AI 辅助回移,可以把"上游修了但企业还没收到"的窗口从数周压缩到数天。
- 安全评估成本——AI 广筛 + 人工精审的组合,让企业不必自己维护庞大的安全团队就能获得较高质量的风险判断。
- 信任基础设施——如果 Lightwell 推动签名、SBOM、溯源成为红帽发行版的标准配置,企业"默认安全"的基线会整体抬升。
不能改变的:
- 上游社区的倦怠——50 亿美元主要流向 IBM/红帽的工程团队,上游维护者能否直接受益取决于具体分配方案,目前尚未公开。
- 企业的升级惰性——即使补丁已经打包好,很多组织仍然因为兼容性担忧而拖延升级,这不是技术问题。
- 零日漏洞——AI 可以加速已知模式的发现,但对全新攻击手法,仍然存在时间差。
落地前的检查清单
在等待 Project Lightwell 详细路线图期间,企业可以先做这些准备:
- 盘点依赖:用
syft或trivy对所有生产镜像生成 SBOM,建立基线。 - 建立签名验证:在 CI 和部署环节引入
cosign verify,逐步收紧准入策略。 - 设定升级节奏:制定红帽 RHEL / OpenShift 的补丁跟进 SLA,比如高危 CVE 在 72 小时内完成升级评估。
- 关注 Lightwell 规范:一旦 IBM/红帽发布具体的 SBOM 格式、签名流程和策略引擎接口,尽早对齐,避免自建方案与官方方案冲突。
50 亿美元是一个信号:开源安全不再是"社区自觉"的范畴,而是有商业体系兜底的基础设施问题。信号已经发出,但基础设施的砖还要一块一块砌。