Cómo La IA Mejora Las Pruebas De Seguridad De Aplicaciones Estáticas (SAST)

0
92

En una encuesta realizada por GitHub en 2023, los desarrolladores revelaron que su tarea principal, después de escribir código (32%), era encontrar y corregir vulnerabilidades de seguridad (31%). A medida que los equipos integran controles de seguridad más temprano en el ciclo de vida del desarrollo de software (SDLC, por sus siglas en inglés), los desarrolladores se han convertido en la primera línea de defensa contra las vulnerabilidades.

Lamentablemente, este enfoque temprano ha significado trasladar la carga de las prácticas de seguridad a los desarrolladores, en lugar de ofrecerles beneficios. Sin embargo, con la ayuda de la inteligencia artificial (IA), existe una promesa de mejora: el 45% de los desarrolladores cree que los equipos se beneficiarán del uso de IA para facilitar las revisiones de seguridad.

Con este panorama, entrevistamos a Tiferet Gazit, líder de IA para GitHub Advanced Security, y a Keith Hoodlet, especialista principal en seguridad en GitHub. Ambos hablaron sobre los puntos de dolor en seguridad para los desarrolladores, el valor de utilizar herramientas de seguridad con IA y cómo la IA mejora las pruebas estáticas de seguridad de aplicaciones (SAST).

Antes de compartir las perspectivas de Gazit y Hoodlet, escuchamos a los desarrolladores directamente. En 2019, el equipo de One Engineering System de Microsoft entrevistó a varios desarrolladores para entender sus frustraciones con las normativas de seguridad y cumplimiento. Las principales quejas aún resuenan hoy en día: muchos desarrolladores se ven obligados a usar herramientas de seguridad que no están diseñadas para ellos, lo que impacta negativamente su capacidad para encontrar y abordar vulnerabilidades. Además, se espera que los desarrolladores revisen, entiendan y remedien vulnerabilidades como parte de sus responsabilidades diarias, a pesar de que su prioridad principal es escribir y revisar código.

Esta situación genera lo que se conoce como cambio de contexto, lo cual puede aumentar la carga cognitiva y disminuir la productividad. En resumen, la seguridad no es una parte intrínseca del proceso de desarrollo, y los desarrolladores a menudo se sienten menos seguros de la seguridad de su código.

Sin intervención, estas frustraciones solo aumentarán con el tiempo. Se espera que el 75% de los ingenieros de software empresarial utilicen asistentes de código impulsados por IA para 2028, según Gartner. A medida que los desarrolladores mejoren su productividad y escriban más código con herramientas como GitHub Copilot, habrá aún más código para revisar.

Por otro lado, los expertos en seguridad también están sobrecargados. A menudo se reporta que hay un especialista en seguridad por cada 100 desarrolladores, quien enfrenta la enorme tarea de establecer y hacer cumplir políticas de seguridad. Según un estudio de la ISC2, en 2023 se estima una demanda de cuatro millones más de profesionales de seguridad.

Aunque la IA no reemplaza a los expertos en seguridad, puede ayudarles a aumentar su conocimiento y capacidades, especialmente cuando su experiencia es altamente demandada. Gazit comenta: «La IA puede ayudar con las revisiones de código y seguridad para garantizar que el aumento de la velocidad no conlleve un incremento de vulnerabilidades».

Las herramientas SAST no son las únicas herramientas de seguridad utilizadas por los desarrolladores, pero son de las más populares. La IA puede ayudar a que estas herramientas funcionen de manera más eficiente, mejorando la detección de vulnerabilidades al modelar una amplia gama de marcos y bibliotecas de código abierto.

GitHub ha mostrado cómo la función de autofix de escaneo de código, impulsada por GitHub Copilot y CodeQL, puede sugerir correcciones de código junto con una alerta directamente en una solicitud de extracción, proporcionando explicaciones claras y específicas.

CodeQL realiza un escaneo completo del código cuando se realizan cambios en una base de código, alertando sobre vulnerabilidades antes de que los cambios sean fusionados a la rama principal. Esta capacidad permite a los desarrolladores monitorear continuamente la seguridad de su código, remediando vulnerabilidades durante el desarrollo y antes de que el código llegue a producción.

En conclusión, las organizaciones que adopten herramientas SAST mejoradas con IA pueden ayudar a los desarrolladores a sentirse más apoyados y productivos en sus prácticas de seguridad, permitiéndoles asegurar más código en desarrollo, ser más rápidos y eficaces en remediar vulnerabilidades, y recibir orientación de seguridad directamente en sus entornos de trabajo. Esto no solo protege mejor el SDLC y optimiza recursos, sino que también facilita la innovación continua.
vía: GitHub Security