庆祝我们2023年的开源贡献 - The Trail of Bits博客
在Trail of Bits,我们以将最佳工具开源而自豪,例如Slither、PolyTracker和RPC Investigator。虽然这篇文章是关于开源的,但它不仅仅是关于我们的工具……
2023年,我们的员工提交了超过450个拉取请求(PR),这些请求被合并到非Trail of Bits的代码库中。这展示了我们致力于保护整个软件生态系统以及为每个人提高软件质量的承诺。本文末尾列出了代表性的贡献列表,但以下是一些亮点:
Sigstore-conformance是我们开源工程中Sigstore计划的关键组成部分,作为各种Sigstore客户端实现的集成测试套件。它确保符合Sigstore客户端测试套件,严格评估整体客户端行为,处理关键场景,并与建立官方Sigstore客户端规范的努力保持一致。这个以工作流程为重点的测试套件可以无缝集成到工作流程中,配置最少,为Sigstore客户端提供全面的测试。
Protobuf-specs是我们开源工程中的另一项举措。它是一个协作存储库,用于跨各种Sigstore客户端的标准化数据模型和协议,并包含Sigstore消息的规范。要更新protobuf定义,请使用Docker通过运行$ make all
生成protobuf存根,结果会在gen/
目录下生成Go和Python文件。
pyOpenSSL是集成OpenSSL功能的主要Python库。在过去大约九个月中,我们作为与STF合同的一部分,积极参与了pyOpenSSL的清理和维护任务。pyOpenSSL是OpenSSL库子集的一个薄包装层,其中许多对象方法只是调用OpenSSL库中的相应函数。
Homebrew-core是默认Homebrew tap的中心存储库,包含一系列软件包和相关公式,用于无缝安装。一旦在Mac或Linux系统上配置了Homebrew,您就能够执行“brew install”命令来安装此存储库中的软件。应用安全工程师Emilio Lopez通过提交多个拉取请求并引入新公式或更新现有公式,积极为此存储库做出贡献。Emilio主要专注于ToB开发的工具,如crytic-compile、solc-select、Caracal等。因此,人们可以通过简单的“brew install”命令轻松安装这些工具,简化了安装过程。
Ghidra是美国国家安全局研究理事会的创作,是一个强大的软件逆向工程(SRE)框架。它提供高级工具,用于在Windows、macOS和Linux上进行代码分析,包括反汇编、反编译和脚本编写。支持各种处理器指令集,Ghidra作为一个可定制的SRE研究平台,有助于分析恶意代码以用于网络安全目的。我们修复了许多错误以增强其功能,特别是支持我们在DARPA的AMP(保证微修补)计划上的工作。
我们想承认,提交PR只是开源体验的一小部分。必须有人审查PR。PR合并后必须有人维护代码。早期PR的提交者必须编写测试以确保其代码功能的保留。
我们为这些项目做出贡献,部分是因为我们热爱这门手艺,但也因为我们发现这些项目有用。为此,我们向开源社区表示最诚挚的感谢,并祝愿大家2024年快乐、安全且富有成效!
Trail of Bits 2023年的一些开源贡献
AI/ML
-
仓库: run-llama/llama_index
名称: llms/openai: 修复Azure OpenAI流式处理
#7677 ret2libc: https://github.com/run-llama/llama_index/pull/7677 -
仓库: run-llama/llama_index
名称: llms/openai: 通过考虑prompt_filter_results字段修复Azure OpenAI
#7755 ret2libc: https://github.com/run-llama/llama_index/pull/7755
密码学
-
仓库: 0xPARC/zk-bug-tracker
名称: 更新了算术溢出部分的缓解措施
#10 fegge: https://github.com/0xPARC/zk-bug-tracker/pull/10 -
仓库: mlswg/mls-architecture
名称: 更改rathr -> rather
#203 tjade273: https://github.com/mlswg/mls-architecture/pull/203 -
仓库: yi-sun/circom-pairing
名称: 使所有测试通过
#23 tjade273: https://github.com/yi-sun/circom-pairing/pull/23 -
仓库: yi-sun/circom-pairing
名称: 修复计算(P – P) – P时的椭圆曲线加法公式
#22 tjade273: https://github.com/yi-sun/circom-pairing/pull/22 -
仓库: pyca/cryptography
名称: rust: 为X.509路径验证添加crate骨架
#8873 woodruffw: https://github.com/pyca/cryptography/pull/8873
(此处省略了大量密码学相关的PR列表以保持简洁)
语言和编译器
-
仓库: rust-lang/rust
名称: 修复universal_regions.rs注释中的拼写错误
#107195 smoelius: https://github.com/rust-lang/rust/pull/107195 -
仓库: rust-lang/rust
名称: 文档: 明确释放堆分配的内存
#117563 0xalpharush: https://github.com/rust-lang/rust/pull/117563 -
仓库: llvm/llvm-project
名称: [NFC] 移除过时的注释
#72591 AdvenamTacet: https://github.com/llvm/llvm-project/pull/72591
库
-
仓库: console-rs/indicatif
名称: 修复尝试减去溢出的问题 (#582)
#586 smoelius: https://github.com/console-rs/indicatif/pull/586 -
仓库: dtolnay/syn
名称: 限定compile_error!
#1431 smoelius: https://github.com/dtolnay/syn/pull/1431
技术基础设施
-
仓库: wasmerio/wasmer
名称: 修复: 通过为联合体派生repr C来防止潜在UB
#4296 0xalpharush: https://github.com/wasmerio/wasmer/pull/4296 -
仓库: rust-or/good_lp
名称: 依赖: 修复最小fnv版本
#24 0xalpharush: https://github.com/rust-or/good_lp/pull/24
软件分析工具
-
仓库: langston-barrett/tree-crasher
名称: 功能: 为solidity添加tree-crasher实现
#26 0xalpharush: https://github.com/langston-barrett/tree-crasher/pull/26 -
仓库: assert-rs/assert_cmd
名称: 写入Bstrs时恢复换行符
#161 smoelius: https://github.com/assert-rs/assert_cmd/pull/161
区块链软件
-
仓库: ethereum/hevm
名称: 将nixpkgs升级到GHC 9.4
#303 arcz: https://github.com/ethereum/hevm/pull/303 -
仓库: ethereum/hevm
名称: 准备0.51.2版本发布
#305 arcz: https://github.com/ethereum/hevm/pull/305
逆向工程工具
-
仓库: NationalSecurityAgency/ghidra
名称: 修复: PPC VLE的e_stmvsprw中的sleigh不正确
#4886 Ninja3047: https://github.com/NationalSecurityAgency/ghidra/pull/4886 -
仓库: NationalSecurityAgency/ghidra
名称: 修复: 也为VLE解码eieio (mbar 0)
#4887 Ninja3047: https://github.com/NationalSecurityAgency/ghidra/pull/4887
打包生态系统/供应链
-
仓库: pypi/warehouse
名称: 从新IP地址登录、创建API令牌时发送电子邮件
#13869 tnytown: https://github.com/pypi/warehouse/pull/13869 -
仓库: pypi/warehouse
名称: 向OIDCPublisher条件中添加OIDC声明
#13668 tnytown: https://github.com/pypi/warehouse/pull/13668
(此处省略了大量其他领域的PR列表以保持简洁)
如果您喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News