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.0.5.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: graphdna-1.0.5.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.0.5.tar.gz
Algorithm Hash digest
SHA256 659a68283dc0a5b2c0a961daf71bdcd1c5b92314ab394d53d94d0949125534c8
MD5 c674758ab757b809dd733b4e7c09c8fe
BLAKE2b-256 757bf4ed51402d28dbd8a7b48067b8a5a953c9f989260036ea41caf800a4ec70

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphdna-1.0.5-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.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 897631ec62e06ee77ee0cd681339e130e4f9b9523fd05e5371de9fa247bb3b0f
MD5 81d8e6d39350d251f40d3d27fa8e027a
BLAKE2b-256 0e8c5309a847fec3813572e18714ee50c86025202c26a96d73b045d59f42618a

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