A CLI tool to search GitHub repositories and integrate Gitleaks for scanning.
Project description
RepoRecon - Advanced GitHub Repository Reconnaissance Tool
๐ Overview
RepoRecon is a powerful Python-based command-line tool designed to enhance security professionals' and developers' ability to search, download, and scan GitHub repositories efficiently. The tool seamlessly integrates with Gitleaks to detect and validate sensitive information, such as API keys, tokens, and credentials, ensuring your workflow remains secure and streamlined.
โจ Features
- ๐ Search GitHub Repositories โ Utilize the GitHub API to find repositories based on a keyword.
- ๐ฅ Download Repositories โ Selectively or automatically download repositories directly from search results.
- ๐ Secrets Scanning โ Perform automated scans using Gitleaks to uncover sensitive data.
- โ Credential Validation โ Verify AWS keys, Azure credentials, GitHub tokens, Slack tokens, and more.
- ๐๏ธ Flexible Operation Modes โ Choose between interactive and automated execution.
- ๐ Custom Gitleaks Rules โ Enhance scanning with custom
rules.tomlconfigurations.
โ๏ธ Requirements
- ๐ Python 3.8 or higher
- ๐ Gitleaks installed on your system (Installation Guide)
- ๐ Git installed on your system (Installation Guide)
๐ฆ Installation
Install via PyPI:
pip install RepoRecon
Install from Source:
# Step 1: Clone the Repository
git clone <repository_url>
cd RepoRecon
# Step 2: Install Dependencies
pip install -r requirements.txt
# Step 3: Install the Tool
python setup.py install
The installation process ensures that Gitleaks is installed if not already present.
๐ Usage
Basic Syntax:
RepoRecon <keyword> --token <github_token>
<keyword>: The term to search for on GitHub.<github_token>: Your GitHub personal access token.
Command-Line Options:
| Option | Description |
|---|---|
๐ฅ --download |
Enables manual selection and downloading of repositories. |
๐ --download-all |
Automatically downloads all repositories matching the keyword. |
๐ --gitleaks |
Scans downloaded repositories for secrets using Gitleaks. |
๐ --destination <path> |
Specifies a directory to store downloaded repositories (default: ./downloaded_repos). |
๐ --rule-file <path> |
Defines a custom Gitleaks rule file for enhanced scanning. |
๐ Example Workflows
1๏ธโฃ Search and Display Results
RepoRecon "tesla" --token <your_github_token>
Displays a list of repositories related to the keyword "tesla".
2๏ธโฃ Download All Matching Repositories
RepoRecon "tesla" --token <your_github_token> --download-all
Automatically downloads all repositories that match the search criteria.
3๏ธโฃ Scan Repositories with Gitleaks
RepoRecon "tesla" --token <your_github_token> --download-all --gitleaks
This command downloads and scans all matching repositories for secrets.
๐ Supported Credential Validations
RepoRecon validates the following sensitive credentials:
- ๐ AWS Credentials
- ๐ Azure Credentials
- ๐ Slack Tokens
- ๐ Stripe API Keys
- ๐ GitHub Personal Access Tokens
- ๐ Heroku API Keys
- ๐ Dropbox API Keys
- ๐ Twilio API Keys
๐ Custom Gitleaks Rules
Enhance detection capabilities using a custom rules.toml file, allowing additional secret-detection patterns.
Example: Running Gitleaks with Custom Rules
githubsearchtool "security" --token <your_github_token> --download-all --gitleaks --rule-file /path/to/rules.toml
Ensure the rules.toml file is correctly configured to match your detection requirements.
๐ Dependencies
The following Python packages are required (listed in requirements.txt):
boto3requestsrichpyfigletstripe
๐ข Notes
- Ensure Gitleaks and git are installed and accessible in your system's
PATH. - Use a GitHub personal access token with appropriate permissions to access the GitHub API.
- Make Sure that you are using the **rules.toml" file
๐ค Contributing
We welcome contributions! If you have enhancements or bug fixes, fork the repository and submit a pull request.
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.
๐ Acknowledgments
Special thanks to the creators of Gitleaks and all open-source contributors who help improve security research tools like RepoRecon.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reporecon-1.0.8.tar.gz.
File metadata
- Download URL: reporecon-1.0.8.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00a8597af993d8266976771891978ebdb48c2fbf516da2f450a4c9afc5086408
|
|
| MD5 |
46ba83669a30058a3dd743da927430a6
|
|
| BLAKE2b-256 |
6811e31636a70140d52b9509f0135addff306ef9a5ea1d1457a7527823a1029f
|
File details
Details for the file RepoRecon-1.0.8-py3-none-any.whl.
File metadata
- Download URL: RepoRecon-1.0.8-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d82e0edd52efe65346c5f89b8e7ad3ed485c3265e12b3f86a59330c98313265
|
|
| MD5 |
d43e2be7982a0c8fa1a0b6f7d24d49e7
|
|
| BLAKE2b-256 |
d12a39fcda8eb21db0d2f7f15b987805a177bb9445522838ce33adfd10fc942c
|