Riesgos que introduce el código generado con IA
Los asistentes de programación pueden reducir el tiempo de implementación, pero su output entra en el repositorio con la misma necesidad de revisión que cualquier contribución externa. Los modelos pueden reproducir patrones inseguros, proponer dependencias sin auditar o seguir instrucciones incluidas en texto que el equipo no pretendía considerar fiable.
La pregunta relevante no es si el código parece correcto. Es si el equipo puede rastrear sus dependencias, comprobar su comportamiento, analizar vulnerabilidades conocidas y explicar por qué forma parte del sistema. Sin esos controles, el tiempo ahorrado al generar vuelve como trabajo de revisión, depuración y corrección.
Este artículo describe esos fallos y los controles de ingeniería que los reducen.
Cuando un texto no fiable se convierte en instrucción
Los repositorios, las descripciones de incidencias y los archivos de configuración pueden contener texto que un agente interpreta como instrucciones. Los caracteres Unicode y otras formas de ofuscación pueden hacer que ese texto resulte difícil de detectar durante una revisión.
El control consiste en tratar el contenido recuperado como datos no fiables: separarlo de las instrucciones del sistema, normalizar e inspeccionar el texto sospechoso, limitar las herramientas que puede usar el agente y revisar el código resultante antes de incorporarlo al repositorio.
Adopción, confianza y controles de seguridad
Según el AI Code Security Report 2023 de Snyk, el 96% de los equipos encuestados ya usaba herramientas de programación con IA. La Encuesta para Desarrolladores 2024 de Stack Overflow registró un 76% que las usaba o pensaba usarlas ese año, y la edición de 2025 muestra que la adopción ha continuado.
Las mismas fuentes registran una confianza limitada en el resultado. Snyk detectó que el 56,4% de los desarrolladores encontraba habitualmente problemas de seguridad en las sugerencias de IA. Un análisis de Snyk de 2024 observó que los equipos de Application Security tenían el doble de probabilidades que los desarrolladores de calificar como mala la seguridad del código generado. La encuesta de Stack Overflow de 2024 también señaló que solo el 43% confiaba en la precisión del resultado y que el 45% de los profesionales valoraba mal estas herramientas en tareas complejas.
Los riesgos incluyen patrones obsoletos aprendidos de código público, dependencias sin revisar, prompt injection y un tratamiento de datos que no coincide con la política de la empresa. ReversingLabs analizó estos riesgos de desarrollo en 2025. Snyk también indicó que menos del 20% de las organizaciones realizó una prueba de concepto formal antes del despliegue, mientras seguían siendo frecuentes los saltos de las políticas de seguridad y la escasa automatización de análisis.
Las herramientas de IA necesitan controles de ingeniería
Los asistentes de programación con IA son herramientas de ingeniería. Su resultado necesita los mismos responsables, revisiones y controles que el código escrito por una persona o enviado por un colaborador externo.
Generar más rápido aumenta el volumen que el equipo debe evaluar. La capacidad de revisión, las comprobaciones de dependencias y los controles de seguridad deben crecer con la adopción.
Prácticas para integrar IA con seguridad
Los controles son prácticas de ingeniería conocidas aplicadas a una fuente nueva de código:
- Revisar prompts e instrucciones del agente: tratarlos como entradas ejecutables y mantener los datos sensibles fuera de los contextos que no los admitan.
- Exigir revisión humana: comprobar el comportamiento, las convenciones del proyecto y las rutas de error antes de fusionar el código generado.
- Automatizar la seguridad: ejecutar SAST, análisis de composición y las pruebas dinámicas pertinentes en CI. La guía de implementación con Snyk explica una configuración.
- Detectar ofuscación: señalar Unicode sospechoso e instrucciones ocultas en código, comentarios y configuración.
- Formar al equipo: documentar qué herramientas están aprobadas, qué datos pueden recibir y quién responde por los cambios generados.
- Aportar contexto acotado: dar al agente los requisitos y restricciones necesarios para la tarea sin exponer datos ajenos. Los principios del desarrollo AI-First describen ese modelo de contexto.
La arquitectura puede reducir aún más el alcance de un fallo al separar componentes generados, limitar sus interfaces y probarlos en esos límites. El artículo sobre patrones de arquitectura desarrolla esas opciones.
La velocidad no sustituye la revisión
La IA puede reducir el tiempo de implementación, pero no elimina el trabajo de revisión descrito arriba. Sin esos controles, el tiempo ahorrado vuelve como deuda técnica, respuesta a incidentes o limpieza de dependencias.
El enfoque mantenible se puede medir: definir quién responde por el resultado, exigir revisión, automatizar comprobaciones y conservar el contexto estructurado de cada cambio.
Preguntas frecuentes
¿Por qué los proyectos hechos con IA se vuelven insostenibles?
Porque la velocidad va por delante y el coste se aplaza. La IA produce código que funciona muy rápido, pero a menudo sin contexto capturado y con fallos sutiles: patrones inseguros, dependencias ocultas, incluso instrucciones disfrazadas en los comentarios. Los equipos adoptan las herramientas sin adaptar sus procesos de revisión y seguridad, así que la deuda y las vulnerabilidades se acumulan en silencio. El esfuerzo ahorrado hoy vuelve después como depuración, retrabajo e incidentes de seguridad.
¿Es seguro el código generado por IA?
No por defecto. Los asistentes reproducen patrones del código público, incluidos los obsoletos o inseguros, y pueden ser manipulados por entradas maliciosas ocultas en el texto que procesan. Además difuminan la línea entre datos y comandos. El código generado por IA puede hacerse seguro, pero solo con la misma disciplina de ingeniería que aplicas en el resto: revisión humana de la salida, escaneo automatizado y tratar los prompts como instrucciones ejecutables.
¿Cómo se construyen proyectos de IA sostenibles?
Revisa la salida de la IA con el mismo cuidado que cualquier contribución externa, automatiza el análisis de seguridad en el pipeline, comprueba las instrucciones ofuscadas en código y configuración y aporta al modelo solo el contexto estructurado que necesita para la tarea.
