La última investigación de Backslash Security ha revelado una tendencia preocupante: los Modelos de Lenguaje Grande (LLMs), como GPT-4.1, junto con otros modelos ampliamente utilizados, tienden a generar código inseguro de forma predeterminada. Esto significa que, sin instrucciones o directrices específicas centradas en la seguridad, el código producido por estos sistemas de IA a menudo es vulnerable a debilidades y exploits comunes. Sin embargo, la investigación también indica que la seguridad del código generado puede mejorarse significativamente proporcionando orientación de seguridad adicional o implementando una gobernanza basada en reglas.
Para explorar más a fondo este problema, Backslash Security ha anunciado el lanzamiento del Servidor del Protocolo de Contexto del Modelo (MCP), junto con Reglas y Extensiones diseñadas para Entornos de Desarrollo Integrados (IDEs) Agentic. Estas herramientas tienen como objetivo abordar las vulnerabilidades de seguridad identificadas en el código generado por LLM y proporcionar a los desarrolladores los medios para crear aplicaciones más seguras.
LLMs y la Generación de Código Inseguro: El Escenario Predeterminado
Backslash Security llevó a cabo una serie de pruebas en siete versiones diferentes de LLMs populares, incluidos los modelos GPT de OpenAI, Claude de Anthropic y Gemini de Google. El objetivo era evaluar cómo varias técnicas de prompting influyen en la capacidad de los modelos para generar código seguro. La seguridad de la salida del código se evaluó en función de su resistencia contra diez casos de uso de Common Weakness Enumeration (CWE), que representan una variedad de vulnerabilidades de software comunes.
Los resultados de estas pruebas mostraron consistentemente que la seguridad del código generado mejoraba con técnicas de prompting más sofisticadas. Sin embargo, el tema general fue que todos los LLMs probados generalmente producían código inseguro cuando se les dejaba a su aire. Esto sugiere que estos modelos, en sus configuraciones predeterminadas, no priorizan la seguridad y, a menudo, no abordan las debilidades de codificación comunes.
Prompts Ingenuos: Una Receta para la Vulnerabilidad
Cuando se les presentaron prompts simples e “ingenuos” que no mencionaban explícitamente las consideraciones de seguridad, todos los LLMs probados generaron código inseguro que era vulnerable a al menos cuatro de los diez CWE comunes. Esto destaca la falta inherente de conciencia de seguridad en estos modelos cuando operan sin una guía específica.
El Impacto de los Prompts Centrados en la Seguridad
Los prompts que generalmente especificaban la necesidad de seguridad condujeron a resultados más seguros, lo que indica que los LLMs son capaces de producir código más seguro cuando se les instruye explícitamente para que lo hagan. Además, los prompts que solicitaban código que cumpliera con las mejores prácticas del Proyecto de Seguridad de Aplicaciones Web Abiertas (OWASP) produjeron resultados aún mejores. OWASP es una fundación sin fines de lucro que trabaja para mejorar la seguridad del software. Sin embargo, incluso con estos prompts más sofisticados, algunas vulnerabilidades del código persistieron en cinco de los siete LLMs probados, lo que subraya los desafíos para generar consistentemente código seguro con los LLMs.
Prompts Basados en Reglas: Un Camino hacia el Código Seguro
El enfoque más eficaz para generar código seguro involucró prompts vinculados a reglas especificadas por Backslash para abordar CWE específicos. Estos prompts basados en reglas dieron como resultado un código que era seguro y no vulnerable a los CWE probados. Esto sugiere que proporcionar a los LLMs una guía específica y dirigida es crucial para garantizar la seguridad del código generado.
Variaciones de Rendimiento entre LLMs
En general, GPT-4o de OpenAI demostró el rendimiento más bajo en todos los prompts, logrando un resultado de código seguro de solo 1 de 10 cuando se usaron prompts “ingenuos”. Incluso cuando se le solicitó generar código seguro, todavía produjo salidas inseguras vulnerables a ocho de cada diez problemas. GPT-4.1 no tuvo un rendimiento significativamente mejor con prompts ingenuos, obteniendo una puntuación de 1.5 de 10.
En contraste, Claude 3.7 Sonnet emergió como el mejor intérprete entre las herramientas GenAI probadas. Obtuvo una puntuación de 6 de 10 con prompts ingenuos y una puntuación perfecta de 10 de 10 cuando usó prompts centrados en la seguridad. Esto sugiere que algunos LLMs están mejor equipados para manejar las consideraciones de seguridad, incluso en ausencia de instrucciones explícitas.
Las Soluciones de Backslash Security para una Codificación Vibe Segura
Para abordar los problemas revelados por sus pruebas de prompts LLM, Backslash Security está introduciendo varias características nuevas diseñadas para permitir una codificación vibe segura. La codificación Vibe se refiere a la práctica de generar código utilizando herramientas de IA como LLMs.
Reglas y Políticas de IA de Backslash
Las Reglas y Políticas de IA de Backslash proporcionan reglas legibles por máquina que se pueden inyectar en los prompts para garantizar la cobertura de CWE. Estas reglas se pueden usar con herramientas como Cursor, un popular editor de código. Además, las políticas de IA controlan qué reglas de IA están activas en los IDEs a través de la plataforma Backslash, lo que permite a las organizaciones personalizar su configuración de seguridad.
Extensión IDE de Backslash
La Extensión IDE de Backslash se integra directamente en los flujos de trabajo existentes de los desarrolladores, lo que les permite recibir revisiones de seguridad de Backslash sobre el código escrito tanto por humanos como por IA. Esta integración es crucial para garantizar que las consideraciones de seguridad se aborden durante todo el proceso de desarrollo.
Servidor del Protocolo de Contexto del Modelo (MCP) de Backslash
El Servidor del Protocolo de Contexto del Modelo (MCP) de Backslash es una API sensible al contexto que se ajusta al estándar MCP. Conecta Backslash a herramientas de IA, lo que permite la codificación, el escaneo y las correcciones seguras. El estándar MCP proporciona un marco común para que las herramientas de IA se comuniquen y compartan información, lo que facilita el desarrollo de aplicaciones seguras impulsadas por IA.
Abordar los Desafíos del Código Generado por IA
Yossi Pik, cofundador y CTO de Backslash Security, enfatiza los desafíos que el código generado por IA plantea a los equipos de seguridad. Señala que “el código generado por IA, o la codificación vibe, puede sentirse como una pesadilla para los equipos de seguridad. Crea una avalancha de código nuevo y trae riesgos de LLM como alucinaciones y sensibilidad a los prompts”. Las alucinaciones se refieren a instancias en las que los LLMs generan información incorrecta o sin sentido, mientras que la sensibilidad a los prompts se refiere a la tendencia de los LLMs a producir diferentes resultados basados en variaciones sutiles en el prompt de entrada.
Sin embargo, Pik también cree que la IA puede ser una herramienta valiosa para los equipos de AppSec cuando se utiliza con los controles correctos. Argumenta que “con los controles correctos, como las reglas definidas por la organización y un servidor MCP sensible al contexto conectado a una plataforma de seguridad construida a propósito, la IA puede realmente dar a los equipos de AppSec más control desde el principio”. Backslash Security tiene como objetivo proporcionar estos controles a través de sus reglas dinámicas basadas en políticas, el servidor MCP sensible al contexto y la extensión IDE, todos los cuales están diseñados para la nueva era de la codificación.
Las Implicaciones del Código Inseguro Generado por IA
Los hallazgos de la investigación de Backslash Security tienen implicaciones significativas para la industria del desarrollo de software. A medida que las herramientas de generación de código impulsadas por IA se vuelven cada vez más frecuentes, es crucial comprender los riesgos asociados con la dependencia de estas herramientas sin las medidas de seguridad adecuadas.
Mayor Vulnerabilidad a los Ciberataques
El código inseguro generado por IA puede crear nuevas vulnerabilidades que los ciberdelincuentes pueden explotar. Estas vulnerabilidades pueden conducir a violaciones de datos, compromiso del sistema y otros incidentes de seguridad.
Dificultad para Identificar y Corregir las Vulnerabilidades
El gran volumen de código generado por IA puede dificultar la identificación y corrección de las vulnerabilidades. Los equipos de seguridad pueden tener dificultades para mantenerse al día con el rápido ritmo de la generación de código, lo que lleva a una acumulación de problemas de seguridad.
Falta de Conciencia de la Seguridad entre los Desarrolladores
Es posible que muchos desarrolladores no sean plenamente conscientes de los riesgos de seguridad asociados con el código generado por IA. Esta falta de conciencia puede llevar a los desarrolladores a introducir inadvertidamente vulnerabilidades en sus aplicaciones.
Desafíos de Cumplimiento Normativo
Las organizaciones que dependen del código generado por IA pueden enfrentar desafíos de cumplimiento normativo. Muchas regulaciones requieren que las organizaciones implementen medidas de seguridad adecuadas para proteger los datos confidenciales. El código inseguro generado por IA puede dificultar el cumplimiento de estos requisitos.
Mejores Prácticas para la Generación Segura de Código Impulsado por IA
Para mitigar los riesgos asociados con el código inseguro generado por IA, las organizaciones deben adoptar las siguientes mejores prácticas:
Proporcionar Capacitación en Seguridad a los Desarrolladores
Los desarrolladores deben recibir capacitación sobre los riesgos de seguridad asociados con el código generado por IA. Esta capacitación debe cubrir temas como los CWE comunes, las prácticas de codificación segura y cómo usar las herramientas de seguridad.
Implementar Políticas y Procedimientos de Seguridad
Las organizaciones deben implementar políticas y procedimientos de seguridad que aborden el uso del código generado por IA. Estas políticas deben definir los casos de uso aceptables, los requisitos de seguridad y los procesos para revisar y aprobar el código generado por IA.
Usar Herramientas de Seguridad para Escanear el Código Generado por IA
Las organizaciones deben usar herramientas de seguridad para escanear el código generado por IA en busca de vulnerabilidades. Estas herramientas pueden ayudar a identificar los CWE comunes y otros problemas de seguridad.
Implementar un Ciclo de Vida de Desarrollo Seguro (SDLC)
Las organizaciones deben implementar un ciclo de vida de desarrollo seguro (SDLC) que incorpore consideraciones de seguridad durante todo el proceso de desarrollo. Esto incluye la realización de revisiones de seguridad del código generado por IA, la realización de pruebas de penetración y la implementación de la supervisión de la seguridad.
Establecer un Programa de Recompensas por Errores
Las organizaciones deben establecer un programa de recompensas por errores para alentar a los investigadores de seguridad a encontrar e informar vulnerabilidades en el código generado por IA. Esto puede ayudar a identificar las vulnerabilidades que los equipos de seguridad internos pueden haber pasado por alto.
Mantenerse Informado Sobre las Últimas Amenazas a la Seguridad
Las organizaciones deben mantenerse informadas sobre las últimas amenazas y vulnerabilidades a la seguridad que afectan al código generado por IA. Esto puede ayudarlas a abordar de forma proactiva los posibles problemas de seguridad.
Colaborar con Expertos en Seguridad
Las organizaciones deben colaborar con expertos en seguridad para evaluar la seguridad de su código generado por IA y desarrollar estrategias para mitigar los riesgos.
El Futuro de la Generación Segura de Código Impulsado por IA
A medida que las herramientas de generación de código impulsadas por IA continúan evolucionando, es crucial priorizar la seguridad. Al implementar las mejores prácticas descritas anteriormente, las organizaciones pueden aprovechar los beneficios de la generación de código impulsada por IA y mitigar los riesgos asociados con el código inseguro.
Avances en la Seguridad de la IA
Los esfuerzos continuos de investigación y desarrollo se centran en mejorar la seguridad de los sistemas de IA. Estos esfuerzos incluyen el desarrollo de nuevas técnicas para detectar y prevenir ataques adversarios, mejorar la solidez de los modelos de IA y crear arquitecturas de IA más seguras.
Integración de la Seguridad en el Desarrollo de la IA
La seguridad se está integrando cada vez más en el proceso de desarrollo de la IA. Esto incluye la incorporación de consideraciones de seguridad en el diseño de los modelos de IA, el uso de prácticas de codificación seguras y la realización de pruebas de seguridad durante todo el ciclo de vida del desarrollo.
Colaboración entre Expertos en IA y Seguridad
La colaboración entre expertos en IA y seguridad es esencial para garantizar la seguridad de los sistemas de IA. Esta colaboración puede ayudar a identificar los posibles riesgos de seguridad y desarrollar estrategias de mitigación eficaces.
Mayor Conciencia de los Riesgos para la Seguridad de la IA
La mayor conciencia de los riesgos para la seguridad de la IA está impulsando el desarrollo de nuevas herramientas y técnicas de seguridad. Esto incluye herramientas para detectar ataques adversarios, analizar la seguridad de los modelos de IA y supervisar los sistemas de IA en busca de actividad sospechosa.
Al abordar los desafíos de seguridad asociados con el código generado por IA, las organizaciones pueden desbloquear todo el potencial del desarrollo impulsado por IA y, al mismo tiempo, proteger sus sistemas y datos de los ciberataques.