如何接管被遗忘的谷歌存储桶,曾用于分发Helm二进制文件
在扫描更多GitHub仓库以查找损坏的URL时,我遇到了这个看起来奇怪的Helm仓库链接:
https://kubernetes-helm.storage.googleapis.com
它返回404错误,但这不仅仅是一个损坏的URL。它被用于官方外观的安装脚本中——当我深入挖掘时,发现它是用户过去下载和安装Helm二进制文件的一部分。
🧠 这个存储桶的作用
这是一个谷歌云存储(GCS)桶,最初由Helm维护者用于分发Helm二进制版本——可能是在他们迁移到GitHub Releases或其他域名之前。
该桶URL出现在:
- Shell脚本(curl | bash)
- Dockerfiles
- CI/CD设置指南
- 自动化安装说明
- 公共博客文章和教程
它无处不在——而且已经损坏。
所以我检查了谷歌云……
该桶未被认领。
📦 取得控制
我注册了GCS桶:
kubernetes-helm.storage.googleapis.com
并托管了一个无害的takeover.html文件,以验证我可以控制其响应。
然后我运行了GitHub范围内的搜索,发现:
- 数百个开源项目仍然引用这个确切的桶。
- 数十家有资格获得漏洞赏金的公司正在使用或分叉这些项目。
- 许多自动化脚本依赖此链接来安装Helm。
💥 为什么这很危险
这不是一个损坏的文档链接——这是一个二进制分发源。
如果恶意行为者认领了该桶,他们可以:
- 在安装过程中提供假的Helm二进制文件
- 将恶意代码注入CI/CD设置
- 利用盲目运行curl | bash指令的系统
这是一个典型的供应链漏洞——悄悄地隐藏在安装路径中。
💰 报告与赏金
我负责任地向受影响的公司和维护者披露了问题,特别是那些有赏金计划的公司。
一些公司:
- 承认影响为高或严重
- 相应地支付了赏金
- 更新了他们的安装脚本到更安全、已验证的来源
其他公司默默地修补了它——但对桶的引用仍然分散在分叉、博客文章和归档的CI文件中。
仅这一个桶就带来了多个赏金,有些较小,有几个显著较大。
⚠️ 我仍然拥有该桶
截至撰写本文时,该桶仍然是我的:
kubernetes-helm.storage.googleapis.com
即使现在,我偶尔还会看到新的流量——可能来自仍在运行的旧CI设置或安装指南。
在2021年的扫描项目中——损坏的链接、GitHub用户名劫持和被遗忘的云桶——我赚取了大约50,000美元的漏洞赏金。
这一切都始于简单的Bash脚本、创造性思维和扫描别人忽略的内容。