Updated Jul 15, 2026

Recon

Cut archive CSVs down to high-signal repos

Filter scraped GitHub archive CSVs by star, fork, and watcher floors.

Agent

overview

What gh-investigator does

Sits after a GitHub archive scrape. Reads local CSVs, applies popularity floors, and writes a folder of repos and users that cleared the bar.

Reach for it when the scrape firehose is too large for manual review and you need star, fork, and watcher thresholds before secret scanning.

Inputs are --repos-file, --users-file, or --logs-folder. It does not call the live GitHub API; trufflehog and gitleaks run on what it keeps.

source github.com/carlospolop/github_archive_scraper

use cases

Where gh-investigator fits

Triage a large GitHub archive scrape

Feed in the repos and users CSVs from a scrape and apply popularity thresholds so analysts review the standout accounts instead of every exported row.

Surface high-signal repositories

Set minimum forks, stars, and watchers to keep only the projects with real traction, which is where internal tooling and leaked material tend to cluster.

Profile an organization's open-source footprint

Run it across a folder of logged repo and user CSVs to map which projects and developers carry the most weight around a target organization.

Seed downstream OSINT on the right targets

Use the filtered folder as the input list for secret scanning or contributor analysis so those slower stages run only against the repos that cleared the bar.

reference

gh-investigator inputs and flags

6 inputs
NameTypeFlagDescription
repos-fileFILE--repos-fileThe path of the file containing the repos csv files.
users-fileFILE--users-fileThe path of the file containing the users csv files.
logs-folderFOLDER--logs-folderThe path of the folder containing the users and/or repos csvs.
minimum-forksSTRING--minimum-forksMin forks of repos.
minimum-starsSTRING--minimum-starsMin stars of repos.
minimum-watchersSTRING--minimum-watchersMin watchers of repos.

Showing key inputs. gh-investigator exposes 6 inputs in total.

example

Run gh-investigator

gh-investigator · command
# gh-investigator: filter archive CSVs for notable reposgh-investigator --repos-file repos.csv --minimum-stars 50 --minimum-forks 10
sample output
example/security-tools stars=120 forks=40example/infra-scripts stars=80 forks=12example/legacy-api stars=55 forks=10example/docs stars=60 forks=8example/sdk stars=200 forks=70

guidance

Choosing gh-investigator

Run gh-investigator after a scraper has written repo and user CSVs. Tune --minimum-stars, --minimum-forks, and --minimum-watchers, then hand the folder to secret scanners. It filters offline; it does not collect.

trufflehog

Scans repos for leaked secrets. Run it on the high-signal repos gh-investigator keeps, not in place of the filter.

gitleaks

Secret scanner for git history. gh-investigator chooses which repos are worth that pass.

github-subdomains

Pulls subdomains from GitHub code search. A different GitHub OSINT path that complements CSV filtering.

faq

gh-investigator questions

CSV files from a GitHub archive scrape. Pass a repos CSV with --repos-file, a users CSV with --users-file, or a folder of both with --logs-folder.

Run gh-investigator yourself

A folder of scraped GitHub CSVs feeds gh-investigator, which filters by forks, stars, and watchers and writes the standout repos and users as a folder of results.

Facts on this page come from the live Trickest tool library.