开源贡献再创新高:Trail of Bits的2022技术回顾
去年此时,我们曾撰文介绍2021年Trail of Bits向非自有代码库提交的190多个合并请求。2022年,我们延续这一趋势,成功将超过400个拉取请求合并到非Trail of Bits维护的代码库中!
为何这项数据具有重要意义?
虽然我们为自己开发的工具感到自豪,但我们也认识到:许多由外部维护的工具同样使我们受益匪浅。当这些工具无法按预期工作时,我们会尝试修复它;当工具功能未能满足设计初衷时,我们会尝试改进它。简而言之,我们努力回馈给予我们如此多支持的社区。
以下是本博文末尾PR列表中的部分亮点:
核心工具链增强
Clippy
作为包含550余条lint规则的Rust代码检查工具,我们新增了crate_in_macro_def
和unnecessary_find_map
lint规则,并对empty_line_after_outer_attribute
、expect_used/unwrap_used
、extra_unused_lifetimes
等规则进行了改进和错误修复。
HEVM
针对具备符号执行能力的以太坊虚拟机实现,我们简化了其对SMT求解器的使用,提升了性能,修复了内存泄漏问题,并增加了测试用例。
基础设施与安全加固
Envoy
在高性能开源边缘服务代理中,我们为HTTP/1和HTTP/2实现了统一头部验证(UHV)组件的初始版本。通过整合现有验证逻辑,评估RFC合规性,并修补实现缺口,确保默认配置严格遵循RFC标准。新组件为所有HTTP请求/响应验证提供单一入口点,极大提升了代码库的可维护性、可审计性和安全性。
密码学工具
- pyca/cryptography:增强了对证书透明度的支持并实施多项可用性改进
- Vcpkg:修复了C/C++包管理器本体漏洞,优化了flatbuffers、grpc、llvm等20余个核心包
软件供应链安全
Warehouse(PyPI底层系统)
我们实现了多项功能改进和安全修复:
- 支持API令牌过期机制
- 支持OIDC无凭证包上传
- 重构核心权限内部结构
- 增强PyPI漏洞反馈机制
- 改进用户错误消息提示
高质量软件的诞生哲学
下述项目代表了最高质量的软件水准。这种水准的软件不仅来自PR合并和新版本发布,更源于精心规划、功能优先级排序、对相关项目的深度理解,以及项目在更大软件生态中角色的准确把握。我们感谢这些项目的维护者,既为公众可见的工作,也为无数不为人知的付出。
祝愿大家拥有一个快乐、安全且同样高效的2023!
Trail of Bits 2022开源贡献精选
密码学领域
- arkworks-rs/algebra:修复稠密多项式在小于次数的域上的求值问题 #521
- pyca/cryptography:5项X.509证书透明度扩展改进 (#7207-#7878)
- pyca/pyopenssl:优化X509StoreContextError消息可读性 #1133
技术基础设施
- curl/curl:在调试版本中允许非HTTPS的HSTS匹配 #9728
- Homebrew/homebrew-core:新增solc-select、crytic-compile等8个安全分析工具公式
- llvm/llvm-project:实现ASan双端容器API和对象内存标注API
软件测试工具
- AFLplusplus/LibAFL:增加Windows平台崩溃处理机制 (#912)和ASAN示例 (#934)
- rust-lang/rust-clippy:实施23项lint规则优化,包括:
- 修复
unnecessary_to_owned
误报 (#8509,#9796) - 新增
crate_in_macro_def
宏定义检查 (#8576) - 增强
needless_borrow
trait实现检查 (#9136)
- 修复
区块链软件
- coral-xyz/anchor:添加鉴别符长度检查 #1678
- ethereum/hevm:完成5项性能优化和代码简化 (#34-#88)
- OpenZeppelin/openzeppelin-contracts:修复GovernorCompatibilityBravo合约拼写错误 #3738
如果您喜欢本文,请通过以下平台分享:Twitter | LinkedIn | GitHub | Mastodon | Hacker News