互联网

GitHub 同日两项供应链安全更新:提交推送溯源 + Dependabot 匿名私有注册表

来源:GitHub    作者:GitHub      2026年10月13日 11:17

导语:GitHub 在同一天发布两项供应链安全更新。

摘要

GitHub 在同一天发布两项供应链安全更新。其一是提交推送溯源(Push attribution):GitHub 开始持久记录每次提交的实际推送者身份,并在界面与 API 中与 author、committer 并列展示;由于后两者只是客户端可任意填写的字符串,该功能用于堵住"冒用可信维护者身份伪造提交"的路径。其二是 Dependabot 的组织级私有注册表新增 Anonymous 认证方式,让组织在不填凭据的前提下让 Dependabot 访问内部镜像做依赖扫描。前者为限量公开预览,后者已在 github.com 正式可用。

正文(译文)

一、提交的推送溯源(限量公开预览)

GitHub 现在会持久记录推送每个提交的已认证用户,并把这一推送者身份与既有的 author 和 committer 字段一起,展示在界面与 API 中。

提交的 author 与 committer 字段只是推送客户端提供的字符串,任何对该仓库有写权限的人都可以把它们设成任意的姓名和邮箱。这使得攻破一个低权限账号的攻击者,能够伪造出看似来自可信维护者的提交,从而绕过评审策略、扰乱审计线索。

GitHub 本来就会对推送做身份认证。本次发布是在 author 与 committer 元数据之外,新增了持久的、按提交记录的推送者身份。

本次发布带来的变化:

  • 推送到仓库的每个提交,现在都附带一个持久的、经过认证的推送者身份,且独立于 author 与 committer 元数据所声称的内容。

  • 新增一项仓库规则条件"Committer must match pusher"(提交者必须与推送者匹配),当 committer 元数据与已认证推送者的任一已验证邮箱都不匹配时,阻断推送。这堵住了一条提交身份冒用的路径。

  • 你可以用推送者身份来抽查可疑活动,或加快安全调查,而不必依赖未经核实的元数据。之所以能这么做,是因为推送者身份现在在展示提交的各个位置都可见。

  • 若要对仓库施加更严格的身份要求,可在规则集中添加这条新的"Committer must match pusher"规则。

推送溯源目前以限量公开预览的形式面向 GitHub Enterprise 客户提供。如有意加入预览,请联系你的客户团队申请访问权限。

二、面向 Dependabot 的匿名组织级注册表

现在可以为组织级私有注册表选择 Anonymous(匿名)作为认证方式。

它适用于 Dependabot 无需凭据即可访问的注册表,例如允许匿名读取的内部软件包镜像。

在 github.com 上,Dependabot 的更新任务只能访问出网白名单上的主机,以及你所配置的私有注册表。仅定义在 .npmrc 或 nuget.config 这类文件中的私有注册表会被阻断。

组织级注册表适用于你授予访问权限的每一个仓库,包括那些只使用 Dependabot 安全更新、没有 dependabot.yml 文件的仓库。

要添加一个注册表,请进入组织的 Settings,选择 Secrets and variables,再选择 Private registries,然后选择 New private registry。

如果你此前用占位 token 作为变通方案,请删除该注册表,并以 Anonymous 认证方式重新添加。这一步是必需的,因为已有注册表的认证方式无法修改。

Anonymous 选项目前已在 github.com 正式可用,并将在 GitHub Enterprise Server 3.24 中提供。


(文章为作者独立观点,不代表艾瑞网立场)
  • 合作伙伴

  • 官方微信
    官方微信

    新浪微博
    邮件订阅
    第一时间获取最新行业数据、研究成果、产业报告、活动峰会等信息。
     关于艾瑞| 业务体系| 加入艾瑞| 服务声明| 信息反馈| 联系我们| 合作伙伴| 友情链接

Copyright© 沪公网安备 31010402000581号沪ICP备15021772号-10

扫一扫,或长按识别二维码

关注艾瑞网官方微信公众号