如何使用GitBleed从Git库镜像中提取数据

admin 2022年5月16日10:17:42评论26 views字数 1516阅读5分3秒阅读模式

 关于GitBleed 

GitBleed是一款针对Git库镜像的安全检测工具,该工具包含了多个Shell脚本,可以帮助广大研究人员下载克隆的Git库和Git库镜像,然后从中提取各种数据,并分析两者之间的不同之处。

 功能介绍 

工具提供的脚本能够克隆指定Git库的副本,即常规克隆(git clone)或使用“--mirror”选项来使用Git库镜像。接下来,该工具将会对两者进行分析,并尝试寻找只有镜像模式中才存在的代码库部分。最后,工具还会尝试提取出的数据中是否存在敏感信息或密码凭证等等。任务执行完成之后,工具将会输出分析结果。

请注意,工具脚本的运行过程中将会创建三份代码库副本,并且会消耗掉一定的磁盘空间。

 测试代码库 

下面给出的是两个可供广大研究人员测试使用的代码库样例:

gb_testrepo_delete:通过删除的commit隐藏敏感信息

gb_testrepo_reset:通过“git reset”隐藏敏感信息

 工具要求 

在使用该工具之前,我们首先要确保本地设备上安装并配置好GitPython3GitLeaksgit-filter-repo。我们可以在macOS上使用下列命令完成这些工具组件的安装:

brew install git python3 gitleaks git-filter-repo

 工具安装 

广大研究人员可以使用下列命令将该项目源码克隆至本地,并运行样例项目:

git clone https://github.com/nightwatchcybersecurity/gitbleed_tools.git
cd gitbleed_tools
./gitbleed.sh https://github.com/nightwatchcybersecurity/gitbleed_tools.git example

工具还提供了一些帮助脚本,我们可以通过下列方式用它们来扫描GitHub和GitLab代码库:

./gitbleed_gh.sh nightwatchcybersecurity/gitbleed_tools
./gitbleed_gl.sh nwcs/junit_ui_bug

上述命令将会创建一个包含下列三个子目录的样例文件夹:

clone:包含克隆的代码库;

delta:包含代码库镜像,并去除了“clone”中所有的commit;

mirror:包含使用“--mirror”选项执行后得到的代码库镜像;

同时,工具还会创建下列三个文件:

clone_hashes.done.txt:已克隆代码库的哈希列表;

gitleaks.json:正在运行的GitLeaks返回的结果;

gitlog.txt:“delta”目录中所有的commit,整合进了这个单独的文件;

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

https://github.com/nightwatchcybersecurity/gitbleed_tools

参考资料

https://wwws.nightwatchcybersecurity.com/2022/02/11/gitbleed/

https://github.com/nightwatchcybersecurity/gb_testrepo_delete

https://github.com/nightwatchcybersecurity/gb_testrepo_reset

https://github.com/nightwatchcybersecurity/gitbleed_tools

如何使用GitBleed从Git库镜像中提取数据



精彩推荐






如何使用GitBleed从Git库镜像中提取数据

如何使用GitBleed从Git库镜像中提取数据
如何使用GitBleed从Git库镜像中提取数据
如何使用GitBleed从Git库镜像中提取数据

原文始发于微信公众号(FreeBuf):如何使用GitBleed从Git库镜像中提取数据

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日10:17:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何使用GitBleed从Git库镜像中提取数据https://cn-sec.com/archives/952983.html

发表评论

匿名网友 填写信息