loading
loading
Recon
GraphQL enrichment and dedupe for archive repo and user CSVs.
overview
gh-enhancer is the cleanup stage after archive harvest. It reads --repos-file and --users-file CSVs, confirms entries against the GitHub GraphQL API, and writes a folder of unique repositories and users.
Work runs in --batch-size chunks across --threads. Use --token for small runs, or --file-tokens to rotate credentials when one token nears its rate cap.
Trickest runs it as a managed Recon node between collectors (gh-downloader / gh-scraper) and gh-investigator. Feed noisy CSVs in; hand verified unique lists downstream.
use cases
Feed the raw repos and users CSV files from the scraper into gh-enhancer to collapse duplicate entries into one clean list per type.
Confirm and enrich each entry against GitHub's GraphQL API in batches, dropping stale or invalid records before investigation.
Point --file-tokens at a list of tokens so large archives keep enriching across several credentials instead of stalling on one rate limit.
Produce the clean repositories and users folder that the investigator stage reads to surface secrets, contributors, and other findings.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| repos-file | FILE | --repos-file | Path of the file containing the repos CSV files to process. |
| users-file | FILE | --users-file | Path of the file containing the users CSV files to process. |
| token | STRING | --token | GitHub token used for the API calls. |
| file-tokens | FILE | --file-tokens | File of GitHub tokens to rotate across for API calls. |
| batch-size | STRING | --batch-size | How many entries each GitHub GraphQL request asks for at once. |
| threads | STRING | --threads | Number of threads to run the enrichment with. |
Showing key inputs. gh-enhancer exposes 6 inputs in total.
example
# gh-enhancer: enrich and dedupe archive repos/users via GraphQLgh-enhancer --repos-file repos.csv --users-file users.csv --token "$GITHUB_TOKEN" --batch-size 50 --threads 4https://github.com/example-org/web-frontendhttps://github.com/example-org/payments-apihttps://github.com/example-org/infra-terraformhttps://github.com/example-dev/ci-runnershttps://github.com/example-app/mobile-clienthttps://github.com/example-test/docs-sitehttps://github.com/example-net/edge-proxyhttps://github.com/example-io/sdk-pythonguidance
Use gh-enhancer when you have raw repos and users CSVs from an archive scrape and need them deduplicated and verified before investigation. Collect first with gh-downloader or gh-scraper; mine findings afterward with gh-investigator.
Upstream stage. Turns GitHub Archive URLs into the raw repos and users CSVs this node cleans.
Sibling collector in the same toolkit. Pulls archive data down before enrichment runs.
Downstream stage. Reads the enriched lists to surface interesting GitHub findings.
faq
related
Multi-source subdomain discovery; hand names to httpx.
Find domains and subdomains potentially related to a given domain.
CLI client for the BeVigil OSINT API, keyed by domain or app package.
Multi-cloud public name enumeration for AWS, Azure, and GCP.
List assets from multiple cloud providers in one inventory.
Active multi-technique DNS enumeration for assessments.
Raw archive CSVs feed gh-scraper, which passes scraped repos and users to GH Enhancer; it deduplicates and enriches them through the GraphQL API into a clean folder of unique lists.
Facts on this page come from the live Trickest tool library.