# nikitastupin/clairvoyance

Obtain GraphQL API schema even if the introspection is disabled

Repository: https://github.com/nikitastupin/clairvoyance
Canonical: https://ross.abutalabs.com/products/clairvoyance
Language: Python
License: Apache-2.0
License Family: permissive
Topics: graphql, security, penetration-testing, bug-bounty
Last push: 2025-12-05T10:50:30+00:00

## Health v2 (maintenance only)
Score: 57/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 55, release rhythm 36, longevity 100
- inputs: {"age_days": 2140, "days_push": 271, "days_rel": 271, "gap_med": 110, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1506, forks 134 (observed 2026-08-28T04:04:54.998196+00:00)

## What it is
Clairvoyance is a Python CLI tool that recovers a GraphQL API's schema even when introspection is disabled, by probing field and type names using wordlists. It outputs the schema as JSON compatible with tools like GraphQL Voyager, InQL, and graphql-path-enum.

## Use cases
- recover a GraphQL schema when introspection is disabled
- enumerate hidden GraphQL fields and types during a pentest
- generate a schema JSON for GraphQL Voyager or InQL
- audit GraphQL APIs during bug bounty hunting
- build a target-specific wordlist from app traffic to fuzz GraphQL names

## When to choose
- you're testing a GraphQL endpoint that has introspection turned off
- you need a machine-readable schema for downstream GraphQL security tooling
- you want a pip-installable or Dockerized tool for schema recovery

## When to avoid
- introspection is enabled and you can just query the schema directly
- you need an authorized-free scanner for general web vulnerabilities beyond GraphQL
- you cannot obtain a suitable wordlist for the target

## Facets
- artifact type: cli-tool
- maturity: active
- function: security, graphql, penetration-testing, cli
- domain: security, apis, penetration-testing, developer-tools
- platform: cli, python, cross-platform
- tags: graphql-introspection, schema-recovery, bug-bounty, wordlist, docker

## Member repositories
- nikitastupin/clairvoyance (main) score 57

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:54.998196+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:32:40.383378+00:00, confidence not recorded.
  - readme: https://github.com/nikitastupin/clairvoyance (fetched 2026-08-28T04:04:54.998196+00:00, sha 323e05ef05ef)
  - registry_pypi: https://pypi.org/pypi/clairvoyance/json (fetched 2026-08-29T11:37:11.554180+00:00, sha 97928a136c69)
- Data as of 2026-08-30T08:39:29.467469+00:00.
