Проблема безопасности в LangGraph
LangGraph — это популярная библиотека для создания многоагентных систем на базе LLM. Однако новое исследование, опубликованное в Towards AI, выявило критическую уязвимость: агенты LangGraph способны сохранять конфиденциальные данные (например, номера социального страхования — SSN), даже если им явно запрещено их хранить или если они были «удалены» из контекста.
Это не просто теоретическая проблема. В реальных сценариях, где агенты обрабатывают личные данные пользователей, такая «память» может привести к утечкам информации и нарушению регуляторных требований (GDPR, HIPAA и др.).
Почему редактирование не работает?
Авторы исследования провели серию экспериментов, используя модели Llama 3 и Mistral. Они вводили в контекст агента данные с SSN, а затем применяли стандартные техники редактирования (например, замену на «[REDACTED]» или удаление токенов). Оказалось, что модель продолжает использовать эти данные в последующих шагах рассуждения.
Причина кроется в архитектуре LangGraph. Агент хранит состояние (state) в виде графа, где информация может сохраняться в скрытых переменных или промежуточных результатах, которые не очищаются при явном удалении из входного промпта. Модель «запоминает» паттерны данных на уровне весов и контекстного окна, игнорируя поверхностные инструкции по фильтрации.
Результаты тестирования
Исследователи сравнили эффективность различных методов защиты данных. Ниже приведены ключевые метрики успешности «утечки» информации (то есть случаев, когда агент использовал удаленные SSN в ответе):
| Метод защиты | Модель | Уровень утечки данных (%) | Комментарий |
|---|---|---|---|
| Прямое удаление токенов | Llama 3 8B | 87% | Модель восстанавливает данные из контекста |
| Замена на [REDACTED] | Llama 3 8B | 76% | Агент игнорирует маркер и использует исходные данные |
| Фильтрация на уровне входных данных | Mistral 7B | 45% | Более эффективно, но не гарантирует 100% защиту |
| Специализированный пайплайн очистки | Llama 3 8B | 12% | Только глубокая интеграция с системой безопасности снижает риск |
Что это значит для разработчиков?
Простое «удаление» данных из промпта или использование стандартных библиотек для маскировки PII (Personally Identifiable Information) недостаточно. Архитектура графовых агентов требует:
- Глубокой очистки состояния: Необходимо явно очищать все узлы графа, а не только входные данные.
- Изоляции контекста: Разделение сессий для обработки чувствительных данных.
- Мониторинга: Внедрение систем аудита, которые проверяют выходные данные агентов на наличие скрытых утечек.
Исследование подчеркивает, что безопасность AI-агентов должна быть заложена в архитектуру с самого начала, а не добавляться как «заплатка» на этапе постобработки.
Источник: Towards AI pub ↗
