压力
摘要
Daniel Stenberg 反思了维护 curl 开源项目的压力,讨论了在安全、审查方面的不懈工作,以及 AI 生成的错误报告的影响。
<p><a href="https://lobste.rs/s/dw02ye/pressure">评论</a></p>
查看缓存全文
缓存时间: 2026/05/26 09:18
# 压力
来源:https://daniel.haxx.se/blog/2026/05/26/the-pressure/
我从事开源工作,主要因为我热爱它。社交层面、为善的出发点,以及让这项工程为所有人服务的挑战,都让我乐在其中。这也是我全职投入的理由——毕竟养家糊口、让饭桌上有食物也不是小事。但说出来你可能会震惊:我参与这场游戏,不是为了金钱或奢华的生活方式。
自2019年起,我全职投入curl项目。对我来说,这通常意味着每周工作50小时:我全天候扑在上面,每晚再额外加几小时——一周七天,所有时间都给了curl,因为这是出于热爱的工作,既是我的职业,也是我的业余爱好,反正也没人计算我的工时。(而且,我并不建议任何人效仿。我不提倡这样做。)
我相信自己人生的主要工作使命,就是让curl成为最优秀的传输库和工具,使其跻身开源项目的顶级行列——涵盖质量、性能,尤其是安全性。我认为我们总体上实现了这些崇高目标。
我是curl项目的创始人,近三十年后仍是项目首席开发者。尽管我始终明确强调"curl不是一个人的项目",并且没有我出色的curl团队伙伴们,curl绝对不可能有今天的样子,但世界上仍有大量的人认为curl是我的项目,有时几乎将curl与我个人等同起来。
我无法不把curl的问题当作个人问题。当有人批评curl时,这实质上是对我所支持、所坚持的决策和选择的抱怨——而许多决策正是我做出的。curl对我而言就是私人的。curl永远地塑造了我的人生。
我有两个孩子。他们都是在我开始从事curl工作多年后才出生的,现在都已成年、独立。我深爱着他们。时光流逝,但curl仍在。我们经历过平静期与忙碌期。几十年就这样过去了。
今年晚些时候,curl项目将庆祝成立三十周年。我们常重复说,全球可能有大约三百亿次curl安装量。
## 情况变了
过去几年里,我写过许多关于提交给curl的安全报告情况的博文。它们逐渐从关于愚蠢LLM的抱怨、到愚蠢的AI垃圾报告,再到关闭漏洞赏金计划,最终演变为当前的高质量混乱——对我们来说,这大概始于2026年3月的某个时候。
多年来,我们在互联网产品、软件基础设施和开源项目中目睹了许多惊天动地的安全失败。每次读到这些事件,我们都会想起curl无处不在,以及我们真的、真的、真的不希望这样的事情发生在我们或我们的用户身上。于是我们绕着项目再跑一圈,把每颗螺丝再拧紧一点,增加更多检查、测试和指南,力求让curl这艘船尽可能减少泄漏或沉没的可能。
## 被审视
最近,在我指出Mythos在首次扫描中只在curl中发现了一个低严重性问题后,无数人重复宣称curl是你能想象到的最受审视、最受审查、最受模糊测试和最受验证的源代码之一。也许确实如此,但我只想提一点:这并非偶然。这不是意外或幸运的结果。这是数十年不懈努力和对细节专注的成果。是"做对了的软件工程"。永无止境的迭代改进是一种有效的方法。
但这并不意味着我们没有bug,或者没有遗留的安全问题,因为我们确实有。我们有几十万行C语言源代码,在所有可想的操作系统和CPU架构上执行高度并行的网络通信,支持多种协议。所以我们修复问题、打补丁、发布新版。周而复始。
全球三百亿次安装意味着,每个读到这篇博文的人,在他们拥有的设备上都多次安装了curl——手机、平板、汽车、电视、打印机、游戏机、厨房电器等等,更不用说我们使用的所有在线数字服务以及这些设备通信的对象了。我怎么强调curl安全的重要性都不为过,我想大多数人会同意这一点。
我嫉妒那些曾经在某个时刻推出过一个糟糕bug的项目,那个bug让世界一片混乱了一段时间。它们获得了关注,其中一些因此获得了资金和财务实力,得以雇用人手、聘请多名全职工程师。我有时想,如果我们也有那么一次,情况会不会好一些。
## 前所未有的经历
一个三十年的项目可能会让你觉得已经见过了大部分情况,但我们从未遇到过这样的局面。
安全报告涌入的速度是2024年的4-5倍,是2025年的两倍——这意味着平均每天收到超过一份报告。质量也前所未有的高。报告通常非常详细且篇幅很长。
为了管理这股涌入的洪流,我们需要确保尽快处理它们,因为我们知道还有更多报告在路上。如果我们不能以大致相同的速度处理到达的报告,积压就会增长,而拥有一个你无法控制的潜在安全问题列表,会带来精神上的负担。
目前我几乎所有时间都在处理Hackerone上报告的已记录安全问题。验证声明、评估重要性、编写补丁、确定bug引入时间、理解漏洞、编写详细的公告向世界解释问题,并与安全研究员以及curl安全团队的其他成员沟通所有这一切。
## 健康之忧
有生以来第一次,我的妻子对我工作时长和不平衡的工作/生活状况表达了担忧。我工作得比以前更多,但洪流仍在涌来。我周围的人,大概是读出了字里行间的意思,问我以及我们如何应对这场洪灾,并希望确保我们不会在这个过程中精疲力竭。我很担心我的队友们。
我可能很快就要减少工作时间,给自己更多喘息的空间。
这是curl项目及其安全团队成员从未面临过的压力。一股高优先级工作的雪崩,压倒了项目中的一切其他事务。这主要是心理层面的压力,因为我们当然可以——如果我们愿意——忽略所有报告,但我们有责任感,我们有良知,我们为自己的工作感到自豪。我们觉得有义务修复我们帮助推向全球每一台设备的软件中的安全问题。这对我们来说是私人的。
距离即将发布的版本还有大约一半的发布周期,我们已经有了十二个已确认的漏洞,意味着十二个待定的CVE公告。这是项目新纪录,也意味着即使在日历年的前半段结束之前,2026年我们将达到三十个已发布的CVE。预测全年curl CVE的总发布数量至少是这个数字的两倍!
## 求助
我们需要什么帮助?短期内已经有点晚了。我们手上的工作已经多到耳朵根了。
我希望更多在商业软件和服务中使用和依赖于curl或libcurl的公司,能够出资支持我们。这样我们就可以支付更多开发者工资,从而分担工作量。那就太好了。请随时联系我,讨论如何为此做出贡献。让你的雇主购买一份支持合同!
幸运的是,我们已经有一些客户这样做了,所以我们中的一些人可以全职从事curl工作。
我是个务实的人(也有点愤世嫉俗),而且我已经在这条路上跳了很长时间的舞。我不抱任何幻想,认为即使我们处于前所未有的境地、比以往任何时候都更紧迫,情况会有多大改变。我完全预期我们将靠自己渡过这场风暴。就像我们习惯的那样。我们会存活下来。我们会坚持下去。这可能只是项目乃至整个世界上的一段动荡时期,因为我们正在摸索着前进。一场海啸正向我们袭来,我们所能做的就是游泳,没有救生艇为我们准备。
curl项目不属于任何公司。我们不属于任何伞式组织。这有时让我们力量单薄,但也给了我们最大的自由和灵活性。我们采取行动的唯一目的是让curl为世界和curl用户变得尽可能好。
## 好的一面
修复bug和问题总是好的。每一个被报告的问题都意味着一个已修复的缺陷。curl变成更好的产品。
另一个好趋势是:几乎没有人发现极其严重的漏洞。过去几年在curl中发现的所有漏洞,严重程度都被判定为LOW或MEDIUM。我不是说永远不会再有HIGH严重性的漏洞,但至少它们很罕见。最近一个严重性为HIGH的curl CVE发布于2023年10月。
目前我们承受着一些压力。如果我们有时响应稍慢,请见谅。
## 致谢
图片由Brian Merrill提供,来自Pixabay。
相似文章
压力
Daniel Stenberg 描述了由于大量可信的AI辅助安全报告给curl项目带来的前所未有的压力,这些报告使收到的报告数量翻了两番,工作量增加,同时指出发现的大多数漏洞严重程度为低或中。
人类掌控之中
curl项目负责人主张在软件开发中对AI采取平衡方法,强调人工代码审查和责任,同时承认AI工具可以辅助错误检测。
Mythos 发现 curl 漏洞
Daniel Stenberg 报告称,Anthropic 的 Mythos AI 模型在 curl 中发现了一个漏洞,突显了高级 AI 在安全审计中日益增长的作用,同时也指出了通过 Linux 基金会获取初始访问权限的障碍。
维护者的困境
一篇探讨开源维护者所面临挑战的博客文章,包括拉取请求积压、AI工具对代码审查的影响,以及在质量与倦怠之间取得平衡的困境。
他们终将逼迫你——开源维护者——喝下这杯汽油(接纳AI)
安全研究人员警告,一波AI生成的漏洞报告即将淹没开源维护者,迫使项目采用AI分类工具,否则将被低质量提交淹没。