如何通过 GitHub 仓库失效链接劫持赚取 2 万美元以上 | Arshad Kazmi | 2025 年 7 月 | 信息安全技术文章
大家都在扫描网站,而我专注于 GitHub 仓库——并构建了一个 Bash 管道,帮助我发现别人遗漏的失效链接。
2021 年,我专注于大多数漏洞赏金猎人最终都会探索的一类漏洞:失效链接劫持。
我一开始和大家一样——扫描网站、页脚和社交媒体链接中的过时资源。其中一些资源容易被接管(如 S3 存储桶、GCP、GitHub Pages)。我获得了一些赏金,但很快意识到这个领域已经人满为患。太多人在追逐同样的低悬果实。
所以我开始寻找其他地方——猎人较少的地方。
🔍 转向 GitHub
由于我当时在 GitHub 上非常活跃(主要贡献开源项目),我开始思考:
“为什么不扫描 GitHub 仓库中的失效链接?”
毕竟,仓库中充满了:
- 带有过时 URL 的文档
- 引用旧资源的 CI/CD 或安装脚本
- 外部服务如 S3、GCP 或 GitHub Pages
而最棒的是:没有多少猎人大规模针对这个攻击面。
⚠️ GitHub 搜索的限制
起初,我尝试了 GitHub 的搜索。但很快就遇到了问题:
- 无法搜索大型仓库的全部内容。
- 结果不完整且不一致。
- GitHub 的 API 限制使自动化变得痛苦。
所以我将搜索转移到了本地。
🛠️ 我的本地 Bash 管道
我构建了一个基本但强大的 Bash 管道:
- 在本地克隆 GitHub 组织的所有仓库。
- 使用正则表达式递归扫描所有文件以提取 URL。
- 对每个 URL 运行 HTTP 调用以检测 404 或 410 响应。
我将这些脚本打包成一个工具,你可以在这里找到:
👉 github.com/arshadkazmi42/github-scanner-local
没有什么花哨的东西——只是本地克隆和智能 grep——但它很有效。
✅ 实际成果
我开始在漏洞赏金计划中的 GitHub 组织上运行这个工具,并看到了扎实的回报:
- 大多数组织至少有一个失效链接。
- 大约 70-80% 的报告被接受。
- 赏金从 100 美元到 1500 美元不等。
少数异常情况获得了更多,特别是在资产劫持或接管可能的情况下。
仅这种方法就帮助我获得了超过 2 万美元的已接受漏洞赏金奖励。
文章还包含社区互动、作者其他文章推荐及相关技术内容推荐,但核心内容已完整翻译。