Skip to main content

Fast and powerful GraphQL engine fingerprinting tool

Project description

GraphDNA PyPI CI CD

GraphDNA is a tool that uses multiple heuristics to fingerprint GraphQL endpoints.

Banner

PyPI - Python Version PyPI - Downloads

Getting Started

It takes only two simple steps to fingerprint an endpoint using GraphDNA.

pip install graphdna
graphdna -u https://example.com/graphql

The full list of supported engines is accessible here.

Banner

Documentation

import logging
from typing import Dict, Optional

from graphdna import detect_engine, detect_engine_async
from graphdna.entities import GraphQLEngine

def detect_engine(
    url: str,
    headers: Optional[Dict[str, str]] = None,
    logger: Optional[logging.Logger] = None,
) -> Optional[GraphQLEngine]:
    ...


async def detect_engine_async(
    url: str,
    headers: Optional[Dict[str, str]] = None,
    logger: Optional[logging.Logger] = None,
) -> Optional[GraphQLEngine]:
    ...

Environment Variables

Logger - No effect if you pass your own logger

Name Values Default Behavior
LOG_FORMAT console, json console Change the log format accordingly
DEBUG True, False False Enable debug logging

Local installation

git clone git@github.com:Escape-Technologies/GraphDNA.git
cd GraphDNA
chmod +x ./install-dev.sh
./install-dev.sh

Credits

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License PyPI - License

MIT

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

graphdna-1.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

graphdna-1.1.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file graphdna-1.1.0.tar.gz.

File metadata

  • Download URL: graphdna-1.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for graphdna-1.1.0.tar.gz
Algorithm Hash digest
SHA256 11d11cf172af1016e9380ef5743a0e714d5fbbbfda92e7c8ce8006da457ad17f
MD5 68e17fa4dc0dc652bced32b24d14903d
BLAKE2b-256 f1c3b3e1c8db5000c4984963d6acfd772841fbfa1ae61f52b20bd64ae5c78856

See more details on using hashes here.

File details

Details for the file graphdna-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: graphdna-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for graphdna-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc6b04a111bca83601890f39f82c2e011f647ab159fbb6d23d5871ecb49a2057
MD5 cd52c772b1d7bcb4c26d8b740ff3b0c8
BLAKE2b-256 18c9771acc7b37eba260346876e84fee93bf27512daa4b480831ae89d6d730a9

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