Skip to main content

¿La IA lleva a AppSec al infierno o al nirvana?

Escrito por
blog feature ai blue

3 de octubre de 2023

0 minutos de lectura

El uso de la inteligencia artificial en todos los ámbitos de la vida —desde escribir trabajos hasta mantener infraestructura crítica y fabricar productos— es un tema polémico. A algunas personas les entusiasman las posibilidades que ofrece la tecnología de IA y ML, mientras que otras sienten temor y cautela. Estas opiniones divergentes plantean una pregunta fundamental: ¿la IA convertirá nuestra sociedad actual en una utopía o una distopía?

Estas conversaciones también plantean una pregunta más específica para nuestro sector: ¿usar IA al crear y proteger aplicaciones es una buena idea o solo conducirá al desastre? Ravi Maira, vicepresidente de Marketing de Producto, y Randall Degges, director de DevRel y Comunidad, hablaron sobre el uso de la IA en AppSec durante una conversación en vivo por LinkedIn en junio de 2023.

Sigue leyendo para conocer algunos de los momentos destacados de su charla, como la manera en que la IA puede ayudar a las empresas, los aspectos en los que hay que tener cuidado con sus fallas inherentes y qué esperar de la IA en el desarrollo y la seguridad de aplicaciones en el futuro. 

Por qué la IA es importante para las empresas de hoy

Cuando se usa correctamente, la inteligencia artificial puede impulsar la productividad y la innovación en el desarrollo. Estas son algunas formas en que la IA mejora la programación, la seguridad y la productividad:

La IA multiplica la productividad

La IA puede acelerar considerablemente la productividad de los desarrolladores y los profesionales de seguridad al ofrecer respuestas más precisas y conectar los puntos durante las investigaciones. 

Randall dio un ejemplo real del uso de la IA para investigar: “Anoche estaba trabajando en un proyecto. Descargué uno de los episodios de nuestro podcast… pero era demasiado grande para la herramienta que estaba usando… Mi instinto fue ir a Google y preguntar: ‘¿Qué puedo usar para dividir este archivo mp3 en archivos mp3 más pequeños?’. Podría abrir un conjunto de herramientas de edición de audio bastante grande, pero eso implica mucho trabajo. Así que simplemente hice la pregunta en ChatGPT. Me devolvió un comando de línea de comandos de FFmpeg que podía ejecutar para obtener todo el resultado. Me habría tomado un tiempo averiguar cómo hacerlo”.

Los desarrolladores pueden programar mejor con IA

Además de usar la IA para investigar, los desarrolladores pueden usar herramientas basadas en IA para comprender código complejo. Si un desarrollador usa un motor de búsqueda para encontrar código nuevo, tendrá que esforzarse mucho para entenderlo: es un proceso agotador que requiere mucho tiempo y esfuerzo. En cambio, una solución como Beto usa la IA para explicarles a los desarrolladores cada línea de código, lo que les facilita mucho entender y trabajar con código nuevo.

La IA respalda algunas de las herramientas AppSec más potentes de la actualidad

La IA también puede reforzar la seguridad de las aplicaciones. Aunque está claro que un único modelo de LLM no tiene la suficiente capacidad para funcionar de manera independiente, se convierte en una solución potente cuando se combina con otras tecnologías. Ravi dijo: “La idea es no usar un solo modelo, sino distintos métodos de aprendizaje automático e IA en el momento adecuado para alcanzar un objetivo específico”.

Los riesgos de usar IA en AppSec

Aunque la IA puede ser útil, es importante no dejarse llevar demasiado por el entusiasmo que genera esta nueva tecnología. Si se usa de forma incorrecta, puede causar muchos daños. Ravi y Randall mencionaron algunos riesgos que surgen al usar IA para el desarrollo y la seguridad de las aplicaciones.

Alucinaciones

Las alucinaciones —el término que describe cuando una IA genera información falsa— pueden causar problemas en cualquier ámbito en que se use IA, incluida la programación y las prácticas de seguridad. Por eso, los desarrolladores y los profesionales de seguridad deben tener mucho cuidado al usar IA para generar respuestas de investigación, código, etc. 

Este nivel de falta de confiabilidad significa que los equipos aún deben investigar, capacitarse y compartir conocimientos por su cuenta. También significa que deben adoptar la mentalidad de “confiar, pero verificar”. La información generada por una sola herramienta de IA debe respaldarse con investigación humana u otros recursos, como herramientas de seguridad. 

Entradas de baja calidad para la IA

Ravi y Randall también mencionaron que la calidad de los resultados de la IA depende de la calidad de las entradas. Randall explicó: “Una de las reglas fundamentales al usar LLM es que, cuanto más contexto tienes, mejor será el resultado. Si abres una sesión vacía de ChatGPT y le dices: ‘Oye, crea una función de Python que haga esto’, con una descripción muy vaga, probablemente obtendrás algún resultado al azar, sin importar cuánto juegues con la configuración de temperatura de los modelos subyacentes. [En cambio], dale más contexto, como: ‘Mira, tengo este archivo completo o este directorio de archivos’”.

Pero, incluso si escribes una instrucción muy específica (algo que puede ser complicado), no hay garantía de que los resultados sean perfectos. La calidad de los resultados generados por la IA dependerá de las muestras con las que se entrenó el modelo. Según Ravi: “[La IA] aprende con código inseguro. Así que, ante la pregunta ‘¿ChatGPT va a resolver el problema del código inseguro?’, la respuesta es que todavía no… Aprendieron con código inseguro; por lo tanto, generan código inseguro”.

Además, debido a la forma en que funcionan los modelos de lenguaje grandes (LLM), las entradas para la IA plantean diversos problemas de seguridad. Algunos de estos riesgos incluyen la inyección de instrucciones (en aplicaciones orientadas al usuario), así como problemas más complejos relacionados con entradas engañosas que “inducen” una respuesta. Por ejemplo, si le proporcionas a ChatGPT un fragmento de código y le pides que encuentre posibles problemas de seguridad, pero el código tiene nombres de variables o clases engañosos, es probable que obtengas resultados inesperados e información equívoca debido a los modelos generativos.

El futuro de la IA en el desarrollo de aplicaciones

A medida que la IA se vuelve cada vez más común en nuestro mundo, sobre todo en el desarrollo y la seguridad de aplicaciones, Ravi y Randall observan algunas tendencias. En primer lugar, predicen que la IA empoderará a los “programadores ciudadanos”: personas sin experiencia previa en desarrollo que crearán código con estas herramientas. 

También prevén que seguirá creciendo la necesidad de contar con herramientas sólidas de seguridad de aplicaciones, especialmente las que aprovechan la IA de manera inteligente. Las herramientas que se destacarán en este sector en constante evolución aprovecharán la IA para innovar, pero recurrirán a personas u otras tecnologías para verificar cada afirmación generada por la IA.

Para obtener más información sobre la IA en AppSec, consulta la conversación completa de Ravi y Randall en LinkedIn. 

Publicado en:

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.