Periodismo propio, siempre citando las fuentes

Revelan vulnerabilidades de salto de directorio en la herramienta de IA de código abierto Code Graph RAG

Varios avisos de seguridad detallan debilidades de salto de directorio en múltiples versiones del repositorio vitali87 Code Graph RAG, exponiendo riesgos de acceso a archivos.

The Global Wire Newsroom ·

Link preview · horizonglobalnews.com

Revelan vulnerabilidades de salto de directorio en la herramienta de IA de código abierto Code Graph RAG

Varios avisos de seguridad detallan debilidades de salto de directorio en múltiples versiones del repositorio vitali87 Code Graph RAG, exponiendo riesgos de acceso a archivos.

Share

Este artículo fue traducido automáticamente por la IA de nuestra redacción desde el original en inglés. Leer en inglés

Revelan vulnerabilidades de salto de directorio en la herramienta de IA de código abierto Code Graph RAG

Informes publicados en bases de datos de seguridad el 5 de noviembre de 2026 revelaron dos vulnerabilidades distintas de salto de directorio (path traversal) que afectan al repositorio de software vitali87 Code Graph RAG, una herramienta de código abierto diseñada para ayudar a sistemas de inteligencia artificial a indexar y navegar por bases de código. Según los registros catalogados por el servicio de monitorización de vulnerabilidades VulDB, los fallos de seguridad abarcan diferentes ramas de desarrollo y componentes dentro del paquete de software. El primer defecto, registrado bajo la designación de seguimiento de vulnerabilidades CVE-2026-87008, afecta a versiones del proyecto hasta la 0.0.588 dentro de sus operaciones de utilidades de rutas. La segunda vulnerabilidad, asignada con la entrada CVE-2026-77604, reside en las funciones de ejecución de herramientas en una rama de desarrollo paginada y afecta a versiones del software hasta la 0.0.344. Ambos avisos destacan que los administradores de sistemas que utilicen los paquetes de software afectados deben actualizar a versiones más recientes para evitar el acceso no autorizado mediante saltos de directorio.

## Key facts

- La vulnerabilidad catalogada como CVE-2026-87008 afecta al proyecto vitali87 Code Graph RAG en versiones hasta la 0.0.588. - Una segunda vulnerabilidad, catalogada como CVE-2026-77604, afecta al software en versiones hasta la 0.0.344 dentro de una rama de código paginada. - Ambas vulnerabilidades están clasificadas como debilidades de salto de directorio (path traversal), que permiten que las entradas eludan las restricciones de directorio previstas. - Entre los elementos de código específicos identificados en los informes figuran la función should_skip_path en path_utils.py y la implementación MCPToolsRegistry.read_file en tools.py. - Las entradas de seguridad fueron publicadas formalmente por la base de datos de seguimiento de vulnerabilidades VulDB el 5 de noviembre de 2026.

## What happened

Según las entradas de divulgación registradas por VulDB, se inscribieron dos fallos independientes de salto de directorio en el repositorio vitali87 Code Graph RAG, lo que pone de relieve diferentes puntos arquitectónicos donde la gestión de rutas de archivos no restringió adecuadamente las entradas suministradas por usuarios o agentes.

El primer problema documentado, al que se asignó el identificador CVE-2026-87008, afecta a los mecanismos de gestión de rutas del software. Los detalles técnicos publicados por VulDB sitúan el fallo dentro del archivo path_utils.py, específicamente en la función should_skip_path. En las arquitecturas de generación aumentada por recuperación (RAG), los scripts de utilidades de rutas suelen determinar qué archivos, directorios y extensiones deben analizarse sintácticamente, ignorarse o indexarse en un grafo semántico. Cuando las rutinas de evaluación de rutas carecen de comprobaciones de límites estrictas, las notaciones de rutas relativas, como las secuencias de punto-punto-barra, pueden desviar la rutina. En este caso, VulDB informó de que las versiones hasta la 0.0.588 contienen el fallo, aconsejando a los administradores y desarrolladores que utilizan el componente desplegar versiones más recientes y corregidas.

La segunda vulnerabilidad, registrada con el identificador CVE-2026-77604, afecta a una línea base anterior dentro de una rama paginada del software, que abarca compilaciones hasta la versión 0.0.344. La entrada atribuye la debilidad al script tools.py, centrándose específicamente en el componente MCPToolsRegistry.read_file. El nombre del registro indica una integración con el Model Context Protocol, un estándar de interfaz ampliamente utilizado para conectar modelos de lenguaje de gran tamaño con herramientas de ejecución y fuentes de datos externas. Se descubrió que el controlador read_file dentro de este registro era vulnerable a saltos de directorio, lo que generaba condiciones bajo las cuales una solicitud de lectura de archivos podía llegar más allá del directorio raíz designado de la base de código bajo análisis. Al igual que con la entrada complementaria, VulDB recomendó una actualización inmediata de versión para los usuarios dependientes.

## Why it matters

Las vulnerabilidades de salto de directorio, catalogadas en los estándares de la industria bajo la entrada CWE-22 de Common Weakness Enumeration, representan una clase fundamental de defectos de software que conllevan riesgos elevados cuando se integran en flujos de trabajo de inteligencia artificial. En las aplicaciones web convencionales, el salto de directorio suele permitir a un atacante escapar de los directorios raíz web para visualizar archivos confidenciales del servidor, como configuraciones de entorno, registros de usuarios del sistema o código fuente de la aplicación. Cuando se introducen en asistentes de programación automatizados y canalizaciones de generación aumentada por recuperación, las implicaciones se amplían considerablemente.

En los sistemas de recuperación habituales, un agente de inteligencia artificial o un modelo de lenguaje de gran tamaño recurre a herramientas autónomas para explorar directorios, leer archivos fuente y ensamblar mapas contextuales. Si una herramienta como read_file carece de un saneamiento riguroso, un adversario puede explotar esta debilidad directamente mediante entradas manipuladas o indirectamente a través de ataques de inyección de instrucciones (prompt injection) ocultos en los archivos del repositorio. Si un modelo autónomo encuentra instrucciones diseñadas para activar la herramienta MCP con una ruta de archivo arbitraria, un sistema vulnerable podría leer tokens de configuración confidenciales, claves criptográficas privadas o datos propietarios alojados en la infraestructura subyacente, reenviando esa información directamente al flujo de salida contextual del modelo. Dado que muchos ingenieros de software ejecutan asistentes de modelos de lenguaje locales y herramientas de indexación de código con privilegios administrativos completos en sus entornos de desarrollo locales, las vulnerabilidades de esta índole pueden conceder capacidades de lectura arbitraria de archivos en la estación de trabajo de un ingeniero o en un servidor de integración continua.

## The background

La generación aumentada por recuperación, comúnmente conocida como RAG por sus siglas en inglés, emergió como una arquitectura dominante para la IA generativa moderna tras la rápida adopción empresarial de los modelos de lenguaje de gran tamaño a partir de finales de 2022. Si bien los modelos base poseen amplios conocimientos adquiridos durante su entrenamiento, carecen de información en tiempo real sobre bases de código privadas, bibliotecas internas propietarias y repositorios técnicos que evolucionan con rapidez. Los sistemas RAG salvan esta brecha consultando fuentes de datos externas, recuperando fragmentos relevantes e inyectándolos en la instrucción (prompt) proporcionada al modelo de lenguaje.

Para la comprensión de código fuente, el RAG estándar basado en vectores —que depende principalmente de la fragmentación de texto y las incrustaciones de similitud— a menudo resulta insuficiente. Las bases de código dependen de una lógica estructural: las funciones llaman a otras funciones, las clases heredan de definiciones principales y los módulos importan dependencias externas. Para abordar estas relaciones estructurales, los desarrolladores crearon sistemas de «Code Graph RAG», que combinan la búsqueda semántica vectorial con bases de datos de grafos de conocimiento. Estos sistemas analizan sintácticamente árboles de código, mapean llamadores y llamados (callers y callees) y construyen grafos estructurados que representan la arquitectura completa de un repositorio.

A medida que los ecosistemas de IA orientados a desarrolladores maduraron a lo largo de 2024 y 2025, surgieron estándares de interoperabilidad para normalizar la forma en que los modelos interactúan con entornos externos. El Model Context Protocol, presentado por Anthropic a finales de 2024, se convirtió rápidamente en un popular estándar abierto en herramientas de desarrollo comerciales y de código abierto. El protocolo proporciona un método estructurado para que los agentes de IA consulten herramientas externas —como clientes de bases de datos, motores de búsqueda y utilidades locales del sistema de archivos— mediante registros estandarizados. Sin embargo, la integración de agentes autónomos con operaciones locales de archivos introdujo graves desafíos para la seguridad de las aplicaciones y la cadena de suministro. Las operaciones de archivos habituales como read_file o los filtros de rutas requieren un aislamiento en entornos de prueba (sandboxing) minucioso para evitar que el modelo, o el texto malicioso procesado por este, navegue fuera del directorio previsto del repositorio. Cuando las herramientas de código abierto se publican con rapidez bajo números de versión semántica experimentales (como versiones inferiores a la 1.0.0), el saneamiento defensivo de entradas suele pasarse por alto en favor de una iteración rápida de características.

## Reaction

Las divulgaciones de VulDB no incorporaron comentarios públicos ni declaraciones del autor del repositorio, Vitali87, ni tampoco documentaron los resúmenes de la base de datos reportes de incidentes externos o explotación activa en entornos reales. En los ciclos habituales de gestión de vulnerabilidades, los mantenedores de proyectos de código abierto alojados en repositorios como GitHub suelen abordar este tipo de divulgaciones mediante la publicación de commits que normalizan las rutas de archivos, eliminan la sintaxis de rutas relativas y aplican validaciones de límites antes de abrir o evaluar archivos.

Los equipos de respuesta de seguridad y los investigadores independientes que siguen la seguridad de herramientas de IA enfatizan de manera constante que las herramientas automatizadas que operan en repositorios no confiables deben emplear estrictos principios de defensa en profundidad. Las guías de la industria de organismos de seguridad de aplicaciones recomiendan que los registros de software que implementen protocolos de llamada a herramientas aíslen todas las interacciones con el sistema de archivos dentro de límites de contenedores aislados o listas blancas explícitas de rutas. Se espera que los desarrolladores de software que utilicen la herramienta vitali87 Code Graph RAG en flujos de trabajo automatizados de indexación o plataformas internas de desarrollo evalúen sus canalizaciones de despliegue interno y confirmen que los paquetes instalados superen las versiones 0.0.344 y 0.0.588 según los parámetros de los respectivos avisos.

## What we don't know yet

Varios detalles sustanciales siguen sin abordarse en los informes primarios de vulnerabilidad catalogados por VulDB. Los registros iniciales no especifican si las brechas de seguridad se descubrieron durante una auditoría interna de código, si fueron reportadas por un investigador de seguridad externo a través de un proceso coordinado de divulgación de vulnerabilidades o si se identificaron tras un escaneo automatizado de análisis estático. Además, los resúmenes no indican si las vulnerabilidades han recibido puntuaciones base oficiales de gravedad del Common Vulnerability Scoring System (CVSS), que determinan métricas de impacto estandarizadas como el vector de ataque, la complejidad y los privilegios requeridos.

Los avisos de divulgación tampoco detallan si se han distribuido públicamente scripts de prueba de concepto o si el mantenedor ha publicado versiones formales de parches con los hashes de commit correspondientes, más allá de la recomendación de actualizar a versiones superiores a las afectadas. Sigue sin confirmarse si se ha detectado una explotación activa contra sistemas que utilicen el paquete, o si el software está integrado como dependencia en herramientas de desarrollo comerciales más amplias.

## What to watch

Las organizaciones y desarrolladores individuales que integren herramientas de RAG basadas en grafos de código deben monitorizar los canales de distribución del paquete original, como el Python Package Index (PyPI) o el repositorio de código fuente del proyecto, en busca de etiquetas de versiones actualizadas que reemplacen formalmente a la versión 0.0.588. Los analistas de seguridad estarán atentos a la National Vulnerability Database (NVD), mantenida por el U.S. National Institute of Standards and Technology, para la asignación de vectores oficiales de puntuación CVSS y niveles estandarizados de gravedad.

Asimismo, los observadores deberían seguir los debates técnicos relativos a las implementaciones de seguridad del Model Context Protocol, en particular respecto a cómo las herramientas de registro gestionan la normalización de rutas al ejecutar rutinas de lectura de archivos en nombre de modelos de lenguaje. A medida que las herramientas de IA de código abierto proliferan en los entornos de ingeniería empresarial, la adopción de marcos obligatorios de sandboxing y pruebas automatizadas contra ataques de salto de directorio en herramientas impulsadas por IA servirá como un referente clave para la madurez de la cadena de suministro de software.

La información de este artículo se basa en los registros de divulgación de vulnerabilidades publicados por VulDB.

Fuente: vuldb.com

Noticias relacionadas