Pentesting agile: seguridad sin fricciones con los desarrollos

2 de diciembre de 2025

Mantener la velocidad de desarrollo exigida por el negocio sin comprometer la seguridad de las aplicaciones es un reto en muchos entornos empresariales actuales. Especialmente en el sector financiero, debido a las crecientes demandas de un mercado que interactúa cada vez más con el mundo digital en lugar del físico.

Esto ha llevado a un afán por sentir que los desarrollos han sido asegurados, incurriendo en pruebas rápidas al final del desarrollo que no garantizan una cobertura efectiva de las vulnerabilidades. Si se detecta una debilidad crítica en esta etapa, puede provocar retrocesos en los procesos ágiles, retrasar lanzamientos o incluso exponer a la empresa a riesgos reputacionales.

Un ejemplo de explotación de una vulnerabilidad de desarrollo, que no fue detectada en un proceso correcto de pentesting durante el ciclo de desarrollo seguro, se presentó en 2018 en la cadena de hoteles Marriott, cuando a través de uno de sus desarrollos un atacante logró acceder a la base de datos de clientes que habían tomado sus servicios hasta septiembre de ese mismo año. Esto expuso datos confidenciales y financieros de cerca de 500 millones de personas, lo que provocó que, dos años después del incidente el gobierno británico los multara con 18 millones de libras esterlinas.

La seguridad tardía siempre llega demasiado tarde.

¿Por qué no se detectan las amenazas?

La evolución de metodologías de desarrollo ágil (agile), han integrado algunos mecanismos de seguridad dentro de ciclo del desarrollo, adaptaciones del pentesting tradicional a escenarios cortos, pentesting automatizados o pentesting incrementales.

Pero en muchas empresas, más tradicionales, el proceso de pentesting sigue siendo una actividad posterior al desarrollo, con mecanismos tradicionales que suelen ser largos y exhaustivos, lo que genera retrasos en la salida a producción de los servicios. Lo más grave, es que para acelerar el cubrimiento de las necesidades los tiempos de pentesting son reducidos.

Planteemos un caso hipotético, donde una empresa de retail quiera aprovechar un sistema de venta no explotado por ninguna competencia. Entonces, se plantea un desarrollo que se integraría a la aplicación actual, para lo cual se le da el plazo al equipo de desarrollo de tres semanas para tener lista la actualización y posterior a esto una semana al equipo de pentesting para hacer la validación. A los 15 días, se hace un anuncio de prensa por parte de comunicaciones del retail, indicando que saldrá una nueva actualización en la aplicación que facilitará el proceso de pago a todos sus clientes.

Cuando la seguridad va detrás del negocio, siempre pierde terreno.

Cuando la actualización es finalmente analizada por el pentester ya ha pasado todo el ciclo de vida de desarrollo, si se detecta algo crítico, la actualización debe volver a desarrollarse, pero adicionalmente, tienen la presión de hacer un análisis exhaustivo en pocos días, si la actualización implica varios cambios es posible que alguno no sea revisado en el tiempo asignado.

Ahora, supongamos que se detectó una vulnerabilidad alta, que requiere otra semana para ser corregida por desarrollo y al menos un par de días para ser validada nuevamente en ciberseguridad. Recuerden que comunicaciones ya había anunciado el lanzamiento de la actualización, por lo tanto, lo más posible es que salga así y se mande posterior una actualización tipo parche para mitigar ese riesgo, pero la ventana de ataque se habria abierto completamente.

Una ventana de ataque abierta puede costar más que cualquier retraso.

¿Cómo se debe integrar el pentesting al desarrollo ágil?

En la mayoría de las empresas, y como parte de las buenas prácticas, se han adoptado un enfoque automatizado y dinámico de pentest en el ciclo de vida del desarrollo de software. En todos los enfoques es vital el trabajo en conjunto entre desarrolladores y pentesters.

Veamos cómo las fases del ciclo de vida del desarrollo pueden ser apoyadas con este enfoque adaptativo de pentesting, empecemos recordando las fases del ciclo con la planeación, diseño, desarrollo, pruebas, implementación y mantenimiento.

En la planeación, la integración es completamente colaborativa. El equipo de pentesting puede aportar información para la detección de riesgos inicial, permitiendo que los desarrolladores tengan claro las amenazas que deben mitigar en el proceso de desarrollo.

La seguridad empieza antes de escribir la primera línea de código.

En el diseño los desarrolladores estructuran la arquitectura sobre la cual se implementará el proyecto, por lo tanto, es un momento crucial para que los analistas de ciberseguridad puedan aportar en la identificación de posibles puntos débiles, como gestión de identidad o uso de componentes de terceras partes, lo cual puede ser soportado a través de pruebas al diseño.

En la fase de desarrollo o codificación, inicia la integración de herramientas automatizadas de seguridad, las cuales están diseñadas para los análisis de código estático (SAST) y dinámico (DAST). Pero la evolución de este proceso tradicional son las pruebas interactivas (IAST), permitiendo a los equipos de pentesting acceder a la estructura interna de la aplicación, pero tener una visual de como la aplicación responde cuando hay tráfico.

Esto se debe complementar con pruebas manuales, sobre segmentos puntuales de la aplicación que permitan hacer ese análisis de la composición del software, lo que ayuda a detectar las vulnerabilidades comunes del desarrollo o de la arquitectura.

Automatizar ayuda, pero evaluar a fondo es lo que protege.

En la fase de pruebas es donde tradicionalmente entraba en juego los equipos de pentesting, una vez terminan las pruebas funcionales, se entrega el desarrollo a los pentest para realizar las pruebas de simulación de ataques y la detección de las amenazas, esto hace que esta fase sea crítica desde el punto de vista de la seguridad y del negocio, pues cualquier brecha no detectada puede ser un costo muy grave en producción.

En la implementación el apoyo de pentesting es importante en la infraestructura, pues al realizar las pruebas sobre servidores, contenedores, bases de datos, lambdas o cualquier componente, permite garantizar que no solo el desarrollo sino los componentes entregan un nivel de seguridad correcta.

En la fase final o de mantenimiento es vital crear un apoyo continuo que no está orientado a detectar errores funcionales, sino a prever la corrección de vulnerabilidades emergentes en los componentes del sistema. Para esto desde hace varios años se han desarrollado servicios de pentesting persistentes, pero en apoyo a pruebas manuales o incluso mucho más agresivas como un red team.

La seguridad no termina con el lanzamiento: empieza su ciclo más largo.

La seguridad no es obstáculo

Para las organizaciones que tienen equipos de desarrollo o que requieren la generación de varios proyectos de software, la velocidad de desarrollo es clave para la competitividad, pero cada vez es más importante y necesario el integrar el pentesting en cada fase del ciclo de vida de las aplicaciones, a diferencia de hace unos años ya no es una opción, sino una necesidad estratégica.

Hoy en día, la ciberseguridad ya no se percibe como un obstáculo, sino como un habilitador de la agilidad empresarial, siempre que se integre de forma proactiva, colaborativa y automatizada. Este enfoque no solo mejora la postura de seguridad de la empresa, sino que también preserva la agilidad que exige el mercado. En definitiva, el pentesting integrado permite que la innovación avance con confianza, sabiendo que cada línea de código está respaldada por prácticas robustas de protección.

La seguridad bien integrada impulsa la agilidad del negocio.

DevSecOps vs SSDLC: ¿Cuál es la mejor estrategia para desarrollo seguro?