La IA ha aumentado drásticamente la velocidad y el volumen del desarrollo de software. En una encuesta reciente de Google, el 90% de los desarrolladores informaron que usaban herramientas de inteligencia artificial para ayudarlos en su trabajo, y el 71% las usaba para escribir código.
Una empresa le dijo al New York Times que después de adoptar Cursor, un producto de escritura de códigos nativo de IA, pasaron de producir 25.000 líneas de código por mes a 250.000, creando una enorme acumulación de líneas que debían ser revisadas por su equipo.
CEO y cofundador de AppConx.
Si bien estas herramientas han acelerado la entrega de software, han introducido más riesgos. Un estudio encontró que el 45% del código generado por IA contiene vulnerabilidades de seguridad y que las solicitudes de extracción generadas por IA tienen un promedio de 1,7 veces más problemas que las escritas por humanos.
La identificación no es un desafío. Las herramientas de seguridad modernas pueden identificar problemas y generar más búsquedas y vulnerabilidades que nunca. El problema para la mayoría de los equipos de seguridad e ingeniería es lo que viene después.
Con el gran volumen de código generado por IA, los equipos de seguridad no pueden seguir el ritmo. Les cuesta entender qué problemas plantean un riesgo real. Debido a que los niveles de gravedad estáticos tratan por igual cada problema señalado, la clasificación se vuelve complicada.
Las herramientas de seguridad selladas y desconectadas ralentizan la solución, lo que obliga a los equipos de desarrollo a cambiar de contexto solo para evaluar un problema. Y cuanto más se analizan los informes de vulnerabilidad, más probable es que los riesgos reales pasen desapercibidos.
La detección y el desarrollo requieren una capa inteligente que valide los hallazgos, identifique qué es realmente explotable y proporcione soluciones que los desarrolladores puedan incorporar en su flujo de trabajo.
Detector. ¿Pero qué viene después?
Con análisis estático, pruebas dinámicas y escaneo automatizado, las herramientas de seguridad modernas son expertas en identificar vulnerabilidades. Una cuestión más compleja es la siguiente: ¿Cómo determinan los equipos de seguridad qué vulnerabilidades suponen un riesgo y cómo consiguen soluciones para los desarrolladores antes de que estos problemas lleguen a producción?
La mayoría de los equipos utilizan de forma predeterminada puntuaciones de gravedad para gestionar el trabajo pendiente, pero esas puntuaciones se diseñaron para una era diferente del desarrollo de software. Clasifican las vulnerabilidades según una rúbrica estandarizada en lugar de una arquitectura, flujo de datos o perfil de exposición específicos de una aplicación determinada.
Una vulnerabilidad calificada como “crítica” en un contexto puede ser completamente inaccesible en otro. Si bien cada advertencia exige atención urgente, ninguna la exige. Los ingenieros dejan de trabajar según las puntuaciones y empiezan a trabajar según los instintos, donde se pasan por alto los riesgos reales.
El desarrollo impulsado por la IA no hace más que aumentar el desafío. Más búsqueda, más ruido y mucha más dificultad para distinguir lo que no es. Y a medida que se acelera el desarrollo, la ventana para detectar y solucionar estos problemas antes de que lleguen a producción continúa reduciéndose.
Nivel inteligente: clasificar, trabajar en contexto y actuar
Eliminar este ruido requiere herramientas que proporcionen una capa inteligente entre la detección y el desarrollo, ayudando a los equipos a validar los problemas, clasificarlos y tomar medidas antes de que los problemas se agraven.
Comienza con algunos cambios clave:
Si los equipos quieren identificar y corregir las vulnerabilidades adecuadamente, deben pasar del análisis estático al análisis en tiempo de ejecución. He aquí por qué:
El análisis de código estático evalúa el código tal como está escrito, lo que significa que no analiza el código tal como se comporta en tiempo de ejecución. Por otro lado, el análisis basado en el tiempo de ejecución puede mejorar la precisión de la identificación y establecer un vínculo claro entre vulnerabilidades y soluciones. En la práctica, las decisiones de priorización se vuelven más fáciles y los equipos pueden iniciar la remediación más rápidamente.
La velocidad de la solución depende de qué tan rápido pueda llegar a los desarrolladores, entregarse en un lenguaje sencillo e implementarse en el entorno en el que ya están trabajando.
Obligar a los desarrolladores a alejarse del entorno nativo de IA en el que están trabajando, como cursores o códigos obstruidos, para verificar un panel de seguridad separado crea fricciones innecesarias y los ralentiza. A escala, esa fricción se convierte en latencia, y en la latencia es donde residen las vulnerabilidades.
Los desarrolladores necesitan herramientas de seguridad que se integren directamente en su flujo de trabajo y se comporten más como una herramienta de ingeniería que como un sistema completamente separado: escanear en busca de detección, validar vulnerabilidades y proporcionar una solución en contexto.
Dónde encaja la IA en una capa de seguridad inteligente
Se necesitan varios cambios para cerrar la creciente brecha entre la cantidad de vulnerabilidades encontradas por las herramientas de detección y cómo los equipos de desarrollo responden a ellas. Si las herramientas de seguridad quieren seguir el ritmo de los desarrollos asistidos por IA, deben ser parte de la solución.
Integrada en los flujos de trabajo de desarrollo, la IA puede ayudar a los equipos a validar problemas, clasificar los riesgos por gravedad y explotabilidad, y brindar orientación para que los desarrolladores puedan abordar los problemas en tiempo real. Así es como.
Integre herramientas de seguridad en el flujo de trabajo de desarrollo. Las herramientas que los desarrolladores utilizan todos los días necesitan orientación sobre cómo solucionar problemas ahora mismo. Al invertir en herramientas de seguridad integradas con entornos de código de IA, los equipos pueden reducir la fricción del flujo de trabajo, cambiar el contexto y acelerar los pasos hacia la resolución.
Aléjese de la puntuación de intensidad estática. Los códigos estáticos eventualmente se hunden. Una puntuación “crítica” no llamará la atención de nadie, especialmente si la vulnerabilidad que se está marcando requiere que el desarrollador vaya a una aplicación completamente diferente para evaluarla (y luego regresar para solucionarla).
En cambio, los equipos que cambian a prioridades basadas en la explotación garantizan que sus equipos de desarrollo puedan eliminar el ruido y abordar las vulnerabilidades que crean riesgos en el mundo real en primer lugar.
Verifique primero. El trabajo hacia atrás es mucho más costoso una vez que el código llega a producción. Al detectar problemas, validarlos y solucionarlos en una etapa más temprana del proceso de desarrollo, los equipos recuperan tiempo y recursos y reducen el riesgo general para su organización.
Las organizaciones no deberían tener que elegir entre velocidad y seguridad al adoptar un desarrollo basado en IA. En cambio, necesitan herramientas de seguridad que les ayuden a eliminar el ruido, mantenerse al día con este nuevo ritmo de producción y cerrar la brecha entre las vulnerabilidades señaladas y lo que viene después.
Hemos presentado las mejores computadoras portátiles para programación.
Este artículo fue producido en parte Perspectiva profesional de TechRadarNuestro canal para mostrar las mejores y más brillantes mentes de la industria tecnológica actual.
Las opiniones expresadas aquí son las del autor y no necesariamente las de TechRadarPro o Future plc. Si está interesado en contribuir, obtenga más información aquí: