POST /api/collections returns 500 instead of 400 for ADM validation failures
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 86/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
Línea de trabajo
Comienza en collections-controller.js:create() e inspecciona cómo se manejan los errores de validación de BaseService.create(), usando la reproducción con POST /api/collections como punto de entrada. Conserva los detalles estructurados de validación del 400 y verifica que x_mitre_domains no soportados y x_mitre_contents vacíos devuelvan 400 sin persistencia.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Invalid collection payloads return a generic HTTP 500 instead of a validation response identifying the rejected fields.
Observed on REST API 4.24.0, commit 69b37fe769e6abe7675d413451a8361aecc36bea.
Reproduction
- Prepare a valid
x-mitre-collectionpayload containing at least one existing object revision inx_mitre_contents. - Add
"x_mitre_domains": ["enterprise-attack"]to itsstixobject. - POST the payload to
/api/collections.
Actual: HTTP 500:
Unable to create collection. Server error.
Expected: HTTP 400 with structured ADM validation details indicating that x_mitre_domains is an unrecognized collection field.
Removing x_mitre_domains allows the nonempty collection to return 201 and persist successfully. Explicitly empty x_mitre_contents also produces the same misleading 500.
Cause and suggested fix
BaseService.create() throws ValidationError, but collections-controller.js:create() maps every exception except DuplicateIdError to a generic 500. The log contains:
Failed with error: ValidationError: ADM validation failed
Preserve the normal validation-error handling and field-level details. Add regressions asserting 400 and no persistence for unsupported fields and empty contents.
These requests did not crash the REST process; REST and MongoDB remained healthy during verification.
- Lenguaje dominante
- JavaScript
- Estrellas
- 56
- Forks
- 18
- Merge medio
- 21 h 14 min
- PR fusionados (30 d)
- 10
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mitre-attack/attack-workbench-rest-api
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
mitre-attack/attack-workbench-rest-api#513 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
mitre-attack/attack-workbench-rest-api#499 ·
Los mantenedores suelen responder en 1 día
-
Add ADM validation bypass for server-controlled fields on non-compliant objectsPosiblemente ocupada @seansica la tomó hace 12 días. Abierto
mitre-attack/attack-workbench-rest-api#517 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
mitre-attack/attack-workbench-rest-api#512 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
mitre-attack/attack-workbench-rest-api#511 ·
Los mantenedores suelen responder en 1 día
Todos los issues de mitre-attack/attack-workbench-rest-api
Issues similares
-
Clinic sharing: fast sync refusal message suggests Delete Data, which only developer builds haveAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
avniproject/avni-client#2228 ·
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
open-webui/open-webui#33196 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
`printf "%o"` prints decimalAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
fable-compiler/Fable#5157 ·
Los mantenedores suelen responder en 1 día
-
New tool: PaperBananaPosiblemente ocupada @github-actions la tomó hoy. Abiertosubmission triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
kausalflow/tools#243 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area: apple-music area: build-release bug effort: small priority: high
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ChristianTabor/Argon#32 ·
Los mantenedores suelen responder en 1 día