ИИ стал предателем: LangChain взламывают через ответы самой модели — она сама крадёт ваши секреты

Нейросеть послушно выполняет и сливает всё: токены, ключи, переменные окружения.


yw5dy7y0xfs5jajw7jnlfqsuefenhnji.jpg

В экосистеме LangChain обнаружили критическую уязвимость , которая позволяет атакующему красть секретные данные и даже влиять на ответы больших языковых моделей через промпт-инъекции. Проблема затрагивает пакет LangChain Core (langchain-core) — базовую Python-библиотеку, на которой строятся приложения с LLM и которая отвечает за общие интерфейсы и механизм сериализации объектов.

Уязвимость получила идентификатор CVE-2025-68664 и оценку 9,3 балла по CVSS. О проблеме 4 декабря 2025 года сообщил исследователь Ярден Порат, а внутри проекта она получила неофициальное название LangGrinch.

Суть уязвимости связана с ошибкой сериализации . Функции dumps() и dumpd() в LangChain некорректно обрабатывают словари, содержащие ключ lc. Этот ключ LangChain использует внутри себя для пометки собственных сериализованных объектов. Если такие структуры попадают в данные, контролируемые пользователем, библиотека при последующей десериализации воспринимает их не как обычный ввод, а как легитимные внутренние объекты LangChain.

По словам Пората, это открывает широкое поле для атак. Если злоумышленник добьётся того, чтобы в процессе работы LangChain данные с ключом lc были сначала сериализованы, а затем десериализованы, в системе может быть создан произвольный небезопасный объект. В зависимости от настроек это может привести к утечке секретов из переменных окружения (при включённой опции secrets_from_env), созданию экземпляров классов из доверенных пространств имён вроде langchain_core, langchain или langchain_community, а в отдельных сценариях — даже к выполнению произвольного кода через шаблоны Jinja2.