FlatBuffers 如何下载预编译二进制并用 SLSA attestation 验证?
【免费下载链接】flatbuffersFlatBuffers: Memory Efficient Serialization Library项目地址: https://gitcode.com/GitHub_Trending/fl/flatbuffers
如果你不想从源码编译 FlatBuffers,想直接拿一份官方发布的预编译二进制来用,同时又想确认这份二进制确实是 FlatBuffers 官方 CI 构建出来的,可以按 FlatBuffers 文档提供的流程操作:从 GitHub release 页下载二进制 zip 和对应的attestation.intoto.jsonl文件,再用 OpenSSF 的slsa-verifier工具校验 SLSA 来源证明。验证通过后,命令会输出PASSED: Verified SLSA provenance(文档示例),说明该二进制的来源(provenance)通过了 SLSA 校验。
该流程来自 构建文档 的 “Downloading binaries” 一节,适用于任意有 release 产物的平台;验证工具需要单独安装。
下载二进制和 attestation 文件
- 打开 flatbuffers 项目的 GitHub release 页,选择你要使用的 release(版本标签)。
- 从该 release 下载对应平台的二进制 zip 包,记为稍后命令中的
<downloaded.zip>。 - 从同一个release 下载名为
attestation.intoto.jsonl的文件,与二进制 zip 放在方便访问的同一目录下。
版本标签说明:FlatBuffers 不遵循传统 SemVer 版本管理,而是以发布日期的形式命名版本(见 README),所以<version>填的就是 release 页上那个日期格式的版本标签,必须与你下载的 zip 所属 release 一致。
安装 slsa-verifier 验证工具
FlatBuffers 的 SLSA3 签名由 OpenSSF 的slsa-framework/slsa-github-generator在 CI 中生成,校验用的工具是slsa-framework/slsa-verifier项目提供的slsa-verifier命令行程序。安装方式按 slsa-verifier 项目仓库的 “#installation” 一节执行(该工具是独立项目,安装步骤以它的仓库文档为准)。
运行验证命令
在能访问二进制 zip 和attestation.intoto.jsonl的目录下运行:
slsa-verifier -artifact-path <downloaded.zip> -provenance attestation.intoto.jsonl -source github.com/google/flatbuffers -tag <version>命令中各参数的对应关系:
-artifact-path <downloaded.zip>:替换为第 1 步实际下载的 zip 文件路径;-provenance attestation.intoto.jsonl:第 1 步下载的 attestation 文件名;-source github.com/google/flatbuffers:固定的来源仓库标识,按文档原样填写;-tag <version>:替换为 release 页上的版本标签(日期格式)。
判断验证结果
文档给出的示例输出为:
$ slsa-verifier -artifact-path <downloaded.zip> -provenance attestation.intoto.jsonl -source github.com/google/flatbuffers -tag <version> PASSED: Verified SLSA provenance以上为文档示例。看到PASSED: Verified SLSA provenance表示该二进制的 SLSA 来源证明验证通过。文档没有列出更多失败输出的判断规则,验证未通过时请先核对<downloaded.zip>、attestation 文件与-tag三者是否来自同一 release。
验证通过之后
二进制可用之后即可进入 FlatBuffers 的正常开发流程:定义.fbsschema、用flatc生成各语言的代码、序列化并读取数据,完整步骤见 快速上手 和 构建文档(后者还给出了用 CMake 从源码构建编译器的方法,可作为获取不到合适 release 时的替代路径)。
【免费下载链接】flatbuffersFlatBuffers: Memory Efficient Serialization Library项目地址: https://gitcode.com/GitHub_Trending/fl/flatbuffers
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考