Vulnerabilidad en Agentes de Codificación AI

Una vulnerabilidad detectada en cuatro agentes de codificación AI ampliamente utilizados permite a los propietarios de repositorios de plugins intercambiar el código de un plugin fijado por uno malicioso. Esta situación fue informada por la firma de seguridad Air Security. A pesar de que los agentes bloquean el acceso a versiones específicas de plugins revisados, la falla permite que se instalen versiones alteradas sin que los usuarios lo detecten.

Los agentes de codificación, como Claude Code de Anthropic, Codex de OpenAI, GitHub Copilot y Gemini CLI de Google, instalan plugins provenientes de mercados en línea. Para garantizar la seguridad, cada plugin debería estar bloqueado a una versión revisada mediante un commit hash, que identifica un estado exacto del código. Sin embargo, Air Security descubrió que estos agentes no verifican si el código recibido coincide realmente con el commit hash especificado.

El problema radica en la posibilidad de crear ramas en los repositorios con nombres que imiten el commit hash. De esta manera, un propietario de un repositorio puede redirigir esa rama hacia un código diferente. El agente, al instalar este código, sigue reportando que está utilizando la versión bloqueada. Dado que los plugins operan con los mismos permisos que el usuario, el código intercambiado puede acceder a archivos personales, credenciales guardadas y sistemas a los que el usuario puede acceder.

No obstante, este método de ataque no es eficaz en todas partes. GitHub no permite nombres de ramas o etiquetas que se asemejen a commit hashes, lo que protege a los plugins instalados desde repositorios de GitHub. Sin embargo, el truco funciona en plataformas que permiten tales nombres, como Bitbucket o servidores git privados.

Estado de las Correcciones

Air Security comunicó que Anthropic ha corregido la vulnerabilidad en Claude Code versión 2.1.179 y OpenAI en Codex 0.146.0. Sin embargo, GitHub Copilot no cuenta con una solución y Google anunció que no planea corregir el Gemini CLI, que está siendo retirado.

El 18 de septiembre, al verificar los mercados que utilizan estos agentes, se constató que todos los plugins en el catálogo comunitario de Anthropic, así como en los catálogos predeterminados de Claude Code y Copilot, apuntan a repositorios de GitHub. En el caso del Gemini CLI, se identificó otra vía de ataque que utiliza un nombre de rama llamado FETCH_HEAD, que no está claramente bloqueado por las reglas de GitHub.

La posibilidad de que un plugin legítimo sea reemplazado sin la intervención del usuario se incrementa con la función de actualización automática, que permite a los agentes refrescar plugins instalados de manera autónoma. Este mecanismo está habilitado por defecto en Claude Code y Codex, y se aplica únicamente a los mercados internos, que son alojados en GitHub.

Air Security desarrolló un ataque de prueba exitoso contra los cuatro agentes en mayo y notificó a los proveedores en junio. Hasta la fecha de este informe, no se había asignado ningún identificador CVE para esta falla y ninguno de los cuatro proveedores había emitido un aviso de seguridad. En pruebas locales, se pudo replicar el comportamiento subyacente de Git, confirmando que la solución debe ser implementada directamente en los agentes, ya que ningún mercado externo puede resolver el problema.

Recomendaciones

A continuación, se resumen las acciones recomendadas para cada agente: - Anthropic Claude Code: Corregido en versión 2.1.179. Se recomienda actualizar a esta versión o posterior. - OpenAI Codex: Corregido en versión 0.146.0. Actualizar a esta versión o posterior. - GitHub Copilot: Sin corrección disponible. - Google Gemini CLI: No será corregido; se sugiere cambiar a Antigravity.

La investigación sobre esta vulnerabilidad continúa y se espera que los proveedores tomen medidas adicionales para mitigar el riesgo que representa.

Fuente

Ver noticia original