Skip to main content

Cómo usa Snyk la IA en la seguridad para desarrolladores

Escrito por

Frank Fischer

feature snyklaunch

4 de abril de 2023

0 minutos de lectura

Como líder en la aplicación de la IA a la seguridad para desarrolladores, el enfoque de Snyk es único. Hoy queremos darte un vistazo a cómo usa Snyk actualmente la IA y la ciencia de datos, además de anticiparte lo que está por venir.

Antes de profundizar, queremos destacar dos aspectos del uso que hace Snyk de la IA para contextualizar:

  1. Snyk combina distintos enfoques y algoritmos de IA, integrando las dos principales corrientes de la inteligencia artificial —el aprendizaje automático (ML) y la IA simbólica— con la inteligencia humana para crear una IA híbrida.

  2. Hasta ahora, Snyk ha usado la IA principalmente entre bastidores, enfocándose en ofrecer y perfeccionar la calidad y precisión de nuestros servicios de investigación de seguridad. Mientras Snyk sigue innovando con IA en nuestras investigaciones, agregaremos nuevas funcionalidades más visibles en la interfaz de usuario.

La propuesta de Snyk en IA: IA híbrida

Hablemos un poco más del primer punto destacado anteriormente: la IA híbrida. Usamos el término IA híbrida porque combinamos varios modelos de IA con la inteligencia humana.

Hay dos corrientes principales de IA: el ML y la IA simbólica.

  • El ML, o aprendizaje automático, funciona bien en situaciones ambiguas, pero necesita abundantes datos de entrenamiento. Se conoce como una «caja negra» porque no puede justificar la exactitud de sus resultados. Las técnicas de ML generativo, como GPT, pertenecen a esta categoría.

  • Por otro lado, la IA simbólica funciona bien en tareas con una estructura clara, no necesita datos de entrenamiento y puede justificar sus resultados (es transparente, no una caja negra). Sin embargo, la IA simbólica es débil en situaciones ambiguas.

Si piensas en generar resultados de seguridad, debes poder manejar ambas situaciones. Necesitas herramientas que analicen el código y entiendan su intención, aunque la estructura varíe de una muestra a otra. Aquí es donde entra en juego el ML, pero una gran desventaja de los sistemas de ML generativo como GPT o Codex es lo que se conoce como alucinación. Aunque el resultado de estos sistemas es impresionante, no se garantiza que sea correcto y puede resultar convincentemente engañoso.

Aquí entra en juego la IA simbólica, que puede generar resultados y razonar por qué son correctos. Para prevenir las alucinaciones, Snyk combina el ML generativo con la IA simbólica. Los modelos de ML generativo de Snyk generan código fuente para una corrección y luego usan IA simbólica para verificar que el código generado no tenga problemas. Como usuario, recibirás automáticamente desde tu IDE código que corrige el problema en cuestión y que se analizó para garantizar que no introduzca nuevos problemas.

Por último, pero no por eso menos importante, está la inteligencia humana. Snyk cree firmemente en la inteligencia natural que aportan sus expertos en seguridad para controlar y orientar la IA. Pero eso no es todo. El equipo de investigación de seguridad de Snyk ha descubierto y divulgado miles de vulnerabilidades de seguridad, y agrega metadatos y perspectivas a nuestros hallazgos para que las personas que los reciben —desarrolladores y equipos de seguridad— puedan usarlos y entenderlos mejor. La IA ayuda a detectar el humo, pero las personas de nuestro grupo de investigación pueden determinar si realmente hay fuego y garantizar que nuestros resultados sean precisos y útiles.

Como combinar estas áreas mejora enormemente la facilidad de uso y la solidez, Snyk ha apostado por la IA híbrida. Es la mejor herramienta para respaldar nuestra filosofía: ofrecer soluciones de seguridad innovadoras que aprovechan los últimos avances en IA y nuestra experiencia única en seguridad.

Productos de Snyk que usan IA hoy

En Snyk, hay equipos especializados que trabajan en diversas tecnologías de IA y ciencia de datos. Nuestro equipo principal de IA surgió de DeepCode y está integrado por investigadores y profesionales de renombre mundial en los campos de la IA, el análisis estático y la seguridad. Han publicado varios artículos académicos en conferencias y revistas reconocidas y participan en el debate más amplio del sector sobre el uso de la IA en la seguridad de las aplicaciones.

Así es como Snyk usa hoy la IA y la ciencia de datos en sus productos:

  • Snyk usa IA para monitorear numerosos canales sociales y comunitarios, filtrar posibles problemas interesantes y llamar la atención del equipo de investigación de seguridad sobre ellos. Nuestro avanzado procesamiento de lenguaje natural permite descubrir posibles vulnerabilidades nuevas y explotadas en paquetes y frameworks de código abierto mediante el análisis de sentimientos, la búsqueda de palabras clave y la triangulación.

  • Snyk Code usa IA para realizar análisis semánticos de código rápidos y profundos, y establece el estándar de velocidad del sector. Nuestro motor de IA no solo es extremadamente rápido y preciso, sino que los modelos de IA que usamos explican sus hallazgos, muestran los flujos de datos que se deben seguir y ofrecen ejemplos de cómo otros desarrolladores en situaciones similares resolvieron el problema. Explicar por qué una respuesta es correcta es importante para la seguridad y se basa en un modelo distinto al de las herramientas de ML generativo.

  • Creamos y mantenemos nuestra base de conocimientos de SAST con algoritmos de aprendizaje automático que aprenden de más de 100 000 repositorios de código abierto por lenguaje. Combinar la IA con nuestra experiencia en seguridad nos ha permitido crear una IA híbrida única y dinámica.

  • Snyk Cloud combina diversas fuentes de datos en tiempo real para modelar la postura de seguridad de una aplicación desde el código original hasta la nube y viceversa. Con los mecanismos avanzados de análisis y generación de informes de la plataforma Snyk, la información se convierte en conocimiento para la toma de decisiones o se integra en sistemas empresariales más amplios de socios como ServiceNow y Sysdig.

El uso futuro de la IA en Snyk

A medida que seguimos aprendiendo e innovando, Snyk se basará en los siguientes ejemplos para desarrollar más funcionalidades de producto centradas en la IA.

  • Si viste nuestro evento SnykLaunch de abril, pudiste ver una demostración de una próxima funcionalidad basada en la IA de Snyk. Como usuario, recibirás automáticamente desde tu IDE código que corrige un problema de seguridad y verifica que el código generado no introduzca nuevos problemas y realmente solucione el problema.

  • Los usuarios podrán interactuar directamente con la IA de Snyk para escribir consultas de código personalizadas. La IA ofrece dos beneficios importantes: la autocompletación semántica de la consulta simplifica las búsquedas y agiliza los resultados en el conjunto de entrenamiento que usa el motor de Snyk Code. Además, Snyk puede generar reglas mediante algoritmos evolutivos o genéticos, optimizándolas para reducir el ruido y mejorar la cobertura.

  • Combinar las capacidades de consulta semántica de código de Snyk con el procesamiento de lenguaje natural permite que los desarrolladores expresen sus intenciones en lenguaje natural y encuentren implementaciones de ejemplo en proyectos de código abierto para aprender y adaptarlas. Como usuario, puedes expresar libremente tus intenciones y recibir ejemplos de código confiables que respondan a tus necesidades.

  • En adelante, aumentarán la cantidad y la complejidad de los datos que llegan a Snyk, a medida que la cadena de suministro de software se vuelve más compleja y Snyk recopila más datos sobre código, paquetes y la nube (además de datos de socios). La IA híbrida podrá detectar problemas que quizá hoy no provoquen directamente un problema de seguridad, pero que podrían convertirse en vulnerabilidades en el futuro.

  • Snyk Learn, un entorno de aprendizaje interactivo, puede adaptarse al nivel de habilidad de cada desarrollador mediante el uso de IA para personalizar los módulos de aprendizaje.

Más a fondo en la IA: ML generativo, IA simbólica y alucinaciones

¡Esta sección es para quienes tienen mucho interés en los modelos de IA y en cómo los usa Snyk para generar resultados!

Gran parte de la reciente atención en torno a la IA se debe a los impresionantes resultados de los modelos GPT-3 de OpenAI, y ahora GPT-4, así como a sus derivados, como Codex de Microsoft. Los modelos de ML generativo aprenden reglas al analizar enormes cantidades de datos y crear sus propias reglas sobre cómo ciertas entradas producen determinados resultados. Aunque los resultados son asombrosos, el ML generativo tiene un problema llamado alucinación. Las alucinaciones ocurren cuando una máquina ofrece una respuesta convincente, pero completamente inventada, que difiere de lo esperado o de lo «normal». En otras palabras, aunque estos sistemas son buenos para descifrar información ambigua, no se garantiza que sus resultados sean correctos y pueden resultar muy convincentemente engañosos, ya que no pueden explicar por qué consideran que una respuesta es correcta.

Por otro lado, la IA simbólica funciona bien en tareas con una estructura clara, no necesita datos de entrenamiento y puede explicar por qué sus hallazgos son precisos. La IA simbólica incorpora reglas y lógica que luego se usan para analizar y decidir una respuesta, y puedo decirte cómo llega a ella, ya que las reglas forman parte del sistema. Sin embargo, su debilidad está en las situaciones ambiguas.

Para prevenir las alucinaciones, Snyk combinará el ML generativo con la IA simbólica. Con sus propios modelos generativos optimizados para generar código fuente, Snyk usa IA simbólica para verificar que el código generado no tenga problemas. Para el usuario final, Snyk proporcionará automáticamente código que corrige el problema en cuestión y verificará que la corrección no introduzca nuevos problemas.