如何扫描GitHub存储库以查找凭据? [8个工具]

查找您的GitHub存储库是否包含敏感信息,例如密码、密钥、机密信息等。

GitHub被数百万用户用于托管和共享代码。这很棒,但有时您/开发人员/代码所有者可能会意外地将机密信息倾泄到公共存储库中,这可能是一场灾难。

有许多机密数据在GitHub上泄漏的事件。您无法消除人为错误,但可以采取措施来减少错误。

如何确保您的存储库不包含密码或密钥?

简单的回答是-不要存储。

作为最佳实践,应使用secret management software来存储所有敏感信息。

但实际上,如果在团队中工作,您无法控制其他人的行为。

顺便说一下,如果您使用Git来初始化和部署应用程序,它会创建.git文件夹,如果可以通过互联网访问,可能会暴露敏感的确认信息-这是您不希望发生的,并且应该考虑blocking .git URI。

以下解决方案可帮助您找到存储库中的错误。

密码扫描

GitHub的secret scanning功能是一个强大的工具,可检测代码中隐藏的意外密码,防止数据泄漏和妥协。它对公共和私有存储库都能无缝运行,细致地搜索每一个角落,以发现任何意外的密码。

但它的功能不止于此。一旦发现密码,GitHub会采取主动措施,通知相关服务提供商,促使他们迅速减少任何潜在风险。对于私有存储库,GitHub会更进一步,通知组织所有者或管理员,确保团队中合适的人员立即了解情况。

为了提供持续的可见性,警告会在存储库中醒目地显示,为您和您的团队提供明确的信号,以便及时采取行动。GitHub的密码扫描功能充当您的警惕盟友,勤勉地工作,确保没有任何密码被忽视,您的项目保持安全。

拥抱密码扫描的力量,自信编写代码,知道您的敏感信息得到了保护。

Git Secrets

让我介绍一下git-secrets,这是一个可以防止我们在Git存储库中意外添加机密信息的工具。它扫描提交、提交消息和合并,以防止我们的代码中泄漏机密信息。

在Windows上开始使用时,我们只需运行install.ps1 PowerShell脚本。它会将必要的文件复制到安装目录并将它们添加到用户的PATH中。这使得git-secrets可以在我们的开发环境中的任何位置轻松访问。

安装完成后,git-secrets成为我们的贴心守护者,检查任何提交、提交消息或合并历史是否与我们配置的禁止模式匹配。如果检测到匹配,它会拒绝提交,防止敏感信息泄漏。

我们可以将正则表达式模式添加到存储库根目录中的.gitallowed文件中,以微调git-secrets。这有助于过滤掉可能触发警告但是合法的行,以在安全性和便利性之间达到适当的平衡。

在扫描文件时,git-secrets会提取所有与禁止模式匹配的行,并提供详细信息,包括文件路径、行号和匹配的行。它还会检查匹配的行是否与我们注册的允许模式匹配。如果允许模式抵消了所有标记的行,则提交或合并被视为安全。但是,如果任何匹配的行不匹配允许的模式,git-secrets将阻止该过程。

在使用git-secrets时,我们需要谨慎行事。禁用的模式不应该太广泛,允许的模式也不应该太宽泛。通过使用临时调用git secrets –scan $filename来测试我们的模式,以确保其按预期工作。

如果你渴望深入了解git-secrets或者想要为其开发做贡献,你可以在GitHub找到这个项目。这是一个开源项目,鼓励社区贡献。加入社区,产生影响吧!

有了git-secrets,我们可以放心编码,知道意外的秘密不会危及我们的项目。让我们拥抱这个工具,保护我们的敏感信息。

仓库监管者

我有一个令人兴奋的消息:Repo-supervisor是一个强大的工具,可以检测代码中的秘密和密码。安装它非常简单,只需将webhook添加到你的GitHub仓库中。Repo-supervisor提供两种模式:在GitHub上扫描拉取请求或在命令行中扫描本地目录。选择适合你的模式。

要开始你的git-secrets之旅,只需访问GitHub仓库并下载最新版本。你将发现专为AWS Lambda部署定制的捆绑包和用户友好的CLI模式。使用CLI模式,你可以立即开始,无需任何额外的设置,而拉取请求模式需要部署到AWS Lambda。选择适合你需求的选项,开始利用git-secrets的强大功能来提升代码库的安全性!

在CLI模式下,提供一个目录作为参数,Repo-supervisor会扫描支持的文件类型,使用特定于其类型的标记解析器处理每个文件。它对提取的字符串运行安全检查,并以纯文本或JSON格式提供清晰的报告。

对于拉取请求模式,Repo-supervisor处理webhook负载,提取修改的文件,并对提取的字符串进行安全检查。如果发现问题,它会将CI状态设置为错误,并链接到报告。没有问题意味着成功的CI状态。

Repo-supervisor是一个令人惊叹的代码检查工具,它可以保护我们的秘密和密码的安全。它确保我们代码库的完整性,这在我们的职业生涯中非常重要。

试试Repo-supervisor吧!安装它,配置webhook,让它扫描秘密和密码。享受额外的安全层!

Truffle Hog

让我向你介绍一个令人难以置信的工具:Truffle Hog。它可以成为你忠诚的代码伴侣,勤勉地嗅探你的代码库中潜藏的敏感信息。Truffle Hog精通深入挖掘项目历史,细致地扫描可能泄露有价值的秘密,如API密钥和密码。

凭借其高熵检查和正则表达式模式库,这个工具准备好发现这些隐藏的宝藏,并确保你的代码保持安全。告别秘密泄露,拥抱Truffle Hog的警惕保护!

最棒的是:Truffle Hog的最新版本增加了许多强大的功能。它现在拥有超过700个凭据检测器,可以主动验证其各自的API。它还支持扫描GitHub、GitLab、文件系统、S3、GCS和Circle CI,非常灵活多样。

不仅如此,TruffleHog现在还具有对数百万个GitHub用户和数十亿个TLS certificates进行即时验证的本地密钥支持,利用其先进的Driftwood技术。它甚至可以扫描二进制文件和其他文件格式,确保没有任何遗漏。

此外,TruffleHog可以作为GitHub Action和pre-commit hook两种形式提供,无缝集成到你的开发工作流程中。它旨在方便和用户友好,为你提供额外的安全层,而不会带来不必要的麻烦。

有了Truffle Hog,您可以放心地保护您的代码免受意外泄露,并将您的秘密安全地存储起来。所以,不妨试试Truffle Hog,让它在保护您的项目方面施展其魔力吧。

Git Hound

GitHound通过利用GitHub代码搜索、模式匹配和提交历史搜索,超越了其他工具的限制。它可以搜索整个GitHub,而不仅仅是特定的存储库、用户或组织。这有多酷呢?

现在,让我们深入了解它的精彩功能。Git Hound利用GitHub/Gist代码搜索,可以精确定位散布在GitHub上的敏感信息,无论是由任何人上传的。这就像有一张寻找潜在漏洞的宝藏地图。

但是GitHound并不止于此。它使用模式匹配、上下文信息和字符串熵来检测敏感数据。它甚至深入研究提交历史,以找到被错误删除的秘密,确保没有遗漏任何一个角落。

为了简化您的生活,GitHound采用了评分系统,过滤掉常见的误报,优化了对存储库的深入搜索。它旨在为您节省时间和精力。

猜猜看?Git Hound还配备了base64检测和解码功能。它可以揭示以base64格式编码的隐藏秘密,为您寻找敏感信息提供额外的优势。

此外,GitHound还提供将其集成到更大系统中的选项。您可以生成JSON输出,并根据自己的特定需求自定义正则表达式。它提供了灵活性,使您能够在其基础上构建。

现在,让我们谈谈它令人激动的用例。在企业界,GitHound在搜索暴露的客户API密钥方面变得非常有价值。它有助于保护敏感信息,确保最高级别的安全性。

对于猎人来说,Git Hound是一个改变游戏规则的工具。它使您能够搜索泄漏的员工API令牌,帮助您发现漏洞并赚取应得的赏金。Git Hound真是太棒了!

Gitleaks

Gitleaks旨在让您的生活更轻松。它是一个易于使用的一体化解决方案,可以检测到密码、API密钥或令牌在您的代码过去或现在的泄露风险。告别在项目中意外暴露密码、API密钥或令牌的风险。

安装Gitleaks非常简单。您可以使用Homebrew、Docker或Go,根据您的喜好选择。此外,它还提供灵活的实施选项。您可以将其设置为预提交钩子,直接放在存储库中,或者利用Gitleaks-Action将其无缝集成到您的GitHub工作流程中。这一切都是为了找到最适合您的配置。

现在,让我们谈谈Gitleaks提供的命令。首先,我们有“detect”命令。这个强大的命令使您能够扫描存储库、目录和单个文件。无论是在您自己的机器上还是在CI环境中工作,Gitleaks都能为您提供保障,确保没有秘密漏掉。

但这还不是全部。Gitleaks还提供了“protect”命令。这个命令扫描您的Git存储库中明确未提交的更改。它作为您的最后一道防线,防止秘密被意外提交。它是一个保护措施,使您的代码干净和安全。

Tines是业界值得信赖的组织,他们赞助了Gitleaks。在他们的支持下,Gitleaks不断发展和改进,为您提供最佳的秘密检测能力。

所以,年轻的专业人士们,别让秘密危害到您的项目。安装它,设置它,让它为您的存储库进行扫描和保护吧。

Repo安全扫描器

repo security scanner 是一个无价的命令行工具,旨在帮助识别无意中提交的敏感数据,如密码、令牌、私钥和其他机密信息,以及您的Git存储库中的其他机密信息。

这个强大的工具使您能够主动检测和解决潜在的安全漏洞,这些漏洞可能是由于在代码库中无意中包含机密信息而引起的。通过使用存储库安全扫描程序,您可以确保存储库的完整性,并保护您的敏感数据免受未经授权的访问。

存储库安全扫描程序轻松深入整个存储库的历史记录,快速呈现全面的扫描结果。通过进行彻底的扫描,它使您能够主动识别和迅速解决因在开源软件中暴露机密而可能引起的安全漏洞。

Git Guardian

GitGuardian是一个工具,可以使开发人员、安全和合规团队实时监控GitHub活动,并识别由于暴露的机密(如API令牌、安全证书、数据库凭据等)而导致的漏洞。

GitGuardian允许团队在私有和公共代码以及其他数据源中执行安全策略。

GitGuardian的主要功能包括:

  • 该工具有助于查找私有源代码中的敏感信息,如机密信息
  • 在公共GitHub上识别和修复敏感数据泄露
  • 它是一种有效、透明且易于设置的机密检测工具
  • 更广泛的覆盖范围和全面的数据库,可以覆盖几乎任何面临风险的敏感信息
  • 先进的模式匹配技术,改进了发现过程和效果

结论

希望这能给您在GitHub存储库中查找敏感数据的一个思路。如果您正在使用AWS,那么请查看本文以了解更多信息scan AWS security and misconfiguration。敬请关注更多激动人心的工具,这些工具将提升您的专业生活。快乐编码,并将这些机密信息锁起来!🔒

类似文章