厦门市思明区前埔路168号三楼01单元(西侧) 19156011993 allpurpose@outlook.com

集团新闻

HasMySecretLeaked 在 GitHub 仓库中发现泄露的秘密

2025-04-08

GitGuardian推出新免费服务:帮助组织检测泄露的机密信息

关键要点

GitGuardian推出了一项新服务HasMySecretLeaked,允许组织在包含2000万条泄露记录的数据库中检查是否有机密信息泄露。过去几年,GitHub上已经发现了超过1000万次机密泄露事件,造成了重大安全风险。此服务允许检查其他组织的代码库,从而提高了检测泄露风险的能力。GitGuardian还计划扩大服务范围,包括公共注册表的包和Docker镜像的扫描。

过去几年,硬编码凭据与敏感信息在公共代码库中泄露,对组织构成了重大安全风险。仅在2022年,GitHub就检测到超过1000万次凭据泄露事件。为了帮助减少这类问题,GitGuardian推出了名为HasMySecretLeaked的新服务,让组织能够安全、私密地检查其机密信息是否在自2020年以来收集的2000万条泄露记录数据库中。

GitHub本身已有免费的秘密扫描服务,通知代码库的拥有者在其公共代码库中发现的机密信息,但通常监控的机密信息类型仅限于云API访问密钥或合作伙伴提供的其他访问令牌格式。而GitGuardian的HasMySecretLeaked服务涵盖了更多的硬编码机密信息类型,具体包括数据库密码、加密密钥、用户名和密码组合、消息令牌、SSH凭据以及电子邮件密码等。

在过去几年里,GitGuardian一直在扫描GitHub上的所有公共代码提交,以发现硬编码的机密信息,精细化其检测算法,扩展支持的凭据格式列表,并降低误报率。2020年,它发现了300万条泄露的机密信息,2021年达到了600万条,而2022年超过1000万条。

GitGuardian利用其研究成果发布了一份名为《Secrets Sprawl的现状》的年度报告,并建立和完善了自己的代码安全平台,以防止开发者和工程师在代码、构建脚本、Docker镜像、配置文件等方面意外泄露机密信息。

自己代码库搜索与全局搜索的比较

通常,秘密检测服务的目标是为代码库的所有者提供服务。当检测到其拥有的代码库中的机密信息时,GitHub会通知该代码库的所有者,并且如果是AWS密钥等,还会通知AWS以便其决定在被滥用之前撤销该密钥。GitGuardian的安全平台也会在组织的所有软件开发流程中发现密钥并做出通知。

然而,HasMySecretLeaked的目标则更为广泛:让组织检查在GitHub上是否有已知秘密被其他人泄露,外泄的情况并不少见。例如,一名开发者可能会在自己的公共代码库中发布代码,意外忘记清理组织的某个令牌。又或者,公司的开发者有权参与一个社区项目,但忘记移除包含凭证的私人数据库网址。

实际上,HasMySecretLeaked在方法上与HaveIBeenPwned相似,后者是安全研究员Troy Hunt开发的一项服务,允许用户检查其电子邮件和密码是否在公开已知数据泄露中被泄露。在这两种情况下,都必须小心避免攻击者滥用服务,并在不暴露秘密的情况下进行搜索。

如何在不泄露秘密的情况下构建API搜索

在决定构建一种让用户可以搜索其泄露秘密事件的大型数据库的服务时,GitGuardian的研究人员面临第一个问题:用户如何提交他们的秘密给GitGuardian的服务,而不让GitGuardian本身看到它们的明文,从而造成隐私和安全问题?

看似简单的解决方案是使用哈希。哈希是字符串的加密代表,理论上是不可逆的,尽管某些较旧和较弱的哈希方案可以通过暴力破解方法被破解。可以将其视为单向加密,密钥被销毁。然而,这并没有完全解决问题。

海鸥加速器6.63下载

GitGuardian研究人员解释道:“按定义,如果哈希后的秘密出现在我们的数据库中,这意味着其明文版本曾经是公开可访问的,这表明GitGuardian已或曾对其有所了解。这意味着用户泄露了他们的秘密,而这也是不可接受的。”

解决方案是只发送哈希的一部分例如前五个字符。

HasMySecretLeaked 在 GitHub 仓库中发现泄露的秘密