Github数据泄露事件溯源技巧

   最近在公司搭建了一个github代码泄露的预警平台,添加了公司名称,邮箱后缀等关键词规则,上班一大早就收到了不少告警邮件。

      打开告警的github代码发现确实是公司相关的,想通知删除,翻了一圈确没有作者的联系方式,以下是我在网上找到的一些溯源方法,供大家尝试。

 一、我为什么查不到作者信息:

  GitHub 提供了两种方法来保护我们的联系方式邮箱的隐私安全性:

1、在推送时发现隐私邮箱则阻止推送;

2、使用 GitHub 专用的替代邮箱。

勾选以下两个功能后点击保存:

Keep my email addresses private功能(隐私地址转换:如果发现以上列表中的邮箱地址,则会转换为 GitHub 专用的邮箱地址)

Block command line pushes that expose my email功能(阻止推送:如果发现暴露了邮箱地址,则阻止推送。)

图片

开启后github官方会给我们提供一个虚拟的邮箱号,效果如下

图片

二、github溯源方法整理

一、手动获取个人邮箱

2.1:通过commits

找到作者提交的,点击箭头位置

在出现的url后面加上.patch

https://github.com/xxxx/xxxexample/commit/4a0b0613da9ca66c61bc9e8eeebe7325c4908afeb

修改后的

https://github.com/xxxx/xxxexample/commit/4a0b0613da9ca66c61bc9e8eeebe7325c4908afeb.patch

2.2:通过github API接口

https://api.github.com/users/<name>/events/public

替换name为需要查询的作者id

https://api.github.com/users/作者id/events/public

可查询到作者邮箱信息:

图片

2.3:graphql 查询

地址https://docs.github.com/en/graphql/overview/explorer

图片

{  repository(name: "填入要查询的GitHub存储库的名称", owner: "填入要查询的GitHub存储库的所有者的用户名") {    ref(qualifiedName: "master") {      target {        ... on Commit {          id          history(first: 5) {            edges {              node {                author {                  name                  email                }              }                }          }        }      }    }  }}

二、自动化工具获取作者信息

  使用自动化工具Gitmails,是一款收集github存储库中包含的作者提交的名字和电子邮箱的工具。常用于攻防演练中的信息收集,溯源工作。

https://github.com/giovanifss/Gitmails

安装python依赖

python3 -m pip install -r requirements.txtpython3 -m pip install pygit2

使用方式

python3 gitmails.py -u 用户名

会遍历一些接口查询用户邮箱(需要kx上网)

最后:遇到个github泄露案例,使用了上面的方法还是查找不到,最后只能发给开发经理去想办法,公司有经费的话还是尽快上DLP(数据防泄漏)吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值