16. Seguridad y calidad: Bandit + SonarQube 🛡️
Propósito del módulo final
En este cierre del curso trabajas una ruta profesional de revisión de código Python: primero detectas vulnerabilidades puntuales con Bandit, luego amplías el análisis con SonarQube para ver calidad, mantenibilidad y mejoras continuas.
La idea es comparar ambas herramientas sobre un mismo script para entender qué detecta cada una y cómo se complementan.
Clase 1: Bandit (seguridad específica en Python)
Bandit es un analizador estático orientado a riesgos típicos en Python: uso inseguro de eval,
secretos embebidos, deserialización peligrosa y otros patrones.
Clase 2: SonarQube (calidad global del proyecto)
SonarQube permite revisar bugs, vulnerabilidades, complejidad, duplicación y code smells. Si Bandit te da alertas concretas de seguridad Python, SonarQube te da una visión más completa del estado del proyecto.
🐍 Actividad integradora final
Usa el mismo script de inventario o ventas que construiste en módulos anteriores:
- Ejecuta Bandit y anota al menos dos hallazgos.
- Corrige el código y vuelve a ejecutar Bandit.
- Analiza el proyecto en SonarQube (o revisa un reporte preparado por el docente).
- Compara: ¿qué detecta Bandit y qué detecta SonarQube que Bandit no muestra?
Evidencia esperada: breve reporte con hallazgos, correcciones aplicadas y conclusión de mejora continua.
Diferencia clave entre ambas herramientas
Bandit: ideal para comenzar con seguridad en Python porque entrega resultados rápidos y accionables.
SonarQube: ideal para una segunda etapa, cuando quieres evaluar salud general del código y sostener una mejora continua de calidad.