此仓库包含可用于下载和分析克隆仓库与镜像 Git 仓库之间差异的 Shell 脚本。有关 Git 行为中底层特性的更多信息,请访问阅读我们的博文。
这些脚本将克隆给定的 Git 仓库,分别以常规克隆和镜像("--mirror")选项进行。然后,它会在两者之间创建差异,试图找出仅存在于镜像模式中的仓库部分。最后,将运行 gitleaks 检查差异部分是否存在任何秘密,并使用 "git log" 创建一个包含提交内容的单一文件,以便更轻松地进行分析。
请注意,由于此脚本会创建仓库的三个副本,因此可能会消耗大量磁盘空间。
您可以在以下两个示例仓库上测试这些工具:
您需要安装 Git、Python 3、GitLeaks 和 git-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
这将在 "example" 文件夹中创建三个子文件夹:
还会创建三个文件:
请使用 GitHub 问题跟踪器报告问题或提出功能建议: https://github.com/nightwatchcybersecurity/gitbleed_tools
您也可以通过电子邮件 research /at/ nightwatchcybersecurity [dot] com 联系我们