linked artifacts page 提供了一个统一视图,用于查看组织使用 GitHub Actions 构建的软件项目,例如容器映像、软件包或生产代码的构建版本。
该页显示如何生成项目、在其中存储或运行项目,以及与项目关联的符合性和安全性元数据。
组织中的团队可以使用linked artifacts page来:
- 根据 GitHub Advanced Security 功能检测到的漏洞是否在生产环境中运行或是否暴露于 Internet,对警报进行优先级排序
- 快速将项目关联到构建详细信息、存储位置以及负责团队
- 通过导出工件来源和完整性的可审核证明来满足合规性要求
哪些项目会显示在 linked artifacts page 中?
linked artifacts page 对于每个组织都是独一无二的。 它包含在你组织的存储库中使用 GitHub Actions 构建的项目的元数据。 它不会显示你的组织从其他来源使用的项目,例如开源依赖项。
项目记录由你的组织通过公共 API 或与外部注册表的集成进行上传。 linked artifacts page 本身并不存储项目文件。 它只是为与每个工件关联的元数据提供权威信息来源。
由于制品不需要存储在 GitHub 上即可显示在 linked artifacts page 中,您可以将 linked artifacts page 与您首选的软件包注册表一起使用,例如 JFrog Artifactory 或 GitHub Packages。
包括哪些元数据?
linked artifacts page 汇总了两种不同类型的记录数据:存储记录和部署记录。 这些记录是使用不同的 API 终结点或集成上传的。
存储记录
存储记录包括包含项目的源代码的存储库、存储项目的注册表,以及证明项目完整性和来源的任何证明。 你可以使用这些数据快速找到某个项目的负责团队和构建详细信息。

_项目存储库_不是必需的。 它指的是某些外部包注册表中存储库的概念:可以对多个包进行分组的位置。 相比之下,_源存储库_指的是构建工件的 GitHub 存储库。 源存储库是必需的,如果构件具有生成溯源声明,则会自动检测。
有关证明和 SLSA 级别的详细信息,请参阅 构件认证。
部署记录
部署记录包括部署项目的环境,以及与项目关联的任何运行时风险(例如“敏感数据”或“Internet 公开”)。 可以使用此数据根据对组织和使用者构成的威胁级别筛选安全警报。

注意
部署记录不包括 存储库的部署仪表板中的部署活动,因为这些活动来源不同。 请参阅“查看仓库的部署活动”。
linked artifacts page 如何融入我的流程?
此示例工作流展示了linked artifacts page 如何与其他 GitHub 功能和外部系统集成。
-
开发人员将代码提交到 GitHub 存储库,其中定义了软件包的代码。
-
仓库中的 GitHub Actions 工作流会自动执行:
- 构建软件包。
- 将软件包推送到你选择的注册表,例如 GitHub Packages 或 JFrog Artifactory。
- 创建加密签名的证明证明,将包链接到用于生成包的存储库、提交和工作流。
- 将包部署到过渡或生产环境。 你的部署系统可以设置门控机制,以确保只有经过证明的项目才能部署到生产环境,例如使用 Kubernetes 准入控制器。
-
包的元数据(例如其链接的存储库、认证以及部署历史记录)将被上传到 数据变量.product.virtual_registry %}。
-
借助 linked artifacts page 中的数据,安全负责人可以对代码扫描和 Dependabot 警报进行分流处理,并创建活动以解决影响生产环境或具有特定运行时风险的警报。
-
如果需要审核,合规性团队的成员将从单个源导出所有组织链接项目的 SBOM、来源详细信息和部署记录。
后续步骤
若要将记录添加到组织的 linked artifacts page,请参阅 将存储和部署数据上传到 linked artifacts page。
若要查看你组织的 linked artifacts page,请参阅 审核组织在 linked artifacts page 上的构建。