freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用GitBleed从Git库镜像中提取数据
2022-04-19 18:30:57
所属地 广西

关于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开源许可证协议。

项目地址

GitBleed:GtiHub传送门

参考资料

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

# GitLab安全 # Git安全 # GitHub安全 # 代码库安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录