cURL漏洞报告泛滥:AI生成的垃圾报告压垮安全团队
cURL项目的安全团队正被大量低质量的漏洞报告淹没,其中大部分是由AI生成的“垃圾报告”。这些报告不仅浪费了团队的时间和精力(平均每个报告需要3-4人耗时30分钟到3小时),还严重降低了真实漏洞的发现效率。2025年至今,约20%的提交报告为AI生成的垃圾信息,有效漏洞报告比例大幅下降。团队正在考虑取消漏洞奖励计划,或采取其他措施来减少低质量报告的提交,以维护团队的健康和项目的安全性。
阅读更多
cURL项目的安全团队正被大量低质量的漏洞报告淹没,其中大部分是由AI生成的“垃圾报告”。这些报告不仅浪费了团队的时间和精力(平均每个报告需要3-4人耗时30分钟到3小时),还严重降低了真实漏洞的发现效率。2025年至今,约20%的提交报告为AI生成的垃圾信息,有效漏洞报告比例大幅下降。团队正在考虑取消漏洞奖励计划,或采取其他措施来减少低质量报告的提交,以维护团队的健康和项目的安全性。
阅读更多
Curl项目贡献者James Fuller发现了一个GitHub Diff查看器漏洞:恶意攻击者可以将ASCII字符替换为Unicode字符,在视觉上保持一致,但实际代码已更改。此漏洞可能导致URL被篡改等严重后果。虽然GitHub的Diff查看器没有对此进行警告,但Gitea等其他代码托管服务会发出警告。Curl项目已通过添加CI检查来检测此类恶意Unicode字符,并清理了项目中的UTF-8序列。这是一个警示,提醒我们需要重视代码安全,并积极主动地防御潜在的攻击。
阅读更多
为了防止Tor用户通过DNS泄露.onion域名,curl在两年前实现了RFC 7686,阻止解析.onion域名。但这导致Tor新工具oniux无法正常使用curl访问.onion网站。这引发了安全与实用性之间的矛盾:严格遵守RFC会影响用户体验,而放宽限制则可能增加安全风险。目前,curl团队正努力寻找解决方案,平衡安全性和用户需求。
阅读更多
curl 团队在处理URL主机名中的尾随点(.)时遇到了持续不断的麻烦。最初,curl忽略尾随点,但为了支持需要尾随点的网站,又将其保留。然而,这一更改意外地引入了两个安全漏洞(CVE-2022-27779和CVE-2022-30115),分别影响cookie处理和HSTS机制。这些漏洞源于对尾随点处理不当导致的域名匹配错误。curl 7.83.1修复了这些问题,但作者怀疑这可能只是漫长斗争的开始。
阅读更多
cURL项目团队分享了他们在使用C语言开发安全可靠的网络传输工具方面的经验。他们强调了测试的重要性,包括静态代码分析、模糊测试等。文章指出,约40%的安全漏洞源于C语言本身的内存安全问题,但通过严格的代码规范、风格检查、以及避免使用危险函数等措施,他们将漏洞数量控制在较低水平。cURL团队还制定了严格的代码规范,例如限制行长、缩短变量名、避免编译警告等,以提高代码可读性和可维护性。他们还注重错误处理、API稳定性和内存管理,确保软件的可靠性和安全性。
阅读更多
curl 实验性地支持了新的 DNS 记录类型 HTTPS RR,它提供了一种比 SRV 和 URI 更现代化的方式来传输服务元数据,例如 ECH 配置、ALPN 列表、目标主机名、端口和 IP 地址等。HTTPS RR 可以提升 HTTPS 连接的安全性(通过 ECH 加密 SNI 字段)和效率(通过提前获取 HTTP/3 支持信息),并简化服务发现。curl 通过 DoH、getaddrinfo() 或 c-ares 实现对 HTTPS RR 的解析,但目前尚不支持运行时禁用,并且对 HTTPS RR 的支持仍不完善。
阅读更多
curl.se 网站每月处理62.95TB流量,日均超过2TB,峰值达3.41TB。尽管没有详细日志,但数据显示124.3亿次请求中,仅112万次下载curl安装包(约占总流量的不到10%)。绝大部分流量(99.77%)由Fastly CDN缓存处理,但HTTP/1.1协议和TLS 1.2的广泛使用暗示大量非浏览器流量,可能来自机器人或其他工具。分析表明,2.07亿次100KB-1MB大小文件的下载(疑似CA证书)可能解释了大部分剩余流量。流量来源全球分布均匀,与以往集中在中国的情况不同。
阅读更多
从1998年curl支持SSL至今,默认证书验证已成为守护网络安全的基石。然而,多年来,开发者们仍然频繁禁用证书验证,导致安全漏洞频发。本文回顾了libcurl的演进历程,探讨了禁用证书验证的风险,以及如何通过改进API、加强文档和提交Bug报告等方式来提升网络安全。尽管挑战巨大,但守护网络安全,任重道远。
阅读更多
OpenSSL,最流行的TLS库,拒绝在其即将发布的版本中提供QUIC API,这使得HTTP/3的广泛采用面临挑战。尽管此前有项目提交了包含QUIC API的代码(PR8797),但OpenSSL委员会决定自行构建完整的QUIC协议栈,这将耗费数年时间。此举引发了社区的广泛不满,因为已经有成熟的QUIC库可用。为了解决这个问题,微软和Akamai创建了quictls,一个包含QUIC API的OpenSSL分支。然而,这并非长久之计,OpenSSL的决定对HTTP/3的普及造成了不确定性。
阅读更多
curl 8.12.0版本即将推出一个令人兴奋的新功能:支持读取部分文件。用户现在可以使用新的变量系统,从文件中提取特定字节范围,并将其用于curl命令行中。这使得curl在处理文件时更加灵活,例如,可以提取文件的开头部分作为用户名,或提取中间部分作为POST请求的正文。此功能极大地扩展了curl的应用场景,为用户提供了更强大的命令行工具。
阅读更多
经过四年的尝试,cURL项目宣布放弃使用Rust编写的Hyper库作为HTTP后端。尽管Hyper在内存安全方面具有优势,并获得了Let's Encrypt的支持,但由于缺乏用户需求和开发者参与,最终该项目被终止。cURL团队表示,维持Hyper代码的成本过高,并决定专注于现有代码的优化和维护。虽然实验失败,但cURL从中吸取了经验,并提升了自身HTTP处理能力。
阅读更多
HTTP/3 规范已完成,但正式发布仍需等待。目前服务器端支持率出乎意料地高,尤其是在顶级网站中。Cloudflare等大公司已启用HTTP/3,浏览器也普遍支持。然而,curl等客户端软件的HTTP/3支持仍不完善,主要受限于QUIC支持的TLS库发展滞后。OpenSSL的QUIC支持被推迟,而其他选择如BoringSSL和quictls则存在各自的局限性。虽然HTTP/3有望提升速度,但实际效果取决于网络环境。未来HTTP/3的广泛采用,仍依赖于规范发布和TLS库的成熟。
阅读更多
本文解释了作者Daniel Stenberg为何不断收到关于Cisco AnyConnect VPN客户端问题的邮件。由于libcurl库被AnyConnect使用,而作者是libcurl的首席开发者,其联系方式出现在软件中,导致很多用户误以为他是AnyConnect的支持人员。作者澄清他与Cisco和AnyConnect无关,并提供了AnyConnect的正确支持邮箱地址[email protected]。
阅读更多
本文回顾了libcurl 18年来保持ABI稳定性的历程。2006年,curl 7.16.0版本因移除FTP第三方传输功能导致SONAME变更,引发用户强烈反响。作者Daniel Stenberg因此决定将ABI兼容性置于首位,确保用户可以无风险升级到最新版本。文章还探讨了维护ABI稳定性带来的挑战,例如需要持续支持旧功能和代码,以及处理用户对早期版本变更的反馈。即便如此,作者仍坚持认为ABI稳定性对libcurl至关重要,并计划继续保持下去。
阅读更多
本文描述了作者在使用 clang 18 中的 UndefinedBehaviorSanitizer 时遇到的问题。由于 UndefinedBehaviorSanitizer 对函数指针原型检查过于严格,导致 curl 库在使用回调函数时出现了误报。作者最终选择将 CURL 类型的定义回退到 typedef void CURL; 以解决这个问题。
阅读更多
本文介绍了 Daniel Stenberg 在 FOSDEM 2024 上发表的演讲“FOSDEM 2024: 你也可以创建 curl”。演讲中,他分享了自己在演讲开始前遇到投影仪故障的经历,以及如何克服困难最终完成演讲。文章还提供了演讲的视频链接。
阅读更多
知名开源网络传输库 cURL 的作者 Daniel Stenberg 在其博客中分享了一项数据分析结果:在 Steam 平台收录的 91,559 款游戏中,有 22,734 款使用了 cURL,占比高达 24.8%。这一数字表明,cURL 在游戏开发领域得到了广泛应用。
阅读更多
本文解释了为什么 curl 项目在 GitHub 上关闭 PR 而不是合并它们。作者认为 GitHub 的 UI 存在缺陷,无法评论 PR 中的提交信息,导致难以保证提交信息的质量。为了确保提交信息风格统一且历史记录清晰,curl 项目选择手动合并 PR,并在提交信息中使用 “Fixes” 和 “Closes” 指令来关闭对应的 issue 和 PR。文章还批评了 GitHub 不支持手动合并后标记 PR 为已合并的问题,并建议 GitHub 添加类似 “Merged” 的关键字来解决这个问题。
阅读更多
本文阐述了curl项目的BDFL(仁慈的终身独裁者)Daniel Stenberg的十项指导原则,包括对贡献者友好开放、提供高质量产品、保持开源领导地位、注重安全、提供优质文档、保持独立性、及时响应、与时俱进、提供前沿协议支持以及尊重社区反馈。这些原则旨在确保curl项目持续发展,并为用户提供最佳体验。
阅读更多