LlamaIndex выпустил версию 0.14.25 - и апдейт задел не библиотеку целиком, а больше сорока отдельных пакетов: агентные модули под Azure и AgentMesh, коннекторы к Argilla, Arize Phoenix, Honeyhive, Langfuse, LiteralAI и ещё десяток пакетов помельче.
Фреймворк как россыпь пакетов
Формулировка фикса в каждом одинаковая - «resolve a ton of security alerts».
Повод скромный, техническая новость без драмы.
Но за ней стоит вопрос, который компания, строящая RAG-контур на LlamaIndex, обычно себе не задаёт: сколько отдельных пакетов реально нужно пропатчить, чтобы закрыть одну проблему безопасности. LlamaIndex давно перестал быть одной библиотекой.
Каждый коннектор к внешнему сервису оформлен отдельным pypi-пакетом со своей версией и своим набором зависимостей: `llama-index-callbacks-langfuse` тянет клиент Langfuse, `llama-index-agent-azure` - Azure SDK, `llama-index-callbacks-arize-phoenix` - Phoenix. У каждого пакета свой список транзитивных зависимостей, а значит свой набор уязвимостей, которые сканеры вроде Dependabot или pip-audit находят независимо друг от друга.
Когда в базовой зависимости - обычно это что-то вроде `requests`, `urllib3` или `fastapi` - находят CVE, алерт прилетает сразу в десятки пакетов, по числу модулей, закрепивших эту зависимость в своём `pyproject.toml`.
Отсюда формулировка «resolve a ton of security alerts»
, повторённая в changelog сорок с лишним раз: разработчики LlamaIndex закрывали одну и ту же дыру, размноженную архитектурой на десятки версий.


