
Marco de amenazas GraphQL utilizado por profesionales de seguridad para investigar brechas de seguridad en implementaciones de GraphQL.
graphql-threat-matrix fue creado para cazadores de recompensas, investigadores de seguridad y hackers, con el fin de ayudar a descubrir vulnerabilidades en múltiples implementaciones de GraphQL.
Las diferencias en cómo las implementaciones de GraphQL interpretan y se ajustan a la especificación de GraphQL pueden generar brechas de seguridad y vectores de ataque únicos. Al analizar y comparar los factores que impulsan los riesgos de seguridad en diferentes implementaciones, el ecosistema de GraphQL puede tomar decisiones de despliegue más seguras, así como avanzar colectivamente en la madurez de seguridad de todas las implementaciones.
Leyenda
✅ - Activado por defecto
⚠️ - Desactivado por defecto
❌ - Sin soporte
| Implementación | Validaciones | Sugerencias de campos | Límite de profundidad de consulta | Análisis de coste de consulta | Consultas persistidas automáticas | Introspección | Modo depuración | Solicitudes por lotes |
|---|---|---|---|---|---|---|---|---|
| wp-graphql | 38 | ✅ | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ✅ |
| graphql-php | 37 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ⚠️ | ⚠️ |
| graphql-api-for-wp | 37 | ⚠️ | ❌ | ❌ | ✅ | ✅ | ⚠️ | ✅ |
| Apollo | 34 | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | ✅ | ✅ |
| graphql-yoga | 34 | ✅ | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ |
| graphene | 34 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ⚠️ |
| Ariadne | 34 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ⚠️ | ❌ |
| Strawberry | 34 | ✅ | ⚠️ | ❌ | ❌ | ✅ | ❌ | ❌ |
| graphql-dotnet | 29 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| graphql-ruby | 28 | ✅ | ❌ | ⚠️ | ⚠️ | ✅ | ❌ | ✅ |
| Sangria | 27 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| Tartiflette | 26 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| graphql-java | 26 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| gqlgen | 25 | ✅ | ❌ | ⚠️ | ⚠️ | ✅ | ⚠️ | ⚠️ |
| Dgraph | 25 | ✅ | ❌ | ❌ | ⚠️ | ✅ | ❌ | ❌ |
| graphql-go | 24 | ✅ | ❌ | ❌ | ❌ | ✅ | ⚠️ | ❌ |
| juniper | 24 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ⚠️ |
| Diana.jl | 10 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| gql-dart/gql | 9 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Agoo | 1 | ❌ | ❌ | ❌ | ❌ | ✅ | ⚠️ | ❌ |
| Lighthouse | 1 | ✅ | ⚠️ | ⚠️ | ⚠️ | ✅ | ⚠️ | ✅ |
Usa graphw00f para identificar la API GraphQL de destino y determinar la implementación del backend.
¿Interesado en contribuir? ¿Encontraste una discrepancia? Crea un issue de GitHub o un PR con tus datos.