Resultado del análisis
OWASP Guard
python
Resumen técnico
Contexto del análisis
- Lenguajes
- python
- Frameworks
- No detectados
- Archivos analizados
- 18
- Duración
- 54 ms
- Controles registrados
- 27 / 27
- Controles ejecutados
- 27
- No aplica
- 21
- Pendientes/revisión
- 2
Cobertura global de 58.33 %, inferior al umbral de 80 %.
OG-03.1 usa un catálogo local local-test-snapshot-2026.08 con snapshot 2026-08-26. El snapshot es limitado y no exhaustivo.
Evaluación Arquitectónica
Diagnóstico de Framework & Alternativa Recomendada
💡 ¿Por qué este framework le serviría más?
El proyecto utiliza Python Nativo. En aplicaciones modernas y APIs REST, Flask requiere múltiples extensiones externas para validación de datos, serialización y control de tipos. Migrar a FastAPI ofrece validación declarativa con Pydantic, mitigando sustancialmente vulnerabilidades de inyección OWASP A03 y fallos de tipado, con una sintaxis de rutas casi idéntica.
⭐ Beneficios Clave de Seguridad y Rendimiento
- Validación estricta con Pydantic: rechaza payloads maliciosos o malformados antes de llegar al controlador.
- Concurrencia nativa ASGI: soporte asíncrono puro (async def) con rendimiento cercano a Node y Go.
- Documentación OpenAPI/Swagger automática interactiva en /docs y /redoc sin configuración.
- Curva de migración muy baja: la definición de endpoints (@app.get, @app.post) es análoga a Flask.
⚖️ Matriz Comparativa: Actual vs Recomendado
| Dimensión | Framework Actual | Framework Sugerido | Ventaja |
|---|---|---|---|
| Validación de Parámetros y Body | Flask: request.json manual sin validación tipada | FastAPI: Pydantic BaseModels con validación estricta | Mitigación nativa de OWASP A03 |
| Arquitectura de Ejecución | Flask: WSGI síncrono (I/O bloqueante) | FastAPI: ASGI asíncrono con Uvicorn | 2.5x a 4x mayor concurrencia |
| Especificación de Contratos | Flask: Requiere extensiones de terceros | FastAPI: OpenAPI 3.1 & JSON Schema nativos | Estandarización automática |
| Inyección de Dependencias | Flask: Contexto global (g, current_app) | FastAPI: Sistema Depends() modular y testeable | Mejor mantenibilidad y testing |
Distribución por severidad
Critical / High / Medium / Low / Info
Taxonomía estándar
Categorías OWASP Top 10:2025
A01 Broken Access Control
Todos los controles de la categoria son NO_APLICA.
A02 Security Misconfiguration
Cobertura automatica de 0.00 %, inferior al umbral de 80 %.
A03 Software Supply Chain Failures
Cobertura automatica de 33.33 %, inferior al umbral de 80 %.
A04 Cryptographic Failures
Cumplimiento y cobertura cumplen los umbrales y no hay fallos altos o criticos.
A05 Injection
Todos los controles de la categoria son NO_APLICA.
A06 Insecure Design
Todos los controles de la categoria son NO_APLICA.
A07 Authentication Failures
Todos los controles de la categoria son NO_APLICA.
A08 Software or Data Integrity Failures
Todos los controles de la categoria son NO_APLICA.
A09 Security Logging and Alerting Failures
Todos los controles de la categoria son NO_APLICA.
A10 Mishandling of Exceptional Conditions
Cumplimiento y cobertura cumplen los umbrales y no hay fallos altos o criticos.
Controles evaluados
27 controles OWASP Guard
| ID | Categoría | Control | Estado | Cumplimiento | Cobertura | Severidad | Hallazgos |
|---|---|---|---|---|---|---|---|
| OG-01.1 | A01 Broken Access Control | Función sensible sin control de autorización | No aplica | No determinado | No determinado | Alta | 0 |
| OG-01.2 | A01 Broken Access Control | Acceso directo a objetos sin validar propiedad | No aplica | No determinado | No determinado | Alta | 0 |
| OG-02.1 | A02 Security Misconfiguration | Modo de depuración habilitado | Requiere revisión | No determinado | 0.0 % | Alta | 1 |
| OG-02.2 | A02 Security Misconfiguration | Configuración CORS permisiva | No aplica | No determinado | No determinado | Alta | 0 |
| OG-02.3 | A02 Security Misconfiguration | Cookies sensibles configuradas inseguramente | No aplica | No determinado | No determinado | Alta | 0 |
| OG-03.1 | A03 Software Supply Chain Failures | Dependencia con vulnerabilidad conocida | Requiere revisión | No determinado | 0.0 % | Crítica | 9 |
| OG-03.2 | A03 Software Supply Chain Failures | Dependencias sin versión fijada o resolución reproducible | Cumple | 100.0 % | 100.0 % | Media | 0 |
| OG-03.3 | A03 Software Supply Chain Failures | Dependencia obtenida desde fuente insegura | No aplica | No determinado | No determinado | Alta | 0 |
| OG-04.1 | A04 Cryptographic Failures | Algoritmo criptográfico débil | No aplica | No determinado | No determinado | Alta | 0 |
| OG-04.2 | A04 Cryptographic Failures | Generación insegura de valores sensibles | No aplica | No determinado | No determinado | Alta | 0 |
| OG-04.3 | A04 Cryptographic Failures | Clave criptográfica escrita en el código | Cumple | 100.0 % | 100.0 % | Crítica | 0 |
| OG-05.1 | A05 Injection | Posible inyección SQL | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-05.2 | A05 Injection | Posible inyección de comandos | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-05.3 | A05 Injection | Posible Cross-Site Scripting | No aplica | No determinado | No determinado | Alta | 0 |
| OG-06.1 | A06 Insecure Design | Carga de archivos sin restricciones | No aplica | No determinado | No determinado | Alta | 0 |
| OG-06.2 | A06 Insecure Design | Operación crítica sin límites de negocio | No aplica | No determinado | No determinado | Alta | 0 |
| OG-07.1 | A07 Authentication Failures | Credenciales predeterminadas o escritas en el código | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-07.2 | A07 Authentication Failures | Inicio de sesión sin protección contra intentos repetidos | No aplica | No determinado | No determinado | Alta | 0 |
| OG-07.3 | A07 Authentication Failures | Verificación insegura de JWT | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-08.1 | A08 Software or Data Integrity Failures | Deserialización insegura | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-08.2 | A08 Software or Data Integrity Failures | Código externo utilizado sin comprobar integridad | No aplica | No determinado | No determinado | Crítica | 0 |
| OG-09.1 | A09 Security Logging and Alerting Failures | Eventos de seguridad sin registro | No aplica | No determinado | No determinado | Media | 0 |
| OG-09.2 | A09 Security Logging and Alerting Failures | Información sensible registrada | No aplica | No determinado | No determinado | Alta | 0 |
| OG-09.3 | A09 Security Logging and Alerting Failures | Ataques repetidos sin generación de alerta | No aplica | No determinado | No determinado | Alta | 0 |
| OG-10.1 | A10 Mishandling of Exceptional Conditions | Excepción ignorada o silenciada | Cumple | 100.0 % | 100.0 % | Media | 0 |
| OG-10.2 | A10 Mishandling of Exceptional Conditions | Detalles internos expuestos al usuario | No aplica | No determinado | No determinado | Alta | 0 |
| OG-10.3 | A10 Mishandling of Exceptional Conditions | Fallo abierto ante una excepción | Cumple | 100.0 % | 100.0 % | Crítica | 0 |
Explorador de hallazgos
Hallazgos y Propuestas de Remediación
Alta Modo de depuración habilitado Alta OG-02.1 anaesteban1-database-backup-strategies-dd3378b/backup_project/settings.py:12 💡 Parche disponible Ver detalle
- Regla
- OG-02.1 - Modo de depuración habilitado
- Categoría
- A02 Security Misconfiguration
- Estado
- Requiere revisión
- Severidad
- Alta
- Confianza
- Alta
- CWE
- CWE-489
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/backup_project/settings.py
- Línea
- 12
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- El modo de depuración o una configuración de desarrollo puede exponer detalles internos.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:1 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 1
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:2 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 2
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:3 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 3
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:4 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 4
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:5 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 5
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:6 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 6
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:7 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 7
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:8 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 8
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.
Crítica Dependencia con vulnerabilidad conocida Media OG-03.1 anaesteban1-database-backup-strategies-dd3378b/requirements.txt:9 Ver detalle
- Regla
- OG-03.1 - Dependencia con vulnerabilidad conocida
- Categoría
- A03 Software Supply Chain Failures
- Estado
- Requiere revisión
- Severidad
- Crítica
- Confianza
- Media
- CWE
- CWE-1395
- Lenguaje
- python
- Framework
- No determinado
- Archivo
- anaesteban1-database-backup-strategies-dd3378b/requirements.txt
- Línea
- 9
- Columna
- No disponible
- Función/endpoint
- No determinado
- Descripción
- Una dependencia resuelta dentro de un rango vulnerable conocido compromete la cadena de suministro.