写点什么

研究发现,GitHub 的“oops commits”中包含了数千条已泄露的秘密信息

作者:Craig Risi

  • 2025-09-15
    北京
  • 本文字数:1304 字

    阅读完需:约 4 分钟

大小:639.71K时长:03:38
研究发现,GitHub的“oops commits”中包含了数千条已泄露的秘密信息

安全研究员 Sharon Brizinov 与 Truffle Security 合作,对GitHub的“oops commits”进行了全面调查,这类提交指的是通过强制推送或已删除但仍被存档的提交,他们揭露了数千条遗留的秘密信息,包括高价值的令牌和管理员级别的凭证。团队还发布了一个开源工具,帮助其他人扫描他们自己的仓库,以发现此类隐藏的秘密泄露。

 

GitHub会保留每一个公共提交,即使是开发者试图通过强制推送来擦除的提交,也会作为其存档中的“零提交” PushEvents。Brizinov 使用来自 GitHub Archive 的数据,扫描自 2020 年以来的所有这类提交,发现了价值大约 25,000 美元漏洞赏金的秘密信息,尤其是暴露了可能导致广泛供应链攻击的 GitHub PATs 和 AWS 凭证。

 

为了强化社区的力量,Truffle Security和 Brizinov 共同开发了Force Push Scanner,这是一个开源工具,可以识别并扫描 GitHub 组织或用户账户中的孤立提交。它使用 BigQuery 挖掘GH Archive数据集,并应用TruffleHog扫描来发现隐藏的秘密和漏洞。

 

调查结果令人震惊:在.env 和常见配置文件中发现了大量活跃的秘密信息,如 MongoDB 凭证和 API 令牌。其中有一个特别令人担忧的案例涉及具有对Istio仓库管理员权限的 GitHub 个人访问令牌,这可能导致供应链的重大影响,尽管在负责任的披露后,该令牌已被迅速撤销了。

 

社区反应展现出了更广泛的影响:开发者和安全专业人士指出,计划删除的提交通常仍然可以访问。一位用户评论说,“一旦提交离开你的机器,就没有一种可行的方法可以删除提交……你必须假设它被永久暴露了”,这凸显了假定删除可以实现所带来的风险。

 

这项研究挑战了强制推送的 Git 历史是私有的观念。任何提交的秘密信息,即使是无意中提交的,也应该被视为已泄露,并应立即撤销。Truffle Security 的 Force Push Scanner 新增了检测先前提交中持续存在的漏洞的工具,以免它们造成广泛的损害。

 

为了防止秘密信息泄露,开发者应该优先使用秘密管理工具和环境变量,而不是硬编码凭证。在像HashiCorp VaultAWS Secrets ManagerAzure Key Vault这样的安全平台上存储秘密信息,确保敏感数据永远不会进入代码库,同时提供对访问的集中控制。除此之外,在多个阶段强制进行秘密信息扫描,包括本地的预提交钩子和 CI/CD 流水线,这也是至关重要的。像TruffleHogGitleaksDetect Secrets这样的工具可以及早发现暴露的凭证,定期的历史扫描有助于发现隐藏在旧提交中的秘密信息。

 

当秘密信息暴露时,就应该将其视为已泄露。通过自动化流程或动态秘密系统立即撤销和轮换凭证,此举可以最小化风险窗口。这应该与严格的访问控制相结合,遵循最小权限原则,确保开发者和服务只访问他们真正需要的凭证。此外,启用 GitHub 的推送保护可以防止秘密信息被提交,而像 git filter-repo 这样的历史清理工具可以在政策允许的情况下谨慎使用。

 

除了工具和自动化之外,建立强大的安全文化至关重要。团队应该接受培训,认识到提交秘密信息的风险,并采用安全处理实践,如安全存储、定期扫描和密钥轮换。结合技术保障和文化变革,团队可以显著降低秘密暴露的风险,并将安全编码实践作为工作流程的默认组成部分。

 

原文链接:

 Researcher Unearths Thousands of Leaked Secrets in GitHub’s “Oops Commits”

2025-09-15 15:004780

评论

发布
暂无评论

2023 IoTDB Summit:湖南大唐先一科技有限公司主任架构师舒畅《IoTDB 在发电领域的应用实践》

Apache IoTDB

听GPT 讲Rust源代码--compiler(26)

fliter

为什么在数学的意义上GraphQL严格的优于REST?

canonical

DDD 低代码 graphql

稳定币智能分析:未来加密领域策略的关键!

Footprint Analytics

区块链 Token 稳定币

首次公开发声,OpenAI CEO 奥特曼回忆“宫斗门”丨 RTE 开发者日报 Vol.129

声网

POKT Network 开启周期性通缩,该计划将持续至 2025 年

股市老人

听GPT 讲Rust源代码--compiler(24)

fliter

听GPT 讲Rust源代码--compiler(25)

fliter

图像处理-Java-去噪/高斯模糊/套红

alexgaoyh

Java 图像处理 去噪 高斯模糊 套红

Java核心技术·卷I(原书第12版)PDF

程序员李木子

构建坚固网络,SD-WAN网络配置指南

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

基于 Hologres+Flink 的曹操出行实时数仓建设

Apache Flink

C# 数据类型与类型转换:包含教程与示例

小万哥

C# 程序人生 编程语言 软件工程 后端开发

X Winner受邀出席泰国政府加密峰会,上演未来独角兽的独角戏

股市老人

听GPT 讲Rust源代码--compiler(27)

fliter

跨境电商的税收政策:卖家需关注的合规问题

技术冰糖葫芦

Databend x HuggingFace,海量数据,随心分析

Databend

技术分享| 利用 Google MFA 实现 Amazon linux 2023 身份校验

伊克罗德信息科技

阿里云云原生弹性方案:用弹性解决集群资源利用率难题

阿里巴巴云原生

阿里云 云原生 弹性

图像处理锐化-Java-Prewitt算子叠加

alexgaoyh

图像处理 锐化 prewitt算子 噪点 叠加

奶茶上云,原生的更好喝

阿里巴巴云原生

阿里云 云原生

“元”启未来 · 万象“新”生!合肥少荃湖畔等你来

声网

用过都说好!FigJam在线白板使用技巧&替代软件推荐!

彭宏豪95

效率工具 在线白板 办公效率 在线协作 boardmix

Spring Boot 单体应用升级 Spring Cloud 微服务

阿里巴巴云原生

阿里云 云原生 Spring Cloud

2024年了,为什么我还是舍弃不掉 RSS?

伤感汤姆布利柏

云原生微服务:现代化应用开发的支柱

不在线第一只蜗牛

微服务 云原生 架构开发

研究发现,GitHub的“oops commits”中包含了数千条已泄露的秘密信息_后端_InfoQ精选文章