Skip to main content

Snyk y Atlassian: cómo integrar la seguridad en el desarrollo de software asistido por IA

Escrito por
blog feature snyk atlassian

14 de febrero de 2024

0 minutos de lectura

Incorporar IA al ciclo de vida del desarrollo de software (SDLC) ofrece grandes oportunidades, pero también implica grandes peligros. ¿Vale la pena correr el riesgo?

Este fue el tema de conversación entre Sascha Wiswedel, ingeniero sénior de soluciones en Atlassian, y Simon Maple, principal defensor de desarrolladores en Snyk, quienes se reunieron para hablar sobre la seguridad en el ciclo de vida del desarrollo de software (asistido por IA).

Para maximizar los beneficios y mitigar los riesgos, debes asegurarte de que la confianza y la seguridad estén integradas en cada proceso, proyecto y producto que gestionan tus equipos de software. Esto siempre ha sido importante, pero lo es aún más ahora que la IA está cambiando radicalmente la forma de escribir y mantener el código.

Riesgos y beneficios de la IA para el desarrollo de software

El primer paso para gestionar eficazmente la IA en el desarrollo de software es entender dónde se utiliza. Algunos de los casos de uso más comunes de la IA en el desarrollo incluyen:

  • Generar código

  • Resumir código

  • Agregar comentarios

  • Escribir un README

  • Refactorizar código

  • Proporcionar plantillas

  • Programación en pareja

La generación de código, que utiliza IA generativa para ayudar a los desarrolladores a escribir código dentro del entorno de desarrollo integrado (IDE), es el área que puede ofrecer los mayores beneficios de productividad y también el mayor riesgo potencial.

«Lo más común es que veamos a desarrolladores usar herramientas de IA como GitHub Copilot y Amazon CodeWhisperer, que se han vuelto increíblemente populares», dijo Simon. «Pero a menudo no entienden por completo los riesgos que implica usar estas herramientas».

Sin duda, la IA está transformando el desarrollo de software en la comunidad tecnológica. El informe de Snyk sobre la seguridad del código generado con IA de 2023 reveló que el 96 % de los desarrolladores de software ya usa herramientas de programación con IA, y una investigación de McKinsey determinó que los desarrolladores pueden completar tareas de programación hasta dos veces más rápido con IA generativa.

Al mismo tiempo, estas herramientas pueden generar una falsa sensación de seguridad. Tanto el mismo informe de Snyk sobre IA como un estudio de Stanford concluyeron que los desarrolladores con acceso a IA escriben código significativamente menos seguro, pero creen con mayor frecuencia que escribieron código seguro que quienes no tienen acceso.

Problemas de la IA generativa en el desarrollo de software

El uso generalizado de IA generativa entre los desarrolladores ha permitido trabajar más rápido y producir más código, pero también ha generado más problemas de seguridad. Las dos causas principales de los problemas del desarrollo asistido por IA son:

  • Datos de entrenamiento deficientes

  • Alucinaciones

Los modelos de lenguaje grandes (LLM) que impulsan las herramientas de programación con IA necesitan enormes cantidades de datos de entrenamiento para funcionar. Entre ellos hay una cantidad considerable de código de código abierto que naturalmente contiene vulnerabilidades. Como la IA no entiende realmente el código ni conoce las reglas o la sintaxis, suele generar vulnerabilidades después de aprender de repositorios de código abierto. Incluso, actores maliciosos pueden envenenar intencionalmente los datos de entrenamiento.

Por otro lado, las alucinaciones ocurren cuando los modelos de IA generan código que no se basa en lo aprendido con los datos de entrenamiento. La IA puede ponerse «creativa» y dar una respuesta absurda o incorrecta porque está programada para completar el siguiente token (una palabra o línea de código), incluso si no cuenta con las entradas adecuadas.

«Al usar IA generativa para crear una historia o un poema, quizá quiera cierto grado de imaginación, pero en un sistema con reglas muy estrictas como el desarrollo de software, debemos ceñirnos a los hechos», dijo Simon.

Cómo mitigar los riesgos de seguridad del código generado con IA

¿Qué conviene hacer si los desarrolladores están avanzando a toda máquina con la generación de código mediante IA, aunque estas herramientas a veces se equivoquen y no sepan cuándo lo hacen?

Primero, es importante crear y mantener políticas de IA y lineamientos de la empresa que documenten los usos aceptables de esta tecnología. Considera los requisitos de seguridad y privacidad de datos que debes cumplir para ajustarte a las regulaciones y los marcos aplicables. Las políticas también deben proteger tu propiedad intelectual (PI) al integrarse con herramientas de terceros.

Según Simon: «Proteger los datos confidenciales de los clientes no es negociable, pero es igual de importante asegurarse de que tu PI permanezca dentro de tu perímetro, separada de cualquier LLM público».

Sin embargo, ni siquiera las políticas más completas e infalibles pueden garantizar que todos las cumplan, porque las reglas no pueden (¡ni deberían!) frenar el progreso. Los desarrolladores que trabajan en empresas con políticas estrictas (por ejemplo, que prohíben la IA o solo la permiten en situaciones específicas) a menudo las eluden para seguir aprovechando los beneficios de la IA. De hecho, el informe de Snyk sobre la seguridad del código generado con IA de 2023 reveló que el 80 % de los desarrolladores elude las políticas de seguridad de su empresa para usar IA.

Con esta información en mente, debes asumir que la mayoría de tus desarrolladores usan IA en cierta medida en su trabajo. Para supervisar qué se aprovecha en el desarrollo de software y cómo, es mejor permitir el uso seguro de asistentes de programación con IA para impulsar la productividad de los desarrolladores. Al usar código asistido por IA, necesitas un sistema que te permita verificarlo todo según los estándares conocidos más rigurosos. Una solución integrada, aprobada por Gartner y Forrester, y de vanguardia como Snyk es una forma confiable de probar y validar tu código para mitigar los riesgos de la IA. Así funciona:

  1. Los desarrolladores usan herramientas de IA para generar código en el IDE.

  2. Snyk analiza el código en tiempo real y detecta vulnerabilidades.

  3. Snyk recomienda correcciones que se pueden aplicar con un clic.

«Se necesita todo un equipo para mantener la calidad y la seguridad en el desarrollo de software», dijo Sascha. «Pero cuando logras que tu equipo entienda qué herramientas usa y cómo implementar los controles adecuados para que la seguridad nunca se deje para después, todo se siente mucho más fácil y menos caótico».

Snyk: confianza y seguridad para la generación de código con IA

Practicar el desarrollo de software asistido por IA sin una herramienta automatizada de análisis de código es como trabajar en una obra de construcción sin casco. Necesitas las medidas de seguridad adecuadas para proteger a tus empleados, clientes y negocio.

Snyk ofrece esta capa esencial de protección desde tu IDE y a lo largo de todo el flujo de CI/CD. Lee 10 prácticas recomendadas para desarrollar de forma segura con IA y descubre más consejos para equilibrar a las personas, los procesos y la tecnología en el futuro del desarrollo de software.

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.

Leer más

Blog

Los modelos de frontera encontraron las vulnerabilidades. Solo el atacante encontró las cadenas.

El análisis estático encontró las fallas, pero solo las pruebas de ataque en vivo demostraron cómo podían encadenarse para provocar brechas. Una comparación de Evo COS, Claude Security y Claude Code Security.

feature insights context
Blog

Los ataques autónomos ya están aquí. La defensa debe estar a su altura.

Los atacantes autónomos están reduciendo el tiempo disponible para defenderse. Descubre cómo el descubrimiento, la corrección, la validación y la prevención continuos pueden ayudar a los equipos de seguridad a seguirles el ritmo.

Blog

Por qué los agentes de programación con IA siguen generando fallas de control de acceso

Los agentes de programación con IA pueden generar lógica de autorización que compila y supera la revisión, pero expone los datos de un inquilino a otro. Descubre por qué es difícil detectar el control de acceso roto y cómo prevenirlo.