> **Запускайте только на серверах, которыми вы владеете или на тестирование которых у вас есть разрешение.**
> **Область действия:** успешный результат означает только то, что эта узкая проверка обнаружила запрос аутентификации и версию Langflow на уровне или выше исправленного порога для CVE-2025-3248. Это **не** является общим заключением о безопасности, репутации, конфигурации или компрометации.
Небольшая защитная самопроверка для уязвимости Langflow, связанной с CVE-2025-3248. Передайте EXPOSECHECK один базовый URL — ваш собственный сервер или localhost — и он сообщит:
* требует ли `/api/v1/validate/code` аутентификации для неавторизованного запроса;
* является ли обнаруженная версия Langflow старше исправленного порога `1.3.0`; и
* выглядит ли введенный хост как локальный/частный или публично доступный.
Это не эксплойт и не массовый сканер. Он принимает одну цель, не отправляет исполняемый код и не проводит поиск по всему интернету. Зонд конечной точки проверки отправляет только пустой объект JSON (`{}`).
Исследование угроз Sysdig задокументировало JADEPUFFER, который, по мнению исследователей, является первой атакой программы-вымогателя, выполненной от начала до конца агентом ИИ. Первоначальный доступ был связан с известной, исправленной уязвимостью Langflow CVE-2025-3248: старые открытые экземпляры позволяли неаутентифицированный доступ к конечной точке проверки кода.
Langflow — это легитимный фреймворк с открытым исходным кодом для приложений ИИ. Риск представляет открытое, неисправленное развертывание, а не сам Langflow. Langflow `1.3.0+` содержит соответствующее исправление и требует аутентификации на конечной точке.
Требуется Node.js 18+; пакеты устанавливать не нужно.
Также можно вывести результат в машиночитаемом формате:
node check.js --json
Коды выхода полезны в локальных скриптах:
* `2` — `NEEDS ATTENTION`, неверный ввод или неубедительная проверка
`PATCHED FOR CVE-2025-3248` требует как запроса аутентификации `401/403`, так и обнаруженной версии `1.3.0` или новее. Это не означает, что сервер в целом безопасен. Конечная точка, которая достигает проверки запроса без запроса аутентификации, помечается как `EXPOSED`. Отсутствующие, перенаправленные, заблокированные или неоднозначные ответы намеренно сообщаются как `NEEDS ATTENTION`, а не угадываются как безопасные.
Откройте `index.html` напрямую или запустите локальный сервер из каталога:
Затем перейдите по адресу `
Браузеры применяют правила CORS и смешанного контента. Кросс-доменный сервер может быть исправен, но все равно блокировать чтение ответа страницей. Это приводит к неубедительному результату; используйте CLI для надежной проверки.
Запустите встроенный набор регрессионных тестов с Node.js 18+:
Набор тестов фиксирует общедоступную лексику результатов, чтобы исправленное состояние в рамках CVE не могло незаметно деградировать до общего утверждения `безопасно` или `всё в порядке`.
Демонстрации детерминированы и не связываются с внешним сервером.
Браузер: используйте **Демо: открыто** и **Демо: исправлено** над панелью вердикта. По умолчанию страница загружает демонстрацию открытого состояния, что позволяет надежно записывать экран, не нацеливая инструмент на живую цель.
Сетевая подсказка проверяет только введенный URL. Она не разрешает DNS и не доказывает, что хост доступен из интернета.
Зеленое оформление применяется только к отображаемому предикату. В частности, `PATCHED FOR CVE-2025-3248` не означает `БЕЗОПАСНО`.
**Обновите Langflow до 1.3.0+, поместите его за аутентификацию и уберите из публичного интернета.**
Многоуровневая защита по-прежнему важна: ограничьте входящий трафик, не размещайте инструменты разработки непосредственно в публичном интернете, смените учетные данные, если заподозрите воздействие, и проверьте журналы сервера. Если этот инструмент сообщает о старой версии за аутентификацией, он возвращает `NEEDS ATTENTION`, поскольку программное обеспечение все равно должно быть исправлено.
* одна предоставленная пользователем базовая URL-адрес за раз;
* нет списков целей, интеграции с поисковыми системами или обнаружения;
* нет полезной нагрузки эксплойта и не отправляется исполняемый код;
* короткий тайм-аут запроса и небольшой лимит чтения ответа в CLI.
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
