В открытом ИИ-инструменте Code Graph RAG раскрыты уязвимости обхода путей
Бюллетени безопасности описывают уязвимости обхода каталогов в нескольких версиях репозитория vitali87 Code Graph RAG, создающие риски несанкционированного доступа к файлам.
The Global Wire Newsroom ·
Link preview · horizonglobalnews.com
В открытом ИИ-инструменте Code Graph RAG раскрыты уязвимости обхода путей
Бюллетени безопасности описывают уязвимости обхода каталогов в нескольких версиях репозитория vitali87 Code Graph RAG, создающие риски несанкционированного доступа к файлам.
Эта статья переведена автоматически нашим редакционным ИИ с английского оригинала. Читать на английском

Публикации в базах данных безопасности от 5 ноября 2026 года раскрыли две различные уязвимости обхода путей (path traversal), затрагивающие репозиторий программного обеспечения vitali87 Code Graph RAG — утилиту с открытым исходным кодом, предназначенную для помощи системам искусственного интеллекта в индексации и навигации по кодовым базам. Согласно записям сервиса мониторинга уязвимостей VulDB, дефекты безопасности затрагивают различные ветки разработки и компоненты пакета. Первый дефект, зарегистрированный под идентификатором CVE-2026-87008, затрагивает версии проекта вплоть до 0.0.588 в операциях вспомогательных утилит для работы с путями. Вторая уязвимость с идентификатором CVE-2026-77604 находится в функциях выполнения инструментов в пагинированной ветке разработки и затрагивает релизы вплоть до версии 0.0.344. В обоих бюллетенях подчеркивается, что системным операторам, использующим уязвимые пакеты ПО, следует обновиться до более новых версий для предотвращения несанкционированного обхода каталогов.
## Key facts
- Уязвимость с идентификатором CVE-2026-87008 затрагивает проект vitali87 Code Graph RAG в релизах вплоть до версии 0.0.588. - Вторая уязвимость, зарегистрированная как CVE-2026-77604, затрагивает программное обеспечение в версиях до 0.0.344 в кодовой ветке с пагинацией. - Обе уязвимости классифицируются как бреши обхода путей, позволяющие входным данным обходить установленные ограничения каталогов. - В отчетах указаны конкретные элементы кода, включая функцию should_skip_path в path_utils.py и реализацию MCPToolsRegistry.read_file в tools.py. - Записи об угрозах безопасности были официально опубликованы базой данных отслеживания уязвимостей VulDB 5 ноября 2026 года.
## What happened
Согласно записям, внесенным VulDB, в репозитории vitali87 Code Graph RAG были зафиксированы две отдельные уязвимости обхода путей, указывающие на различные архитектурные точки, в которых обработка путей к файлам не смогла должным образом ограничить ввод, поступающий от пользователя или агента.
Первая задокументированная проблема, получившая обозначение CVE-2026-87008, связана с механизмами управления путями в ПО. Технические подробности, опубликованные VulDB, указывают на дефект в файле path_utils.py, а именно в функции should_skip_path. В архитектурах генерации с дополненной выборкой (retrieval-augmented generation) служебные скрипты обработки путей обычно определяют, какие файлы, каталоги и расширения файлов следует анализировать, игнорировать или индексировать в семантический граф. Когда в процедурах проверки путей отсутствуют строгие проверки границ, обозначения относительных путей, такие как последовательности «точка-точка-слэш», могут направить выполнение по неверному пути. В данном случае VulDB сообщила, что уязвимость присутствует в версиях до 0.0.588, и рекомендовала использующим этот компонент администраторам и разработчикам развернуть более новые, исправленные версии.
Вторая уязвимость, зарегистрированная как CVE-2026-77604, затрагивает более раннюю кодовую базу в пагинированной ветке ПО, охватывая сборки до версии 0.0.344 включительно. В записи дефект связывается со скриптом tools.py, а именно с компонентом MCPToolsRegistry.read_file. Название реестра указывает на интеграцию с Model Context Protocol — стандартом интерфейса, широко используемым для подключения больших языковых моделей к внешним инструментам выполнения и источникам данных. Обработчик read_file в этом реестре оказался уязвим к обходу каталогов, что создало условия, при которых запрос на чтение файла мог выйти за пределы назначенного корневого каталога анализируемой кодовой базы. Как и в первом случае, VulDB рекомендовала конечным пользователям немедленно обновить версию.
## Why it matters
Уязвимости обхода путей, классифицируемые в отраслевых стандартах под идентификатором Common Weakness Enumeration CWE-22, представляют собой фундаментальный класс программных дефектов, сопряженный с повышенными рисками при интеграции в рабочие процессы искусственного интеллекта. В традиционных веб-приложениях обход каталогов обычно позволяет злоумышленнику выйти за пределы корневого веб-каталога для просмотра конфиденциальных файлов сервера, таких как конфигурации среды, реестры системных пользователей или исходный код приложения. При внедрении в автоматизированные ассистенты кодинга и конвейеры генерации с дополненной выборкой масштабы последствий значительно расширяются.
В типичных системах выборки агент искусственного интеллекта или большая языковая модель полагается на автономные инструменты для исследования каталогов, чтения исходных файлов и построения контекстных карт. Если в таком инструменте, как read_file, отсутствует строгая санитизация, злоумышленник может эксплуатировать эту брешь напрямую с помощью манипулированных входных данных или опосредованно через атаки типа внедрения промптов (prompt injection), скрытые в файлах репозитория. Если автономная модель сталкивается с инструкциями, предназначенными для вызова MCP-инструмента с произвольным путем к файлу, уязвимая система может прочитать конфиденциальные токены конфигурации, приватные криптографические ключи или проприетарные данные, размещенные на базовой инфраструктуре, передав эту информацию прямо в поток контекстного вывода модели. Поскольку многие разработчики запускают локальных помощников на базе языковых моделей и инструменты индексации кода с полными правами администратора своей локальной среды разработки, уязвимости такого рода могут предоставить возможности произвольного чтения файлов на всей рабочей станции инженера или сервере непрерывной интеграции.
## The background
Генерация с дополненной выборкой, обычно называемая RAG, стала доминирующей архитектурой для современного генеративного ИИ после стремительного внедрения больших языковых моделей на предприятиях, начавшегося в конце 2022 года. Хотя базовые модели обладают обширными знаниями, полученными в процессе обучения, они не осведомлены в реальном времени о закрытых кодовых базах, проприетарных внутренних библиотеках и быстро меняющихся технических репозиториях. RAG-системы устраняют этот пробел, запрашивая внешние источники данных, извлекая релевантные фрагменты и внедряя их в промпт, передаваемый языковой модели.
Для понимания исходного кода стандартный векторный RAG, опирающийся преимущественно на разбиение текста на фрагменты и векторные представления сходства, часто оказывается недостаточным. Кодовые базы строятся на структурной логике: функции вызывают другие функции, классы наследуются от родительских определений, а модули импортируют внешние зависимости. Чтобы учесть эти структурные связи, разработчики создали системы «Code Graph RAG», сочетающие семантический векторный поиск с базами данных графов знаний. Такие системы разбирают деревья синтаксиса кода, сопоставляют вызывающие и вызываемые компоненты и выстраивают структурированные графы, отражающие архитектуру всего репозитория.
По мере развития ИИ-экосистем для разработчиков на протяжении 2024 и 2025 годов появились стандарты интероперабельности, призванные нормализовать взаимодействие моделей с внешней средой. Model Context Protocol, представленный компанией Anthropic в конце 2024 года, быстро стал популярным открытым стандартом как в опенсорсных, так и в коммерческих инструментах разработки. Протокол предоставляет структурированный метод для ИИ-агентов, позволяющий запрашивать внешние инструменты — такие как клиенты баз данных, поисковые системы и локальные файловые утилиты — с использованием стандартизированных реестров. Однако интеграция автономных агентов с локальными файловыми операциями породила серьезные проблемы в области безопасности цепочек поставок и приложений. Стандартные файловые операции, такие как read_file или фильтры путей, требуют тщательной изоляции («песочницы»), чтобы предотвратить выход модели — или вредоносного текста, полученного моделью — за пределы предназначенного каталога репозитория. Когда утилиты с открытым исходным кодом выпускаются ускоренными темпами под экспериментальными семантическими номерами версий (например, релизы ниже 1.0.0), защитной фильтрацией входных данных нередко пренебрегают ради быстрого добавления новых функций.
## Reaction
Публикации VulDB не содержали публичных комментариев или заявлений автора репозитория Vitali87; в сводках базы данных также не зафиксированы внешние отчеты об инцидентах или активная эксплуатация уязвимостей в реальных условиях. В стандартных циклах управления уязвимостями мейнтейнеры опенсорсных проектов, размещенных на таких платформах, как GitHub, обычно реагируют на подобные раскрытия выпуском коммитов, которые канонизируют пути к файлам, исключают синтаксис относительных путей и обеспечивают проверку границ перед открытием или обработкой файлов.
Группы реагирования на инциденты безопасности и независимые исследователи, отслеживающие безопасность ИИ-инструментов, регулярно подчеркивают, что автоматизированные средства, работающие с недоверенными репозиториями, должны следовать строгим принципам глубокоэшелонированной защиты. Отраслевые рекомендации организаций по безопасности приложений советуют реестрам ПО, реализующим протоколы вызова инструментов, изолировать все взаимодействия с файловой системой в рамках контейнеров или явных белых списков путей. Разработчикам стороннего ПО, использующим утилиту vitali87 Code Graph RAG в автоматизированных рабочих процессах индексации или внутренних платформах разработки, рекомендуется проверить свои внутренние конвейеры развертывания и убедиться, что установленные пакеты превышают версии 0.0.344 и 0.0.588 в соответствии с параметрами соответствующих бюллетеней.
## What we don't know yet
Некоторые существенные детали в первичных отчетах об уязвимостях, каталогизированных VulDB, остаются нераскрытыми. В исходных записях не уточняется, были ли бреши в безопасности выявлены в ходе внутреннего аудита кода, сообщены внешним исследователем в рамках скоординированного раскрытия уязвимостей или обнаружены в результате автоматического статического анализа. Кроме того, в сводках не указано, получили ли уязвимости официальные базовые оценки степени серьезности по шкале Common Vulnerability Scoring System (CVSS), определяющие стандартизированные метрики воздействия, включая вектор атаки, сложность и требуемые привилегии.
В уведомлениях также не приводится информация о том, распространялись ли публично какие-либо скрипты концептуального подтверждения атак (proof-of-concept) и опубликовал ли мейнтейнер официальные версии с исправлениями и соответствующими хешами коммитов помимо общей рекомендации обновиться выше указанных уязвимых версий. Пока не подтверждено, фиксировалась ли активная эксплуатация систем, использующих данный пакет, и встроен ли этот программный продукт в качестве зависимости в более широкие коммерческие инструменты для разработчиков.
## What to watch
Организациям и отдельным разработчикам, внедряющим инструменты Code Graph RAG, следует следить за апстрим-каналами распространения пакетов, такими как Python Package Index (PyPI) или исходный репозиторий проекта, на предмет появления обновленных тегов релизов, официально заменяющих версию 0.0.588. Аналитики по безопасности будут ожидать от National Vulnerability Database (NVD), поддерживаемой U.S. National Institute of Standards and Technology, присвоения официальных векторных строк CVSS и стандартизированных уровней критичности.
Кроме того, наблюдателям стоит отслеживать технические дискуссии вокруг реализации безопасности Model Context Protocol, в частности того, как инструменты реестров обрабатывают нормализацию путей при выполнении процедур чтения файлов от имени языковых моделей. По мере распространения ИИ-инструментов с открытым исходным кодом в корпоративных инженерных средах внедрение обязательных механизмов изолированной среды (sandboxing) и автоматизированного тестирования на атаки обхода каталогов в инструментах на базе ИИ станет ключевым показателем зрелости цепочки поставок программного обеспечения.
Материал подготовлен на основе данных о раскрытии уязвимостей, опубликованных VulDB.
Источник: vuldb.com



