BookinglyTech News
Ciberseguridad

Un fallo en cuatro agentes de IA permite cambiar plugins fijados por version

Air Security describe como eludir el bloqueo por commit hash en Claude Code, Codex, Copilot y Gemini CLI. Anthropic y OpenAI ya han parcheado; los otros dos, no.

3 min de lecturaThe Hacker News0 vistas

Un fallo en cuatro agentes de programacion con IA permite a quien controla el repositorio de un plugin cambiar el que instala el agente por otro malicioso, aunque ese plugin estuviera fijado a una version ya revisada. Lo ha descrito la firma Air Security, que dice haber construido un ataque funcional contra los cuatro en mayo y haber avisado a los fabricantes en junio. Anthropic y OpenAI ya lo han corregido; GitHub Copilot no tiene parche y Google no piensa arreglar el Gemini CLI.

El mecanismo es mas simple de lo que parece. Un marketplace fija cada plugin a una instantanea concreta del codigo mediante su commit hash, esa cadena larga que identifica un estado exacto del repositorio. Los agentes descargan esa instantanea, pero nunca comprueban que el codigo que acaban usando coincida con ella. Si el host de git acepta crear una rama cuyo nombre imite el hash, el dueno del repositorio puede apuntar ese nombre a otro codigo. El agente instala lo segundo y sigue informando de que esta en la version fijada. Y como un plugin corre con los mismos permisos que la persona que usa el agente, el codigo sustituido puede leer sus archivos, sus credenciales guardadas y los sistemas a los que esa persona puede entrar.

Donde funciona el truco

GitHub no permite nombres de rama o etiqueta con forma de commit hash, segun su documentacion, asi que un plugin instalado desde un repositorio de GitHub no esta expuesto a esta variante. Air dice que si funciona en hosts que admiten esos nombres, como Bitbucket o un servidor git propio de una empresa, que estos agentes tambien soportan.

El Gemini CLI recibe un ataque distinto: su instalador puede enganarse con un repositorio cuya rama principal se llame FETCH_HEAD, y la regla de GitHub contra nombres con forma de hash no bloquea claramente ese nombre. Es justo el agente que Air dice que no se va a arreglar.

Quien esta al dia

Air situa la correccion de Anthropic en Claude Code 2.1.179 y la de OpenAI en Codex 0.146.0. La propia OpenAI describe el fallo en el pull request que lo corrige: Git "can interpret a requested commit SHA as a branch name", lo que puede hacer que un origen de plugins "materialize a different commit than the one it pinned".

Copilot no tiene parche. Air dice que aviso a Microsoft en junio y que no ha salido nada. Google dejo de servir el Gemini CLI de consumo en junio y empuja a los usuarios hacia Antigravity, su agente mas nuevo, que segun Air y Google no es alcanzable por este ataque. La compania ha dicho que el acceso empresarial al Gemini CLI seguira con actualizaciones, aunque no esta claro si el arreglo esta entre ellas.

A 18 de septiembre no habia CVE asignado ni aviso de seguridad publicado por ninguno de los cuatro fabricantes, y no hay indicios de uso en ataques reales. El auto-update en segundo plano agrava el escenario donde aplica: Claude Code y Codex lo traen activado por defecto, pero solo para sus catalogos integrados alojados en GitHub; en los externos esta apagado u opcional.

Como cada agente comprueba el bloqueo en la maquina del usuario y no en el marketplace, ningun marketplace puede arreglar esto por su cuenta: el parche tiene que salir del propio agente. Las fuentes no aclaran si actualizar elimina un plugin ya sustituido o solo evita los siguientes cambios.