Skip to main content

GitHub 机密扫描合作伙伴计划协议

生效日期: 2026 年 3 月 17 日

1. 定义。

“关联公司” 是指就一方而言,直接或间接控制该方、被该方控制或与该方共同控制的任何实体,其中“控制”是指持有 50% 以上的有表决权证券或同等所有权利益。

“检测到的凭据” 是指 GitHub 机密扫描功能在 GitHub 平台上托管的内容中识别出的、与合作伙伴服务相关模式相匹配的令牌、密钥、密码或其他身份验证凭据。

“检测通知” 是指 GitHub 将匹配数据传输到合作伙伴端点的事件。 每个检测通知均包含该事件所传输的匹配数据。 本协议下适用于匹配数据的义务,也适用于通过检测通知接收到的匹配数据。

“反馈数据” 是指与本计划相关的,合作伙伴向 GitHub 提供的或使其可获取的任何信息,包括:(a) 将每个检测到的凭据分类为真正、假正或不确定;(b) 合作伙伴针对检测通知采取的补救措施,包括撤销、轮换、隔离或终端用户通知;(c) GitHub 传输检测通知和合作伙伴完成补救之间的响应时间指标;和 (d) 仅限于合作伙伴对于本计划经验水平的整体性能反馈。

“GitHub 商标” 是指由 GitHub, Inc. 或其关联公司拥有或控制的商标、服务商标、商号、徽标和其他品牌标识。

“GitHub 元数据” 是指匹配数据中包含的 URL、源和类型字段。

“匹配数据” 是指当 GitHub 识别出某项检测到的凭据时,GitHub 向合作伙伴端点传输的数据要素,包括:(a) 检测到的凭据值;(b) 凭据类型标识符;(c) 发现该检测到的凭据的 URL(可能为空);和 (d) 计划文档中所述的源类型。

“Microsoft NDA” 是指合作伙伴与 Microsoft Corporation 或其关联公司之间生效的不公开协议。

“接入材料” 是指合作伙伴为了能参与本计划而向 GitHub 提供的测试账户凭据、合作伙伴端点 URL 以及其他配置数据。 接入材料不属于令牌模式。

“合作伙伴” 是指接受本协议的实体或个人。

“合作伙伴端点” 是指合作伙伴指定的、可通过互联网公开访问的、用于接收 GitHub 匹配数据的端点。

“计划” 是指 GitHub 机密扫描合作伙伴计划。

“计划文档” 是指 GitHub 已发布的本计划相关文档,当前可通过访问 https://docs.github.com/code-security/secret-scanning/secret-scanning-partner-program 获取,GitHub 可对其进行更新。

“令牌模式” 是指合作伙伴为用于本计划而向 GitHub 提供的技术规范,包括:(a) 每种凭据类型对应的唯一且人工可读的名称;(b) 用于识别凭据类型的正则表达式和多部分关联规则;(c) 后处理逻辑、排除模式、验证端点及格式文档;和 (d) 合作伙伴就本计划的模式匹配功能向 GitHub 提供的任何其他技术信息。

“检测样本” 是指合作伙伴为搭建、测试和验证令牌模式而向 GitHub 提供的测试材料,包括 (a) 已撤销、过期或其他无效凭据;(b) 合作伙伴为测试目的生成的凭据;和 (c) 合作伙伴随该等凭据提供的任何配套文档或元数据。 GitHub 可以在本计划存续期间以及终止后 12 个月内,为存档和回归测试目的保留检测样本。

2. 许可

2.1 所有权

在双方之间,合作伙伴保留对令牌模式的所有权利、所有权和权益。

2.2 令牌模式许可

(a) 授予。 合作伙伴向 GitHub 授予非排他性、永久、不可撤销、全球范围、免版税的许可,允许其为与安全扫描、密钥检测或凭据保护相关的任何目的,使用、复制、修改、创作衍生作品以及分发令牌模式,无论该等使用是在本计划内还是在 GitHub 其他产品和服务中。 GitHub 可能仅向 GitHub 的关联公司和代表 GitHub 的服务提供商分许可上述权利,前提是每个分许可方均受保密义务及使用限制约束,并且该等保护程度不低于本协议下的相关约定。

(b) 开源分发。 GitHub 可根据 MIT 许可证或开源促进会批准的任何其他开源许可,公开分发包含令牌模式的软件。 合作伙伴确认,纳入该软件的令牌模式一旦根据开源许可分发,即受该许可条款约束,且不可撤回或撤销。

(c) 效力存续。 本第 2.2 条中授予的许可,在本协议因任何原因到期或终止后仍然有效。

2.3 接入材料许可

合作伙伴授予 GitHub 非排他性、全球范围、免版税的许可,仅为启用和运营计划的目的,使用、复制和显示接入材料。 该许可在本协议到期或终止 30 天后终止。 在这 30 天内,GitHub 应使用商业上合理的努力停止主动使用接入材料,但不需要清除在备份、缓存或存档记录中保留的附带副本。

2.4 反馈数据许可

合作伙伴授予 GitHub 非排他性、永久、不可撤销、全球范围、免版税、完全可再授权的许可证,为与开发、运营和完善 GitHub 产品及服务相关的任何目的,使用、复制、修改、聚合、分析和创作反馈数据的衍生作品。 即使本协议到期或终止,该许可仍然有效。

2.5 检测样本许可

合作伙伴授予 GitHub 非排他性、全球范围、免版税的许可,仅可在本协议有效期内及终止后的 12 个月内,为搭建、测试和验证令牌模式的目的,使用和复制检测样本。

2.6 合作伙伴声明

合作伙伴声明并保证:

(a) 合作伙伴拥有令牌模式或已就其获得充分权利,足以授予本第 2 节下的许可;

(b) 在合作伙伴知情范围内,令牌模式并未侵犯任何第三方知识产权;且

(c) 合作伙伴有权在未经任何第三方同意的情况下授予本第 2 节中的许可。

2.7 不可撤销

第 2.2 节和第 2.4 条中授予的许可不可撤销,并且不因任何原因被撤销,包括本协议终止或 GitHub 的任何违约行为。 合作伙伴对 GitHub 违反本协议的补救措施仅限于第 13、15 和 16 节中所述的补救措施。

3. 合作伙伴端点的运营要求

3.1 合作伙伴端点性能

合作伙伴应确保合作伙伴端点:

(a) 在接收匹配数据传输后的 15 秒内返回 HTTP 2xx 状态码,以确认接收;

(b) 在未达到计划文档中规定的流量阈值前,不得限流或拒绝 GitHub 的网络回调流量;

(c) 使用商业上合理的努力维护合作伙伴端点的高度可用性;

(d) 对所有匹配数据传输采用传输层加密(TLS 1.2 或更高版本);

(e) 不得相对于其他同等流量的入站流量,对 GitHub 的网络回调流量进行限制、屏蔽或降低优先级;且

(f) 应按照计划文档中的说明,使用 ECDSA-NIST-P256V1-SHA256 算法,对每个入站请求的 GitHub-Public-Key-Identifier 和 GitHub-Public-Key-Signature 报头进行验证。

如果合作伙伴端点在一个自然月内累计 5 天或以上未满足 (a) 条要求,GitHub 应向合作伙伴发出通知,并且合作伙伴应在 15 日内进行补救。 如果合作伙伴无法完成补救,GitHub 可能会暂停匹配数据传输,直到合作伙伴证明其已符合要求。

合作伙伴应对合作伙伴端点采取合理的安全措施,包括访问控制和传输加密。

3.2 端点附加安全要求

如果合作伙伴为凭据验证、撤销或扩充提供端点,合作伙伴应:

(a) 对指向此类端点的所有要求,均要求使用计划文档中规定的凭据或证书进行身份验证;

(b) 使用 TLS 1.2 或更高版本加密传输中的所有数据;

(c) 实施访问控制,仅允许经授权的 GitHub 系统使用此类端点;且

(d) 如果合作伙伴意识到存在对此类端点的任何未经授权的访问或泄露,应立即通知 GitHub。

GitHub 从此类端点接收的数据,应受本协议下适用于匹配数据的相同目的限制、保密义务和使用限制约束。 GitHub 不应将此类数据用于第 2.4 条和第 4 节规定以外的目的。

4. 匹配数据的用途限制

4.1 合作伙伴应仅出于以下目的使用匹配数据:

(a) 验证检测到的凭据是否为合作伙伴平台上的有效凭据;

(b) 撤销或隔离检测到的凭据;和

(c) 通知合作伙伴平台上受影响的用户或帐户持有者。

4.2 合作伙伴不得将匹配数据用于任何其他目的,包括:

(a) 营销或广告;

(b) 竞争情报;

(c) 用户分析;

(d) 使用匹配数据推断或分析 GitHub 用户、存储库群体或生态系统特征的行为模式;或

(e) 搭建使用合作伙伴服务的 GitHub 用户数据库。

4.3 私有存储库数据

如果匹配数据源自私有存储库,合作伙伴确认该等数据可能需要遵守其他法律要求,包括 GitHub 与存储库所有者之间的数据保护协议。 合作伙伴应对私有存储库匹配数据提供同等或不低于本协议下对公共存储库匹配数据的保护措施。

5. 安全性

5.1 合作伙伴应维护合作伙伴端点的合理安全措施。

5.2 GitHub 应保持商业上合理的安全措施,防止令牌模式被未经授权的披露。 该义务不适用于 GitHub 在第 2.2(b) 条下分发的令牌模式,也不适用于其他公开发布的令牌模式。

6. 匹配数据的保密性

6.1 合作伙伴应将匹配数据视为机密信息。 合作伙伴在本第 6 节下的义务,是对合作伙伴根据 Microsoft NDA(定义见第 1 节)或合作伙伴与 Microsoft Corporation 或其关联公司之间任何后续保密协议所承担义务的补充,而非替代。 如果本第 6 节与该等保密协议在匹配数据处理方面存在冲突,以更严格的义务为准。

6.2 合作伙伴确认,GitHub 元数据可能会披露 GitHub 用户名、存储库名称和文件路径,以及聚合后的匹配数据(无论基于多次传输、多个用户或多个时间段进行整合)可能会反映出有关 GitHub 用户的行为模式。 合作伙伴在根据本协议实施其安全和访问控制措施时,应考虑这些风险。

6.3 合作伙伴不得为识别存储库结构、文件路径、密钥使用趋势或提交级活动的目的,分析或处理匹配数据。

6.4 违规通知

合作伙伴在知悉匹配数据发生任何未经授权的访问、泄露或丢失时,应立刻通知 GitHub,且无论如何不得超过 72 小时。 该通知应当包括:(a) 事件性质;(b) 受影响的匹配数据的类别及大致数量;(c) 已采取措施或拟采取的缓解措施。

7. 数据保留和删除

7.1 合作伙伴应在完成有效性检查以及第 4 节采取相关撤销或通知措施后 30 日内,删除 GitHub 元数据。

7.2 第 7.1 条不适用于检测到的凭据值,包括多部分凭据的所有组成部分。 这些值是合作伙伴的自有客户凭据,其保留期限受合作伙伴自身数据保留政策约束。

8. 禁止后续共享

8.1 合作伙伴不得向包括合作伙伴的关联公司、供应商或分包商在内的任何第三方披露、转发或提供匹配数据。

8.2 如果适用法律有要求,且合作伙伴满足以下条件,则第 8.1 条不禁止其披露匹配数据:

(a) 在法律允许的范围内,于该等强制披露前事先通知 GitHub;且

(b) 只披露法律要求的最低信息。

9. GitHub 知识产权和商标

9.1 所有权

合作伙伴确认,GitHub 对 GitHub 商标以及 GitHub 拥有或控制的所有其他知识产权保留所有权利、所有权和权益。 本协议中的任何内容均不将 GitHub 知识产权中的任何所有权权益转让或让与合作伙伴。

9.2 GitHub 商标的有限使用

合作伙伴可仅为以下目的,以名称提及该项目(例如“GitHub 机密扫描合作伙伴”):

(a) 在合作伙伴网站、博客或营销材料上表明参与本计划;且

(b) 将合作伙伴的用户引导至 GitHub 上关于该计划的官方文档。

9.3 GitHub 商标的使用限制

合作伙伴不得:

(a) 将任何 GitHub 商标用作合作伙伴自己的产品名称、服务名称、域名或社交媒体账号的一部分;

(b) 对任何 GitHub 商标进行更改、动态处理、歪曲或其他形式的修改;

(c) 在没有 GitHub 事先书面同意的情况下,将任何 GitHub 商标与合作伙伴自己的商标或标识结合,致使产生联合品牌、GitHub 背书或赞助的暗示;

(d) 以任何方式使用 GitHub 商标、暗示 GitHub 对合作伙伴的产品或服务予以认可、认证或担保;或

(e) 注册或尝试注册任何与 GitHub 商标混淆的近似商标、域名或社交媒体账号。

9.4 品牌使用规范

合作伙伴对 GitHub 商标的使用,必须遵守 GitHub 届时有效的商标和标识使用规范,该规范发布于:https://brand.github.com/guides/getting-started

9.5 无默示权利

除第 9.2 条中的有限引用权外,本协议未向合作伙伴授予任何使用 GitHub 商标的许可或权利。 合作伙伴授权使用 GitHub 商标所产生的所有商誉仅归 GitHub 所有。

9.6 凭据类型的公开披露

合作伙伴确认,GitHub 可在 GitHub 文档、仪表板或计划材料中公开披露合作伙伴支持的凭据类型。

10. 遵守适用的法律

10.1 合作伙伴参与本计划应遵守所有适用法律,包括有关凭据数据处理、违规通知和数据保护的任何法律。

10.2 各方应遵守与本计划有关的适用出口控制和制裁法律。

11. 反馈机制

11.1 合作伙伴可自行决定向 GitHub 提供反馈数据。

11.2 GitHub 就反馈数据所享有的权利详见第 2.4 条。 GitHub 使用该反馈数据,无需向合作伙伴支付额外报酬或承担其他义务。

12. 修改

12.1 计划文档的纳入

计划文档是本协议的一部分。 如果本协议的正文与计划文档之间存在冲突,则以本协议的正文为准。

12.2 协议修订

GitHub 可随时修订本协议(含计划文档),通过在 https://docs.github.com/code-security/secret-scanning/secret-scanning-partner-program 上发布修订版本,并向合作伙伴入驻时提供的邮箱地址发送至少 30 天提前通知。 合作伙伴在 30 天的通知期届满后继续参与本计划,即视为接受该修订内容。 合作伙伴可在修订生效前根据第 16.2 条终止本协议。

12.3 计划变更

GitHub 可自行决定,且无需事先通知、修改、暂停或终止计划或其任何部分。 对于计划的修改、暂停或终止,GitHub 不对合作伙伴或任何第三方承担责任。

13. 赔偿

各方(作为赔偿方)应对因其重大违反本协议、或在参与计划过程中违反适用法律或而产生的任何第三方索赔、损失、损害或费用(包括合理律师费),向另一方及其关联公司、各自高管、董事、员工和代理人作出辩护、赔偿并确保其免受损害,但前提是受偿方:(a) 立即书面通知赔偿方;(b) 授予赔偿方对抗辩和和解的唯一控制权;和 (c) 在赔偿方承担费用的情况下提供合理配合。

14. 免责声明

14.1 不提供保证

在适用法律允许的最大范围内,GitHub 以 “as-is”“as-available” 为基础提供本计划、匹配数据及所有相关服务、材料和文档,不提供任何明示、默示或法定的保证和条件。 GitHub 明确不承担所有默示保证和条件,包括适销性特定用途适用性所有权不侵权、准确性、可用性,以及基于交易过程、行业惯例或履约过程产生的任何保证。

14.2 无履约保证

在不限制第 14.1 条的前提下,GitHub 不保证 (a) 令牌检测或模式匹配将准确、完整、及时或无错误;(b) 本计划在任何时间不间断或可用,或者 (c) 缺陷将被修复。

15. 责任限制

15.1 损害赔偿豁免

在适用法律允许的最大范围内,任何一方均不对另一方因本协议引起或相关的任何间接、附带、特殊、后果性、惩罚性或惩戒性损害,以及任何利润、收入、商誉、数据或使用损失承担责任,无论基于何种责任理论、因何原因造成,即使已被告知该等损害的可能性。

15.2 责任限额

在适用法律允许的最大范围内,GitHub 就因本协议引起的或与之相关的所有索赔(无论是合同、侵权或其他)对合作伙伴的累积总责任,不得超过 100 美元 (US $100)。

15.3 缔约的基础

合作伙伴确认,第 15 节中的责任限制体现了双方的风险分配,并且 GitHub 不会在没有此类限制的情况下签署本协议。 即使某项有限补偿未能实现其预期目标,第 15 节中的责任限制仍然有效。

15.4 责任限额除外情形

第 15.2 条不适用于:

(a) 合作伙伴违反第 4 节(匹配数据的用途限制)、第 6 节(匹配数据的保密性),或第 8 节(禁止后续共享);

(b) GitHub 在第 2.2 条授予的许可范围之外使用令牌模式;

(c) 任意一方根据第 13 节所承担的赔偿义务;

(d) 任意一方的故意不当行为或欺诈行为;或

(e) 适用法律不允许限制的任何责任。

16. 期限、终止和效力存续

16.1 期限

本协议在合作伙伴接受该协议的日期生效,持续至根据第 16.2 条或 16.3 条终止为止。

16.2 终止

任何一方可出于自身便利终止本协议,只需要向另一方提供至少 30 天书面通知。 通知发出后,双方同意就未处理的检测通知,合理记录后续修正工作流。

16.3 因故终止

(a) 如果合作伙伴违反第 4 节(匹配数据的用途限制)、第 6 节(匹配数据的保密性),或第 8 节(禁止后续共享),GitHub 可立即书面通知终止本协议。

(b) 如果一方严重违反本协议其他条款,且在收到列明详细违约行为的书面通知 30 天内未予以补救,另一方可书面通知终止本协议。

(c) 在根据第 16.3 条终止后,合作伙伴应完成终止时已在进行中的任何凭据撤销或用户通知,然后根据第 7 节删除 GitHub 元数据。

16.4 立即暂停

如果合作伙伴的违规行为导致 GitHub 用户面临紧迫的安全风险,GitHub 可立即暂停其参与,而无需适用第 3.1 条中的补救期。 GitHub 应将该暂停及暂停原因通知合作伙伴。 如果合作伙伴在收到通知后的 15 天内纠正了违规问题,GitHub 应恢复其参与。 如果合作伙伴未在 15 天内纠正违规行为,则任何一方均可书面通知终止本协议。

17. 其他

17.1 管辖法律

本协议受加利福尼亚州法律的管辖,而不考虑法律条款冲突。

17.2 管辖权地

双方不可撤销地就任何因本协议产生或与之相关的法律程序,服从美国加利福尼亚州旧金山市所属州法院及联邦法院的专属管辖权。

17.3 放弃陪审团审判

双方不可撤销地放弃就任何因本协议产生或与之相关的任何诉讼接受陪审团审判的权利。

17.4 效力存续

以下条款在本协议到期或终止后继续有效:

(a) 第 2 节(许可)— 第 2.1 条(所有权)、第 2.2 条(令牌模式许可)、第 2.4 条(反馈数据许可证)、第 2.6 条(合作伙伴声明)和第 2.7 条(不可撤销)永久有效;第 2.3 条(接入材料许可)在协议终止后 30 天内继续有效;

(b) 第 4 节(匹配数据的用途限制)— 在终止后 1 年内有效;

(c) 第 5 节(安全性)— 在 GitHub 保留非公共令牌模式期间持续有效;

(d) 第 6 节(匹配数据的保密性)— 在终止后 1 年内有效;

(e) 第 7 节(数据保留和删除)— 合作伙伴应在终止后的 30 天内完成删除;

(f) 第 8 节(禁止后续共享)— 在终止后 1 年内有效;

(g) 第 9 节(GitHub 知识产权和商标)— 永久有效;

(h) 第 13 节(赔偿)— 永久有效;

(i) 第 14 节(免责声明)— 永久有效;

(j) 第 15 节(责任限制)— 永久有效;

(k) 第 16.2 节(终止后补救文档义务)— 在终止后 30 天内有效;

(l) 第 17.1 条(管辖法)、第 17.2 条(管辖权地)和第 17.3 条(放弃陪审团审判)— 永久有效;

(m) 第 18 节(转让)— 永久有效;

(n) 第 19 节(通知)— 永久有效;

(o) 第 20 节(完整协议)— 永久有效。

18. 转让

双方不得在没有对方事先书面同意的情况下转让本协议,除非一方因合并、收购或销售全部或几乎全部资产而转让本协议,则无需对方同意,前提是受让人承担本协议的全部义务。 违反本规定的转让行为均为无效。

19. 通知

本协议下的所有通知必须采用书面形式,并通过邮件发送。 发送给 GitHub 的通知必须发送至 secret-scanning@github.com。 发送给合作伙伴的通知,必须发送至合作伙伴在入驻时提供的电子邮箱地址。 通知于发送后的下一个工作日视为已送达。

20. 完整协议

本协议与 Microsoft NDA(如适用)一起构成双方就本计划达成的完整协议,并取代此前或同期就本协议达成的所有谅解。