LLMSmith: уязвимости RCE в приложениях с интеграцией LLM
Оригинал: LLMSmith: RCE Vulnerabilities in LLM-Integrated Applications
Исследователи выявили 20 уязвимостей удаленного выполнения кода (RCE) в 11 различных LLM-фреймворках. Они обнаружили приложения, развернутые в публичном интернете и построенные на этих LLM-фреймворках, а также продемонстрировали, что уязвимости RCE можно эксплуатировать с помощью промпт-инъекции.
Исследователи оценивали 11 LLM-фреймворков: LangChain, LlamaIndex, Pandas-ai, Langflow, Pandas-llm, Auto-GPT, Griptape, Lagent, MetaGPT, vanna и langroid.
Процедура
- AML.TA0003 Подготовка ресурсов
AML.T0017 Разработка средств для атаки
Исследователи провели статический анализ API целевых LLM-фреймворков, чтобы выявить функции, которые выполняют код из пользовательского ввода или ответа LLM и поэтому уязвимы к RCE. - AML.TA0002 Разведка
AML.T0004 Поиск в репозиториях приложений
Исследователи искали цели среди приложений, которые, вероятно, построены на LLM-фреймворках и могут использовать функции, уязвимые к RCE. Для этого они сканировали репозитории исходного кода в поисках URL развернутых приложений. - AML.TA0008 Выявление
AML.T0084.003 Цепочки вызовов
Исследователи использовали статический анализ, чтобы извлечь цепочки вызовов из исходного кода целевых приложений и определить, какие из них используют функции LLM-фреймворков, уязвимые к RCE. - AML.TA0003 Подготовка ресурсов
AML.T0065 Создание промптов для LLM
Исследователи разработали промпты, которые вызывают инструменты и приводят к RCE. - AML.TA0004 Первичный доступ
AML.T0049 Эксплуатация приложения, доступного из интернета
Исследователи нацеливались на публично доступные приложения, где ИИ-агент принимает пользовательский ввод, чтобы через него выполнить свои промпты. - AML.TA0005 Выполнение
AML.T0051.000 Прямая промпт-инъекция
Исследователи напрямую отправляли ИИ-агенту вредоносные инструкции. - AML.TA0007 Уклонение от защиты
AML.T0054 Джейлбрейк LLM
В целевых приложениях, где ИИ-агент отказывался выполнять запрос исследователей, они использовали простые техники джейлбрейка, чтобы обойти защитные ограничения LLM. - AML.TA0012 Повышение привилегий
AML.T0053 Вызов инструментов ИИ-агента
Промпты исследователей вызывали инструменты ИИ-агента и были нацелены на цепочки вызовов, которые могут привести к выполнению кода. - AML.TA0005 Выполнение
AML.T0050 Интерпретатор команд и сценариев
Код из промптов исследователей выполнялся в изолированном Python-интерпретаторе. - AML.TA0012 Повышение привилегий
AML.T0105 Выход на хост
Исследователи включили техники выхода из изоляции, предназначенные для обхода ограничений, которые песочница может накладывать на выполнение кода. - AML.TA0014 Командование и управление
AML.T0072 Реверс-шелл
Python-код открывал reverse shell, который использовался как канал командования и управления. - AML.TA0011 Воздействие
AML.T0112.000 Локальный ИИ-агент
Исследователи получили полный контроль над системой, на которой выполнялось приложение с интеграцией LLM.