Gitbleed_Tools, this repo contains shell scripts that can be used to download and analyze differences between cloned and mirror Git repositories. For more information about the underlying quirk in Git behavior, please visit read our blog post.
These scripts will clone a copy of the given Git repository, both as regular clone and mirrored (“–mirror”) option. It will then create a delta between the two, seeking to find the parts of the repository that are only available in mirror mode. Last, gitleaks will be run to see if any secrets are present in the delta portion, and “git log” will be used to create a single file containing the bodies of the commits so they can be analyzed easier.
Please note that since this script creates three copies of the repository, it may consume a lot of disk space.
You can test these tools on the following two example repositories:
You will need Git, Python 3. GitLeaks and git-filter-repo to be installed. Here is an example of installing these on MacOS:
brew install git python3 gitleaks git-filter-repo
You can run this againt a repository as follows:
git clone https://github.com/nightwatchcybersecurity/gitbleed_tools.git
cd gitbleed_tools
./gitbleed.sh https://github.com/nightwatchcybersecurity/gitbleed_tools.git example
This will create an example folder containing three subfolders:
There are also three files created:
The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…
The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…
The top command in Linux provides a real-time view of running processes and system resource usage. From…
The usermod command in Linux modifies existing user account attributes. You can use it to manage group…
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…