GitHub的正反向溯源方式

admin 2025-12-22 04:30:55 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了GitHub溯源的两种方法:通过已知GitHub账号查找注册邮箱,以及通过邮箱查找对应的GitHub账号。文章指出,即使用户在GitHubProfile页面隐藏邮箱,只要其曾向公开仓库提交代码,commit.author.email字段就会被长期保留。文章提供了两种获取方式:一是通过URL末尾加.patch查看文本版记录,二是使用GitHubAPI。这些方法可用于APT分析、数据泄露事件溯源和企业外部风险筛查。 综合评分: 88 文章分类: 威胁情报,漏洞分析,WEB安全


cover_image

GitHub的正反向溯源方式

原创

安全路人A

军机故阁

2025年12月15日 09:30 北京

在挺多溯源场景里,GitHub 是一个极其稳定的信号源。无论是 APT 相关人员分析、数据泄露事件溯源,还是企业外部风险筛查,GitHub 都经常出现在调查链条的关键位置。原因并不复杂:代码提交是长期行为,具有明确时间线,而且很难在不影响正常使用的情况下完全抹除历史痕迹。而且 GitHub 的溯源是很方便的,这里介绍两种正反方向溯源的方式,一种是有知道账号找邮箱,一种是知道邮箱找账号。 GitHub 溯源的本质是查询公开的历史提交行为。

一、通过 GitHub 账号反向查找邮箱

砸开原理为通过已知 GitHub 用户名找注册邮箱,用户就算在 GitHub Profile 页面隐藏邮箱,只要其曾向公开仓库提交代码,提交记录中的commit.author.email 字段就会被长期保留。如果用户没有始终使用 noreply.github.com,那么这些历史邮箱是可以被稳定提取的。

有两种获取方式,一是在这个开发者项目中找commit记录,随便打开一个,在URL末尾加.patch,就可以看到文本版的记录,邮箱就在页面最开头,效果如下:

第二种获取用GitHub 自己的api获取目标开发者repo(api.github.com/users/{username}/repos),筛选其中author email部分就行,写脚本的话过滤掉noreply.会更方便。

二、通过邮箱正向查找 GitHub 账号

已知一个邮箱地址,希望确认其是否对应真实的 GitHub 技术账号。GitHub 提供了 commit 搜索接口,允许按照author-email 查询历史提交。只要某个邮箱曾被用于公开仓库的提交,就可以直接返回对应的提交记录和作者对象。这里的关键点在于:返回的 GitHub 用户并不是模糊匹配,而是 GitHub 已经建立好的历史关联关系。

    使用方式也是通过 GitHub官方 api 搜索 commits,查询条件指定目标邮箱,查看回包信息就行(https://api.github.com/search/commits?q=author-email:{email})。后续就可以直接围绕账号展开行为分析,例如技术方向、参与项目、组织关联和活跃时间线。而且GitHub api 的返回结构稳定,字段清晰,天然适合脚本循环和结果结构化存储。也很适合自动化或批量化。


查看原文:《GitHub的正反向溯源方式》

评论:0   参与:  3