惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
知名开源作者呼吁对软件供应链进行验证,而非盲目信任
作者:Matt Saun · 2026-05-13 · via InfoQ - 促进软件开发领域知识与创新的传播

2026年3月发布的一篇博文中,curl 创建者兼首席开发人员 Daniel Stenberg 指出,软件行业默认信任知名组件的做法已经不再适用。Stenberg 认为,用户和组织应主动验证所使用的软件,并以 curl 自身的实践为例,具体说明了如何做到这一点。

据估计,curl 运行在数百亿台设备上,是现存部署最广泛的软件组件之一。Stenberg 列举了多种可能导致这样一个大项目遭到破坏的场景,包括恶意贡献者合并受污染的代码、遭入侵的提交者无意中分发了经过篡改的版本、受勒索的团队成员进行超出预期的修改,或是被黑客入侵的分发服务器提供经过篡改的 tar 包。他指出,这些场景可能独立发生,也可能在短时间内接连发生,而对于 curl 这样覆盖面特别广的项目,一旦攻击得手,后果将十分严重。

软件和数字安全应当基于验证,而非信任。我强烈建议更多的软件用户和消费者对 curl 进行验证。理想情况下,还应要求大家对依赖链中的其他软件组件至少进行同等程度的验证。

—— Daniel Stenberg

Curl 项目已经实施了一套全面的管控措施,旨在使 Git 存储库成为权威且可审计的事实来源。这些措施包括:强制使用统一的代码风格、禁止使用某些被认为难以安全使用的 C 函数、设定函数复杂度上限、要求对所有拉取请求进行人工和自动审查,以及禁止二进制 Blob 和绝大多数 base64 编码内容的使用——这两者都可能被用于隐藏恶意有效载荷。Stenberg 还描述了在每次提交时运行的 200 多个持续集成任务,它们采用将警告视为错误的严格编译器设置进行构建;通过谷歌的 OSS-Fuzz 项目持续进行模糊测试;对所有提交者强制实行双因素认证。每项措施都旨在让关注该项目的人一眼就可以看出任何偏离预期的行为。

除了这些内部控制措施外,Stenberg 还主张建立一个更广泛的验证生态系统。他解释说,该项目在 curl 网站上提供了经过签名的发布工件以及一个专门的验证页面,以便独立用户能够核查发布版本是否仅包含 git 存储库中的内容,以及是否由发布经理签名。他承认,自己无法得知这些用户的身份,也无法确定他们是否确实存在,但他认为,即使只有少数的独立验证者,也足以提供有意义的核查:一旦发现任何异常,其中任何一位都能发出警报。

如果哪怕只有少数用户能证实他们收到了由 curl 发布管理员签名的 curl 发布包,并且确认该发布包的内容未被篡改,并且仅包含源自 git 存储库的代码,那就相当不错了。

—— Daniel Stenberg

在文章末尾,Stenberg 直接建议对所有依赖项都进行此类验证,并指出“软件和数字安全应基于验证,而非信任”。2025 年 4 月之前的社区讨论从多方面呼应了这一立场。在 LinkedIn 上,安全和平台工程领域的从业者指出,2024 年发现的 XZ Utils 后门事件——长期通过可信贡献者植入恶意代码——揭示了基于声誉的信任所存在的局限性。要了解更多信息,可以查阅Cameron Stihel的这篇博文Ryan Johnston的这篇博文。该攻击通过长期贡献赢得维护者的信任,随后在 liblzma 组件中植入代码变更。这正是 Stenberg 在其威胁载体清单中描述的典型场景。

目前,用于精确描述软件构成的结构化工具之一是软件物料清单(SBOM)。在InfoQ关于2026年伦敦QCon大会演讲的报道中,sbomify 创始人 Viktor Petersson 指出,团队采用 SBOM 的时间已经所剩无几。他提到了《欧盟网络弹性法案》(CRA)。该法案将于 2026 年 9 月开启首个执法窗口,并要求在 2027 年 12 月前全面符合 SBOM 标准,同时警告说后果远不止罚款:“CRA 的重点不在于罚款。实际上,它可能导致销售受阻。你的产品可能会被禁止进入欧洲市场。”自 2021 年起生效的美国第 14028 号行政令,将 SBOM 作为向联邦政府销售软件的采购条件,而美国食品药品监督管理局(FDA)也要求医疗设备必须提供 SBOM。

Petersson 的演讲涵盖了 SBOM 生成的全生命周期,包括大多数团队都会跳过的步骤:签名。他直言不讳地指出,这是个错误,并且强调,具体使用的工具甚至不如签名这一行为本身重要,因为签名能提供可验证的溯源链。Petersson 直言道:“任何签名都比不签名好。请务必在你的构建管道中对 SBOM 进行签名,而不是在某人的机器上。”这与 Stenberg 的论点直接相关:curl 已经提供了经过签名的发布工件,并清晰而详细地说明了验证步骤,从而为使用者提供了 Petersson 称之为目标的溯源链。

CI/CD 管道也是一个潜在的薄弱环节。InfoQ曾报道过,2025 年 4 月,一个广受欢迎的 GitHub Action 遭到入侵。从这个事件可以清晰地看到,单个恶意操作或遭到入侵的操作如何同时泄露多个项目的机密信息和构建产物。该事件进一步强化了以下呼吁:加强对第三方操作的管控,将依赖项固定到特定的提交哈希值,并监控 CI 工具中的意外变更。Stenberg 的方法直接解决了这一问题:curl CI 任务被配置为仅以只读方式访问源代码存储库,并使用 zizmor 工具进行检查,降低了不安全任务配置的风险。

Petersson 还提到了生命周期方面的挑战。他指出,一款实际的产品通常包含数十份 SBOM,它们在每次运行持续集成(CI)时都会发生变化,而监管机构可能会要求提供特定历史版本的 SBOM。他将当前的做法比作版本控制出现之前的软件开发:“如今处理 SBOM 的感觉,就像 90 年代通过电子邮件发送补丁来管理源代码一样。”这一治理问题印证了 Stenberg 提出的更广泛的观点。生成、签名和验证软件工件的工具已经有了,而使用这些工具的监管压力正在加大,因此,组织应通过验证其所使用的软件来实现闭环管理。

原文链接:https://www.infoq.com/news/2026/05/stenberg-curl-verification-trust/