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.

Процедура

  1. AML.TA0003 Подготовка ресурсов

    AML.T0017 Разработка средств для атаки

    Исследователи провели статический анализ API целевых LLM-фреймворков, чтобы выявить функции, которые выполняют код из пользовательского ввода или ответа LLM и поэтому уязвимы к RCE.
  2. AML.TA0002 Разведка

    AML.T0004 Поиск в репозиториях приложений

    Исследователи искали цели среди приложений, которые, вероятно, построены на LLM-фреймворках и могут использовать функции, уязвимые к RCE. Для этого они сканировали репозитории исходного кода в поисках URL развернутых приложений.
  3. AML.TA0008 Выявление

    AML.T0084.003 Цепочки вызовов

    Исследователи использовали статический анализ, чтобы извлечь цепочки вызовов из исходного кода целевых приложений и определить, какие из них используют функции LLM-фреймворков, уязвимые к RCE.
  4. AML.TA0003 Подготовка ресурсов

    AML.T0065 Создание промптов для LLM

    Исследователи разработали промпты, которые вызывают инструменты и приводят к RCE.
  5. AML.TA0004 Первичный доступ

    AML.T0049 Эксплуатация приложения, доступного из интернета

    Исследователи нацеливались на публично доступные приложения, где ИИ-агент принимает пользовательский ввод, чтобы через него выполнить свои промпты.
  6. AML.TA0005 Выполнение

    AML.T0051.000 Прямая промпт-инъекция

    Исследователи напрямую отправляли ИИ-агенту вредоносные инструкции.
  7. AML.TA0007 Уклонение от защиты

    AML.T0054 Джейлбрейк LLM

    В целевых приложениях, где ИИ-агент отказывался выполнять запрос исследователей, они использовали простые техники джейлбрейка, чтобы обойти защитные ограничения LLM.
  8. AML.TA0012 Повышение привилегий

    AML.T0053 Вызов инструментов ИИ-агента

    Промпты исследователей вызывали инструменты ИИ-агента и были нацелены на цепочки вызовов, которые могут привести к выполнению кода.
  9. AML.TA0005 Выполнение

    AML.T0050 Интерпретатор команд и сценариев

    Код из промптов исследователей выполнялся в изолированном Python-интерпретаторе.
  10. AML.TA0012 Повышение привилегий

    AML.T0105 Выход на хост

    Исследователи включили техники выхода из изоляции, предназначенные для обхода ограничений, которые песочница может накладывать на выполнение кода.
  11. AML.TA0014 Командование и управление

    AML.T0072 Реверс-шелл

    Python-код открывал reverse shell, который использовался как канал командования и управления.
  12. AML.TA0011 Воздействие

    AML.T0112.000 Локальный ИИ-агент

    Исследователи получили полный контроль над системой, на которой выполнялось приложение с интеграцией LLM.

Источники

  1. Demystifying RCE Vulnerabilities in LLM-Integrated Apps
  2. LLMSmith Website