Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

construction fails for depth around > 200 / resource exhaustion?

Abierto
#216 11 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
graphql, python
Área
api, security

Línea de trabajo

Empieza localizando la generación recursiva del árbol de solicitudes/entradas de GraphQL y la prueba de construcción de solicitudes profundas mencionada en el issue. Reproduce el fallo de recursión con una profundidad superior a 200; después, evalúa un enfoque iterativo o basado en generadores y un límite de nodos. Se considera terminado cuando los grafos profundos o demasiado grandes fallan de forma segura con un error claro, en lugar de agotar los recursos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Reporting issues with GraphQL-core 3

In my tests the construction of a deep request tree fails with recursion problems.
The problem is a recursive approach in the generation of the graphql request tree (this is why I created the test).

Next to denial of service it is most probably possible to cause resource exhaustion attacks by passing big graphs.

There should be two changes:

  • a "stack free" (not really stack free but the recursion depth is drastically reduced) approach in generating the input graph. I did something with generators in my project: graphene-protector:
    https://github.com/devkral/graphene-protector
  • a node limit after which the generation of the input graph is stopped with an error

I am not sure if the cost spec ( https://ibm.github.io/graphql-specs/cost-spec.html ) can fix this. The changes must take place while generating the requested input graph

Lenguaje dominante
Python
Estrellas
531
Forks
147
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de graphql-python/graphql-core

Todos los issues de graphql-python/graphql-core

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.