Skip to main content

Correcciones de seguridad generadas por IA en Snyk Code: ya disponibles

Escrito por
feature snyk code orange

9 de mayo de 2023

0 minutos de lectura

Encontrar y corregir problemas de seguridad en tu código presenta desafíos. El principal es dar el importante paso de cambiar realmente el código para solucionar el problema. Para llegar a ese punto, hay que seguir un proceso: revisar los tickets de seguridad, descifrar qué significan esos hallazgos y de dónde provienen en el código fuente, y luego determinar cómo solucionar el problema para poder volver al desarrollo. No te preocupes: la IA se encargará de todo, ¿verdad? Bueno, cuando aprenda a producir código seguro de forma predeterminada y deje de copiar el trabajo de otros infringiendo su propiedad intelectual… o de compartir tu propiedad intelectual con el mundo.

En nuestro evento SnykLaunch de abril, presentamos nuestra capacidad más reciente: usar IA para ofrecer una corrección directamente en el IDE, de modo que el desarrollador solo tenga que hacer clic en la sugerencia para implementarla automáticamente en su código. Hoy nos complace anunciar que esta funcionalidad de corrección con IA ya está disponible en beta abierta. Las correcciones de Snyk AI están diseñadas específicamente para resolver problemas de seguridad, sin el riesgo de infringir derechos ni de que tu código propietario llegue a manos de terceros.

Sugerencias de corrección con IA de Snyk en tu IDE: dos ejemplos

Corrección de un problema de inyección SQL con la sugerencia de reparación de IA de Snyk Code
Corrección de un problema de inyección SQL con la sugerencia de corrección con IA de Snyk Code

En el ejemplo anterior, Snyk Code detecta un problema de inyección SQL. Este problema de alto riesgo puede ser particularmente difícil de corregir porque el lugar del código donde se realiza la llamada a la base de datos puede estar completamente separado del área donde se construyen la consulta y las variables. Rastrear este problema de seguridad hasta su origen es difícil, y luego decidir cómo cambiar el código para corregirlo requiere aún más trabajo. Pero aquí vemos cómo la sugerencia de corrección con IA de Snyk se encarga del problema: rastrea su origen y propone una corrección en nuestro IDE.

Corrección de un problema de credenciales codificadas de forma fija con la sugerencia de corrección con IA de Snyk Code
Corregir un problema de credenciales codificadas directamente en el código con la sugerencia de corrección de IA de Snyk Code

En este segundo ejemplo, se detectaron credenciales codificadas directamente en el código fuente. La corrección de Snyk AI elimina esas credenciales y las reemplaza por una variable de sesión.

IA diseñada específicamente para ofrecer correcciones de seguridad confiables

Hay muchísimas demostraciones de herramientas de IA que generan código que parece interesante. Pero, a medida que los ingenieros y expertos en seguridad profundizan y consideran las implicaciones, surgen varias preguntas:

  • ¿Puedo confiar en que el código generado por IA no introduzca más problemas de seguridad? 

  • Y si la IA aprende de código disponible en repositorios públicos, ¿corro el riesgo de incorporar trabajo protegido por derechos de autor de otra persona o código de proyectos de código abierto con licencias restrictivas? 

Ambas son preocupaciones válidas. Las herramientas de IA que generan código en estas demostraciones no indican explícitamente de dónde proviene el código, si es realmente seguro ni qué restricciones de licencia podrían aplicarse al código que genera la IA.

Como las sugerencias de corrección de Snyk AI están pensadas para resolver problemas de seguridad, quisimos desarrollar esta capacidad teniendo en cuenta estas preocupaciones. En concreto, nuestros modelos de IA se entrenan únicamente con proyectos de código abierto que tienen una licencia permisiva explícita para su código. Además, las sugerencias de corrección de Snyk AI son cambios pequeños y puntuales, en lugar de generar largos fragmentos de código. Las demostraciones anteriores muestran los tipos de sugerencias de corrección que ofrece Snyk AI.

Para asegurarnos de que las correcciones de Snyk AI no introduzcan nuevos problemas, antes de ofrecer una sugerencia a un desarrollador, el motor de IA la pasa por el motor de seguridad de Snyk Code para verificar que: (1) resuelva el problema en cuestión y (2) no introduzca nuevos problemas. La corrección solo se ofrece al desarrollador cuando el ciclo de retroalimentación de pruebas de Snyk Code confirma que el resultado es confiable. Además, como desarrollador, siempre tienes el control para decidir si aplicas y aceptas la corrección.

Por último, hay preguntas sobre la seguridad y el manejo adecuado del código propio al usar IA. ¿Los modelos usarán mi código para aprender y, a su vez, podrían compartir mi código, propiedad intelectual e información confidencial con otras personas? La IA de Snyk no almacena el código de nuestros clientes más allá del almacenamiento en caché temporal necesario para realizar el análisis de seguridad. Nuestras políticas están claramente documentadas en el artículo “Cómo maneja Snyk tus datos”, que incluye nuestra política sobre el entrenamiento de IA: “Snyk Code no usa ningún código de clientes (1) para entrenar el motor ni (2) para extraer ejemplos con los que mostrar posibles correcciones”.

Cómo activar las sugerencias de corrección de Snyk AI

En esta beta abierta inicial, ofrecemos esta nueva capacidad para JavaScript a través de los complementos de Snyk para Visual Studio Code y Eclipse. Ampliaremos gradualmente la cobertura a más lenguajes y seguiremos perfeccionando la experiencia. Para recibir sugerencias de corrección, debes activar la función en la pestaña Snyk Preview.

Asegúrate de instalar o actualizar la extensión de Snyk para Visual Studio Code o el complemento de Snyk para Eclipse. Para asegurarte de usar la versión más reciente, siempre es útil reiniciar el IDE.