Skip to main content

A multifaceted security tool which leverages Public GitHub REST APIs for OSINT, Forensics, Pentesting and more.

Project description

Welcome to Gitxray

Gitxray (short for Git X-Ray) is a multifaceted security tool designed for use on GitHub repositories. It can serve many purposes, including OSINT and Forensics. gitxray leverages public GitHub REST APIs to gather information that would otherwise be very time-consuming to obtain manually. Additionally, it seeks out information in unconventional places.

The Octocat getting X-Rayed Build Workflows Latest Version in PIP Python Versions License
Gitxray Logo Gitxray Console

Use cases

Gitxray can be used to, for example:

  • Find sensitive information in contributor profiles disclosed by accident within, for example, Armored PGP Keys, or Key Names.

gitxray -r https://github.com/some-org/some-repository -v -f user_input

  • Identify threat actors in a Repository. You may spot co-owned or shared accounts, as well as inspect public events to spot fake Stargazers.

gitxray -r https://github.com/some-org/some-repository -v -f keys,association,starred

  • Identify fake or infected Repositories. It can detect tampered commit dates as well as, for example, Release assets updated post-release.

gitxray -r https://github.com/some-org/some-repository -v -f warning

  • Forensics use-cases, such as filtering results by date in order to check what else happened on the day of an incident.

gitxray -r https://github.com/some-org/some-repository -v -f 2024-09-01

  • And a lot more! Run a full X-Ray in Verbose mode to collect a ton of data.

gitxray -r https://github.com/some-org/some-repository -v

Please refer to the Documentation for additional use-cases and introductory information.

Documentation

Installing and running Gitxray

gitxray was written with no use of external package dependencies other than the requests library.

PyPI (PIP) Way

gitxray is on PyPI and can be installed with:

pip install gitxray

Once installed, simply run gitxray from your command line by typing:

gitxray -h

Run your first full X-Ray

gitxray -o https://github.com/kulkansecurity -v

Installing from source

You may also run gitxray directly by cloning or downloading its GitHub repository and running.

python3 -m pip install -r requirements.txt
cd src/
python3 -m gitxray.gitxray

Command Line Arguments

Required Arguments

One of the following must be specified:

  • -r, --repository [URL] - Specify a single repository URL to check. The URL must begin with https://. Example: --repository https://github.com/example/repo

  • -rf, --repositories-file [FILEPATH] - Provide a file path containing a list of repositories, each on a new line. The file must exist. Example: --repositories-file ./list_of_repos.txt

  • -o, --organization [URL] - Specify an organization URL to check all repositories under that organization. The URL must begin with https://. Example: --organization https://github.com/exampleOrg

Optional Arguments

You'll find these optional but very handy in common gitxray usage.

  • -l, --list - List contributors if a repository is specified or list repositories if an organization is specified. Useful for further focusing on specific entities. Example: --list

  • -c, --contributor [USERNAMES] - A comma-separated list of GitHub usernames to focus on within the specified repository or organization. Example: --contributor user1,user2

  • -f, --filters [KEYWORDS] - Comma-separated keywords to filter the results by, such as 'user_input', 'association', or 'mac'. Example: --filters user_input,association,mac

Verbose and Debug

  • -v, --verbose - Enable verbose output which, for example, provides a detailed list of public events instead of a summary. Example: --verbose

  • --debug - Enable Debug mode for a detailed and extensive output. Example: --debug

Output and Formats

  • -out, --outfile [FILEPATH] - Specify the file path for the output log. Cannot be a directory. Example: --outfile ./output.log

  • -outformat, --output-format [FORMAT] - Set the format for the log file. Supported formats are text and json. Default is text. Example: --output-format json

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitxray-1.0.14.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

gitxray-1.0.14-py3-none-any.whl (47.8 kB view details)

Uploaded Python 3

File details

Details for the file gitxray-1.0.14.tar.gz.

File metadata

  • Download URL: gitxray-1.0.14.tar.gz
  • Upload date:
  • Size: 44.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for gitxray-1.0.14.tar.gz
Algorithm Hash digest
SHA256 bf3d516db14cbb4b5b20e6282ba952a935be5f38c525ed81a14e360aaeae6909
MD5 2d86701e12c0df95981936e65552a508
BLAKE2b-256 bd763700e8555a9312299370c9c1ad1b32527ba3d9dabf5ed9d450c0d7f36c85

See more details on using hashes here.

File details

Details for the file gitxray-1.0.14-py3-none-any.whl.

File metadata

  • Download URL: gitxray-1.0.14-py3-none-any.whl
  • Upload date:
  • Size: 47.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for gitxray-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 2bf6995d81ec6e12c59eb834ebfdacf12d1e95f0df7c6a05538b4004a6eb32e3
MD5 1bf8806ae70fbd4595775a10ff5b4b76
BLAKE2b-256 a31d8198ff46f581524a0a1aab8d9be8ecfd7fbac853a8533ff31937a6219a76

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page