You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The [`graphql-armor`](https://github.com/Escape-Technologies/graphql-armor) plugin is a security layer that help you protect your GraphQL server from malicious queries.
52
-
It allows you to configure various security features such as character limit or blocking field suggestions.
53
-
For more information about `graphql-armor` features, you can refer to the [documentation for the plugin](/docs/gateway/other-features/security/block-field-suggestions).
54
-
55
-
Here is an example of how to use `graphql-armor` to disable introspection and block field
56
-
suggestions.
57
-
58
-
</Callout>
56
+
## Blocking Field Suggestions
59
57
60
58
When executing invalid GraphQL operation the GraphQL engine will try to construct smart suggestions
61
59
that hint typos in the executed GraphQL document. This can be considered a security issue, as it can
62
60
leak information about the GraphQL schema, even if introspection is disabled.
63
61
64
-
<Callout>
65
-
If your goal is to avoid unknown actors from reverse-engineering your GraphQL
66
-
schema and executing arbitrary operations, it is highly recommended to use
67
-
persisted operations.
68
-
69
-
[Learn more about persisted operations.](/docs/gateway/persisted-documents)
62
+
Tools like [Clairvoyance](https://github.com/nikitastupin/clairvoyance) can exploit the smart
63
+
suggestions and brute-force obtaining the GraphQL schema even if the introspection has been
64
+
disabled.
70
65
71
-
</Callout>
66
+
[Enabling the `blockFieldSuggestions` option](/docs/gateway/other-features/security/block-field-suggestions)
67
+
will disable these smart suggestions and therefore prevent schema leaking.
72
68
73
-
Disabling the "did you mean x" suggestion feature can be achieved via the
0 commit comments