Commits
Línea base de seguridad sólida: 2FA, autoactualizaciones y cuatro comprobaciones nuevas en la auditoría
La pregunta que lo impulsó: ¿basta con lo que auditábamos para que un WordPress sea difícil de hackear? No. Cuatro tickets en paralelo, revisión en dos ejes y el conector en la versión 1.9.0.
Todo partió de una pregunta incómoda: ¿basta con lo que auditamos para que un WordPress sea difícil de hackear? La respuesta era no: faltaban el segundo factor, las autoactualizaciones, la versión de PHP, los plugins inactivos, los administradores sobrantes y los permisos de wp-config.
Cuatro tickets, cuatro worktrees, sin incidentes
La especificación se dividió en cuatro tickets que cuatro implementadores TDD construyeron en paralelo, cada uno en su worktree fuera del repositorio —la lección de la semana pasada aplicada sin incidentes— y tres operaciones de integración los incorporaron uno a uno. Después, una revisión de código en dos ejes (estándares y especificación) encontró un error real en la comprobación de plugins, un único corrector lo resolvió todo y main quedó con el conector en la versión 1.9.0.
La comprobación de 2FA que cumple su función
La auditoría no se limita a avisar: la comprobación exige que el plugin de 2FA esté activo y que cada administrador tenga un segundo factor, lee las claves meta reales de los proveedores (no las que asumíamos) y la pestaña de seguridad ofrece instalar o activar con un clic cuando falla, volviendo a auditar al terminar, incluso si la activación ha fallado.
Autoactualizaciones y el resto de la lista
El endurecimiento de WordPress permite forzar las autoactualizaciones con un interruptor, y la auditoría añade cuatro comprobaciones de bajo coste: versión de PHP soportada, administradores sobrantes, plugins inactivos y permisos de wp-config, con el filtro del conector para rutas no estándar. El filtro de recomendaciones colapsa sus dos botones en uno solo: una acción por recomendación y ningún duplicado.
Números
Batería final: harness de PHP con 47/47 en verde, compilación del frontend limpia y 139 pruebas de pytest. La línea base ya está en main: todo WordPress gestionado que falle alguna de las nuevas comprobaciones ahora aparece en la lista.