Por qué necesitas un aliado de seguridad para el código generado por IA
25 de octubre de 2023
0 minutos de lecturaTodo el mundo habla de la inteligencia artificial generativa (GenAI), y una enorme cantidad de desarrolladores ya incorpora esta tecnología transformadora en su trabajo. Sin embargo, los asistentes de programación con GenAI solo deben usarse junto con herramientas de seguridad de IA. Veamos por qué y qué nos muestran los datos.
Gracias a la asistencia de la IA, los desarrolladores crean más rápido que nunca. Con este aumento drástico de la productividad, los equipos de seguridad deben seguir el ritmo sin frenar el progreso ni permitir, sin darse cuenta, que las vulnerabilidades se filtren entre el torrente de código.
El volumen es un gran problema, pero también existe una enorme diferencia entre la velocidad del desarrollo mejorado con GenAI y la de los procesos de pruebas más tradicionales. Después de que una herramienta de programación con GenAI genera código, el desarrollador puede suponer que es seguro y continuar con su trabajo hasta que se ejecuta una prueba de seguridad. Si en ese momento se detecta una vulnerabilidad, el desarrollador debe volver atrás y corregir su trabajo. Este cambio de enfoque no solo toma tiempo (un estudio anterior de la Universidad de California en Irvine muestra que nos toma 23 minutos retomar el ritmo después de una interrupción), sino que también es muy ineficiente, ya que hay que repetir el trabajo.
Además, estudios destacados muestran que otros factores agravan aún más el problema:
Cantidad de vulnerabilidades: Los desarrolladores que usan asistentes de programación con GenAI introducen muchas más vulnerabilidades en su código que quienes programan sin esa ayuda.
Menor conciencia: Los desarrolladores que usan asistentes de programación con GenAI confían más en el código que producen, aunque esa confianza está mal fundada.
Más adelante profundizaremos en ambos estudios, pero lo importante es reconocer que los desarrolladores no solo producen más código vulnerable con la ayuda de la IA, sino que también confían más en ese código vulnerable que en el código inseguro que creaban manualmente. Esto significa que los desarrolladores y los equipos de AppSec necesitan soluciones de seguridad más inteligentes, rápidas e intuitivas para mantenerse al día con estos nuevos problemas.

No hay que dar por seguro el código de GenAI
Como mencionamos antes, el problema no se limita al volumen de código. También se trata de las vulnerabilidades que se introducen sin que nadie lo note a la velocidad de la IA. Vulnerabilidades que se incorporan desde los cimientos de tu aplicación.
¿Por qué decimos que no hay que dar por segura la GenAI? Por ejemplo, un estudio de investigadores de la Universidad de Stanford (diciembre de 2022) mostró que los participantes con acceso a un asistente de IA “escribieron código significativamente menos seguro” que quienes no tenían acceso. Además, un estudio muy reciente de investigadores de la Universidad de Cornell (octubre de 2023) sobre los problemas de seguridad y su magnitud —centrado específicamente en escenarios reales y aplicaciones prácticas— mostró la complejidad y el impacto de las vulnerabilidades del código generado por IA. En concreto:
El 35,8 % de los fragmentos de código generados por Copilot contienen debilidades comunes (CWE) en varios lenguajes de programación.
Además, y de forma preocupante, el estudio identificó una gran variedad de debilidades de seguridad relacionadas con 42 CWE diferentes. Las vulnerabilidades más frecuentes fueron: CWE-78: inyección de comandos del sistema operativo, CWE-330: uso de valores insuficientemente aleatorios y CWE-703: verificación o manejo incorrecto de condiciones excepcionales.
Y el hallazgo más preocupante fue que alrededor del 26 % de las CWE identificadas figuran entre las 25 principales CWE de 2022.
Los desarrolladores confían más en el código vulnerable
El mismo estudio de la Universidad de Stanford que mencionamos antes también descubrió que “los participantes con acceso a un asistente de IA tenían más probabilidades de creer que habían escrito código seguro que aquellos sin acceso al asistente de IA”. En otras palabras, además de que ahora se incorporan más vulnerabilidades que nunca a los cimientos de tus aplicaciones, también es más probable que los desarrolladores confíen en incluirlas. Parece razonable suponer que se confunde la velocidad con la habilidad.
La solución: un enfoque integral
No estamos diciendo que no debas usar GenAI. Una encuesta de Gartner de 2023 a altos ejecutivos muestra que el 70 % de sus organizaciones está investigando y explorando la GenAI, y que el 19 % está en fase piloto o de producción. Así que está claro que el cambio ya ocurrió. De hecho, en Snyk también usamos herramientas de programación con GenAI, pero de una forma que prioriza la seguridad.
Creemos en aprovechar esta maravillosa tecnología nueva, pero de forma segura. Una herramienta de programación con GenAI puede considerarse un desarrollador sin experiencia. Puede producir código, pero no captar sus matices; comete errores y, desde luego, no está entrenada para detectar riesgos de seguridad, ya sean menores o enormes. Para abordar este problema de seguridad moderno, necesitarás adoptar un enfoque integral de DevSecOps y tener en cuenta a las personas, los procesos y las herramientas.
Personas
Primero, necesitas enseñarles a los desarrolladores cómo funciona la GenAI, qué fallas puede generar y cuáles son los riesgos inherentes asociados con esta tecnología.
Los modelos de GenAI (algunos también se conocen como modelos de lenguaje grandes o LLM, un subconjunto de la GenAI que se entrena con texto y genera texto) son simplemente modelos estadísticos que hacen predicciones basadas en probabilidades. Un LLM analiza enormes cantidades de datos, detecta patrones que se repiten una y otra vez y hace una conjetura fundamentada sobre lo que es probable (en lugar de factual), a partir del gran volumen de repeticiones similares o exactas que detecta. Un LLM no tiene capacidad de razonamiento y su calidad depende de los datos con los que se entrena. Por eso, cualquier falla en esos datos, incluidos los sesgos y la información desactualizada, se replicará en el LLM. A veces, lo que predice no encaja ni tiene sentido en el contexto, o incluso es completamente falso, pero el LLM no puede reconocer que está equivocado ni señalarlo para que el usuario preste atención.
Algunas herramientas de GenAI pueden incluir verificaciones de seguridad, pero la seguridad no es su propósito principal, así que esas verificaciones son insuficientes. Del mismo modo que no confiarías en el firewall de un sistema operativo para proteger toda tu organización, tampoco confiarías —ni deberías confiar— en un asistente de programación como tu principal capa de seguridad.
La IA no es un tema nuevo, aunque ChatGPT haya despertado interés recientemente. Si quieres aprender más, encontrarás una impresionante colección de contenido, incluido el blog de Snyk.
Procesos
Luego, debes replantear tus procesos. Los procesos y métodos de seguridad tradicionales son relativamente lentos e interrumpen el flujo de trabajo de los desarrolladores. Como quizá sepas, Snyk es un defensor pionero e impulsor de la práctica de “desplazar la seguridad a la izquierda”: realizar pruebas de software y sistemas en una etapa más temprana del ciclo de vida del desarrollo de software. Hay una buena razón para ello: los desarrolladores crean aquello que genera y mantiene tus ingresos, mientras que la seguridad protege tu reputación y puede evitar pérdidas de millones o incluso miles de millones por errores o falta de conocimiento. Por eso, ambos equipos deben trabajar juntos al ritmo y con el flujo óptimos.
Sin embargo, históricamente ha habido fricciones entre la forma de trabajar de ambas funciones. Los desarrolladores necesitan avanzar rápido, pero los métodos de prueba actuales crean cuellos de botella. En lugar de interrumpir el trabajo que genera ingresos, imponer conductas poco naturales para tus desarrolladores y seguir sobrecargando a los equipos de seguridad, que hacen todo lo posible pero ya no logran mantenerse al día, ¿por qué no incorporar un aliado de seguridad con IA que neutralice las amenazas en el momento en que se crean?
Herramientas
Esto nos lleva a las herramientas. La IA puede tener sus riesgos, pero también aumenta enormemente la productividad. Así como un auto mejora mucho nuestra vida al permitirnos llegar más rápido a nuestro destino, pero también implica riesgos importantes y por eso nunca lo conduciríamos sin abrocharnos el cinturón, los desarrolladores necesitan usar herramientas de programación con GenAI con el “cinturón de seguridad” bien puesto. El estudio de la Universidad de Stanford mencionado anteriormente descubrió que, en cuanto al código seguro e inseguro producido por los participantes que usaron GenAI, “el 87 % de las respuestas seguras requirió modificaciones importantes por parte de los usuarios”. El estudio sugiere que esto podría significar que se requiere una “modificación informada para que el código sea seguro”. Este hallazgo coincide con nuestra convicción de que los desarrolladores pueden aprovechar las enormes capacidades de la GenAI, siempre que el código se someta a verificaciones de seguridad en tiempo real y a toda velocidad.
Ahora que sabemos que el código de GenAI necesita verificaciones de seguridad, ¿qué características hacen que una solución de seguridad sea ideal para este caso? Una herramienta de este tipo debe poder funcionar sin interrumpir el trabajo y mantener el ritmo de los desarrolladores, además de realizar verificaciones exhaustivas y precisas y ser interoperable.
Aquí es donde Snyk puede ayudar. Aprovechamos nuestra trayectoria conjunta como expertos en seguridad para proteger y corregir tu código a la velocidad del desarrollo asistido por IA. Como sabemos que proteger las aplicaciones modernas es un proceso complejo, Snyk verifica el código de toda tu aplicación en tiempo real mientras se escribe, rastrea los flujos de datos para identificar solo las dependencias y vulnerabilidades pertinentes, genera una posible corrección y vuelve a verificar toda la aplicación para evaluar el impacto de esa corrección, antes de resaltar las vulnerabilidades pertinentes para el desarrollador y permitir corregirlas con un solo clic desde el IDE. Y todo esto ocurre en segundos.

Snyk se integra directamente con todas las herramientas más populares (IDE, Git, CLI), los lenguajes de programación y los flujos de trabajo. En resumen, Snyk es como el mejor amigo de un desarrollador, siempre atento a la seguridad. Estamos donde están los desarrolladores y sus herramientas de IA, trabajamos a su lado al mismo ritmo y los guiamos para crear aplicaciones más seguras.
¿Quieres saber cómo elegir el aliado de seguridad adecuado para tu herramienta de programación con GenAI? Lo analizaremos en detalle la próxima semana, así que no pierdas de vista nuestro blog.
Avanza hacia la nueva izquierda con Snyk
Hemos visto que la GenAI es muy útil, pero también plantea grandes problemas de seguridad. Estos son algunos de los problemas que las herramientas de programación con GenAI generan para los equipos de seguridad:
Interrupción del flujo de trabajo: No se puede esperar que los desarrolladores se queden de brazos cruzados hasta que terminen las compilaciones y lleguen los resultados de las pruebas para continuar con la misma tarea.
Volumen y debilidades inherentes al volumen: Los desarrolladores programan más rápido con IA, pero también incorporan proporcionalmente más vulnerabilidades en su código.
Mayor confianza de los desarrolladores en el código vulnerable: Su herramienta de IA les da una falsa sensación de seguridad.
Las herramientas de GenAI han cambiado las reglas del juego y han desplazado la “izquierda” aún más allá del desarrollador. Por eso, debemos estar ahí para abordar los riesgos desde la etapa de IA del ciclo de vida del desarrollo de software. Así como el cinturón de seguridad permite que quien conduce un auto avance más rápido, las herramientas de seguridad te permiten acelerar con tus herramientas de programación con GenAI.
Ayuda a los desarrolladores a aprovechar el poder de la GenAI de forma segura. Avanza hacia la nueva izquierda con el aliado perfecto para tu asistente de programación con GenAI: Snyk.
¿Quieres ver Snyk en acción? Mira nuestra sesión virtual a pedido: Live Hack: Exploiting AI-Generated Code.
Empieza a proteger el código generado por IA
Crea tu cuenta gratuita de Snyk para empezar a proteger el código generado por IA en minutos. O agenda una demostración con un experto para descubrir cómo Snyk puede adaptarse a tus necesidades de seguridad para desarrolladores.



