Schema Leak — Fuite de schéma & introspection GraphQL
★★★★★
Définition
Exposition involontaire de la structure interne d'une API : introspection GraphQL activée en production, spec OpenAPI publique, ou messages d'erreur détaillant champs et types. Une carte complète du schéma facilite grandement l'attaque.
Introspection GraphQL
# Requête d introspection complète
query IntrospectionQuery {
__schema {
types { name fields { name } }
queryType { name }
mutationType { name }
}
}
# Outils de visualisation
# graphql-voyager, graphqlmap, clairvoyance (si introspection off) Défenses
Désactiver l'introspection en production, masquer/épurer les messages d'erreur, ne pas exposer publiquement la spec OpenAPI complète, et appliquer une autorisation au niveau de chaque champ/résolveur.