nikitastupin / clairvoyance

Obtain GraphQL API schema even if the introspection is disabled
Apache License 2.0
967 stars 87 forks source link

Is the script meant to be very slow? #33

Closed captchaunited closed 1 year ago

captchaunited commented 2 years ago

My first run of it has been going overnight, hasn't produced anything yet.

Console is filled with a bunch of warnings,

[WARNING][2022-03-20 12:42:35 oracle.py:303]    Unknown error message: 'Cannot query field "xxxx" on type "Query".'
[DEBUG][2022-03-20 12:42:35 oracle.py:324]  get_typeref('Cannot query field "xxxx" on type "Query".', 'InputValue') -> None
[WARNING][2022-03-20 12:42:37 oracle.py:303]    Unknown error message: 'Cannot query field "xxxx" on type "Query".'
[DEBUG][2022-03-20 12:42:37 oracle.py:324]  get_typeref('Cannot query field "xxxx" on type "Query".', 'InputValue') -> None
[WARNING][2022-03-20 12:42:39 oracle.py:303]    Unknown error message: 'Cannot query field "xxxx" on type "Query".'
[DEBUG][2022-03-20 12:42:39 oracle.py:324]  get_typeref('Cannot query field "xxxx" on type "Query".', 'InputValue') -> None
nikitastupin commented 2 years ago

Hi @captchaunited! It supposed to run relatively fast. In your case it might be either (1) an edge-case bug related to the GraphQL API you've tested against or (2) too large wordlist.

Azathothas commented 1 year ago

Hi @nikitastupin how much time would the script take if the wordlist used is the google-10000-english as recommended on the main wiki. I have tested the GraphQL endpoint manually and there seems to be no rate limits imposed on the amount of queries, so that could be excluded as the probable cause because the script has been running for over 12hrs now...

nikitastupin commented 1 year ago

Hey @Azathothas,

It depends on a particular endpoint. However, 12 hours is definitely more than it should. Perhaps, the endpoint runs on a framework that's not supported by clairvoyance yet or it has some other obstacle.

nikitastupin commented 1 year ago

40 might resolve performance and some other issues

nikitastupin commented 1 year ago

Also, you may check out the output file while Clairvoyance is still running because it outputs intermediate schema as it builds it (no need to wait until it ends).