Test de Penetración FastAPI: DoS, SSRF y Seguridad API Python Moderna
FastAPI es el framework Python más popular para APIs modernas, adoptado por fintechs españoles, startups AI/ML y backends microservicios. Vulnerabilidades recientes incluyen CVE-2024-24762 (python-multipart DoS), CVE-2024-3651 (idna), CVE-2023-30798 (Starlette). Matproof Sentinel realiza pentests FastAPI dirigidos con prueba de explotación y reportes audit-ready DORA / NIS2 / ISO 27001 desde 149 €.
Por qué FastAPI requiere pentest específico
FastAPI ha crecido rápidamente en España para backends microservicios, fintech APIs (open banking PSD2), y ML serving. Su naturaleza async + Pydantic introduce patrones de seguridad únicos: validación automática del tipo es potente pero incompleta, dependency injection de FastAPI permite abusar de Depends() para data exfiltration, JWT en path parameters es anti-pattern común. Las CVE recientes ilustran los riesgos. Para fintechs españoles bajo DORA Art. 24, un pentest FastAPI documentado es elemento estándar de conformidad.
- CVE-2024-24762 (python-multipart): DoS via parsing multipart infinito.
- CVE-2024-3651 (idna < 3.7): DoS via parsing Unicode malformado en nombres de dominio.
- CVE-2023-30798 (Starlette < 0.37.2): path traversal en ciertos patrones de static files middleware.
- Pydantic validation gaps: tipo strong pero incompleto.
- JWT en path parameters: anti-pattern común — leak token en logs.
- Async + race conditions: FastAPI es async-first; race conditions en business logic.
- Para fintechs españoles bajo DORA Art. 24 con APIs de pago, pentest FastAPI documentado es requerido.
Qué testeamos específicamente en una API FastAPI
- CVE detection: python-multipart, idna, Starlette — verificación versiones parcheadas.
- Pydantic validation: test boundary cases, allow_extra_fields, custom validators.
- FastAPI dependency injection: Depends() chain audit, security dependencies.
- OAuth2 / JWT: PyJWT signature validation, algorithm whitelisting.
- OWASP API Top 10 (2023): BOLA, Broken Auth, BFLA, SSRF.
- Async race conditions: business logic critical sections con concurrent requests.
- File upload security: validation MIME type lado servidor, path traversal en filename.
- GraphQL (si Strawberry/Ariadne): query depth limiting, introspection en producción.
- Background tasks: code injection si task acepta user input.
- Documentation endpoints: /docs y /redoc en producción (anti-pattern).
Ejemplo de hallazgo
JWT transmitido en path parameter — leak en access logs
La API FastAPI expone endpoint GET /api/auth/refresh/{refresh_token} donde refresh_token es passed como path parameter. Anti-pattern causa leak del refresh token en: nginx access logs, Cloudflare/AWS WAF logs, browser history, Referrer headers. Test recuperó 1.247 refresh tokens válidos de logs Cloudflare últimos 30 días.
Corrección: Acción inmediata: refactor endpoint para aceptar refresh_token en body POST en lugar de path parameter. Acciones complementarias: rotar todos los refresh tokens activos; audit logs últimos 90 días; configurar log scrubbing.
Referencia: OWASP API4:2023 · CWE-598 · RGPD Art. 32(1)(b) · RFC 6749 Section 10.3
Pentest FastAPI: opciones comparadas
| — | Escaneo gratuito | Matproof Sentinel | Consultoría tradicional |
|---|---|---|---|
| Motor de escaneo automatizado | ✓ (vista previa 3 min) | ✓ Escaneo completo | ✗ Solo manual |
| Cobertura OWASP Top 10 | Parcial | ✓ Completa | ✓ Completa |
| Evidencia proof-of-exploit | ✗ | ✓ Por hallazgo | ✓ Por hallazgo |
| Mapeo normativo (DORA/NIS2/ISO 27001) | ✗ | ✓ Automatizado | ✓ Manual |
| Informe PDF listo para auditoría | ✗ | ✓ Inmediato | ✓ Entrega 2–4 semanas |
| Escaneos continuos / recurrentes | ✗ | ✓ Por despliegue | ✗ Encargo anual |
| Tiempo hasta el primer resultado | ~3 min | ~30 min escaneo completo | 2–4 semanas |
| Precio | €0 | Desde €149 | €8.000–€25.000 |
| Revisión de código fuente (SAST) | ✗ | ✓ Plan Growth | ✓ En alcance |
| Pruebas de API (REST/GraphQL) | ✗ | ✓ Automatizado | ✓ Manual |
Paquetes Pentest FastAPI
- 1 escaneo pentest completo
- Hallazgos priorizados por IA con CVSS 3.1
- Proof-of-exploit por hallazgo
- Informe PDF listo para auditoría
- Mapeo normativo (DORA, NIS2, ISO 27001)
- Escaneos ilimitados (hasta 3 dominios)
- Monitorización continua
- Integración CI/CD (GitHub, GitLab)
- Todos los mapeos normativos
- Soporte prioritario
- Escaneos + dominios ilimitados
- Pruebas autenticadas / White-Box
- Pruebas de API e infraestructura cloud
- Account manager de seguridad dedicado
- SLA de respuesta en 24h
Preguntas frecuentes sobre el pentest FastAPI
¿Qué riesgos específicos para fintechs españoles que adoptan FastAPI?
Fintech FastAPI: (1) Open Banking PSD2 APIs con OAuth2 misconfiguration; (2) Pagos SEPA con race condition; (3) JWT scope inadecuado. Testeamos todos estos patrones.
¿Testean también frameworks similares como Quart, Litestar, Sanic?
Sí. Quart, Litestar, Sanic comparten superficie de ataque similar.
¿Cómo gestionan testing de endpoints protegidos por OAuth2 / JWT?
Proporcionan token de test. Testeamos token swap, scope escalation, token replay, signature manipulation.
¿Cuánto tiempo requiere un pentest FastAPI completo?
60-90 minutos para API típica. Para GraphQL: +30-60 min.
¿El informe es aceptado para auditorías DORA Art. 24 para fintechs españoles?
Sí. Mapeo explícito DORA Art. 24/25 y Banco de España requisitos.
¿Podemos integrar con nuestro CI/CD (Poetry, pip-tools, Docker)?
Sí. GitHub Actions / GitLab CI integration. Para Poetry: scan automático en poetry.lock changes.
Temas relacionados
Profundiza — artículos relacionados del blog
Proteja su API FastAPI ahora
Primer escaneo en 3 minutos, pentest FastAPI completo en 60-90 minutos. Informe audit-ready DORA / NIS2 / ISO 27001 desde 149 €.
Iniciar escaneo gratuito