Es importante destacar que la integración de inteligencia artificial (IA) en el proceso de codificación puede ofrecer numerosos beneficios, pero también plantea desafíos significativos en términos de seguridad. Aaron, ingeniero de relaciones con desarrolladores en Google, nos explica cómo podemos asegurarnos de que la codificación asistida por IA sea segura y robusta. En este post, exploraremos los consejos y prácticas recomendadas para codificar de manera segura sin ser hackeado.
Una consideración clave es cambiar nuestra perspectiva de la seguridad en el desarrollo. En lugar de centrarnos en quién o cómo se ha escrito el código, debemos enfocarnos en su estabilidad y seguridad. Aaron sugiere que debemos pensar en los agentes de codificación como en becarios brillantes, con un gran potencial pero que necesitan supervisión y pautas claras. Esto implica trabajar con lotes pequeños, ingeniería de contexto, control de acceso y entornos aislados, y realizar verificaciones externas.
Trabajar con lotes pequeños es crucial para la estabilidad al escribir código. Esto facilita una revisión más sencilla y centrada, ya sea por un humano o un agente, y ofrece una intención más clara y una mayor cobertura de pruebas. Cada pequeña confirmación nueva refleja el comportamiento del usuario, lo que permite detectar y corregir problemas temprano en el proceso. Incluso si un agente ha escrito el código, debe ser revisado. Los agentes no son más que una amplificación de los procesos existentes, por lo que es importante mantener las prácticas de seguridad establecidas.
La ingeniería de contexto es esencial para establecer las reglas de juego en todo el proyecto. Es como dar a un becario de IA una guía de estilo, un conjunto de requisitos de seguridad y el contexto de lo que estás creando. Esto debe ser específico y no excesivo para evitar el colapso del contexto y un consumo excesivo de tokens. Aaron menciona que un archivo Gemini en un directorio específico o la adquisición de habilidades pueden ser técnicas efectivas para mantener el contexto ajustado.
El control de acceso y el aislamiento de procesos son fundamentales para prevenir que un agente tenga acceso a archivos locales y pueda ejecutar comandos maliciosos. Aaron recomienda usar entornos aislados como G Visor Sentry, que desvían las llamadas al sistema a una capa de ejecución aislada, para evitar que un atacante escape del contenedor y acceda al kernel del sistema anfitrión. La defensa en profundidad y controles externos al agente son necesarios para aplicar el principio de mínimo privilegio y garantizar que las habilidades y el código utilizados por los agentes no sean maliciosos.
Finalmente, la verificación es crucial para revisar la tarea del agente de codificación. Aaron sugiere utilizar sistemas externos para la revisión por pares, como análisis determinista o probabilístico, para proporcionar consistencia y previsibilidad en las pruebas. Herramientas de análisis de código como SAST son esenciales para detectar problemas de seguridad temprano en el proceso.
En resumen, la seguridad en el desarrollo asistido por IA es un proceso integral que requiere un enfoque multifacético. Al seguir estas prácticas, podemos asegurar que la codificación asistida por IA sea segura y robusta, protegiendo nuestros proyectos de posibles amenazas.
Fuente: YouTube



