Практическая проверка PraisonAI по GHSA-6g6r-q6gw-w8fg: диапазон версий, безопасный локальный fixture, критерии PASS/FAIL/Unknown, stop-rule и пакет данных для поддержки без production-секретов.
Что именно проверить в PraisonAI
У PraisonAI проверяется не абстрактная «безопасность», а узкое правило из GHSA-6g6r-q6gw-w8fg. Команда сталкивается с тем, что строка с разрешённым доменом внутри может пройти проверку, хотя фактический origin другой. Опорная последовательность: определить версию, доказать достижимость, выполнить обратимый отрицательный сценарий и сравнить его с положительным. Короткий ответ: для PraisonAI сначала подтвердите фактическую зависимость и границу «pip/PraisonAI < 4.6.58; первая исправленная версия — 4.6.58». Затем выполните только обратимую проверку на синтетических данных: подтвердить 4.6.58 и сравнить точный origin с безвредными префиксными и суффиксными вариантами на стенде. Результат считается доказанным лишь при рабочем positive control, явном PASS/FAIL/Unknown и отсутствии побочных изменений. Такой порядок защищает от ложного PASS после поверхностного обновления.
Попадает ли сборка PraisonAI в затронутую границу
До fixture нужен ответ на четыре вопроса: присутствует ли PraisonAI, входит ли версия в «< 4.6.58», доступна ли описанная ветка и есть ли подтверждённый backport. Первая исправленная upstream-версия — 4.6.58. Зафиксируйте ответы рядом, не сворачивая их в одно `safe/unsafe`. Если пакет отсутствует, результат `not applicable`; если версия или сборка неизвестна — `Unknown`; если путь отключён — `not reachable` с доказательством конфигурации. Только сочетание версии и достижимости переводит кандидата к тесту.
Как провести обратимый тест для GHSA-6g6r-q6gw-w8fg
Безопасный тест должен быть коротким и воспроизводимым: подтвердить 4.6.58 и сравнить точный origin с безвредными префиксными и суффиксными вариантами на стенде. Его результат оформляется как таблица точное совпадение–префикс–суффикс–схема с ожидаемым отклонением. Создайте два пустых тестовых контекста и минимальную роль. Один объект должен принадлежать разрешённой области, второй — соседней запрещённой; имена и идентификаторы только синтетические. Сначала подтвердите positive control внутри разрешённой области, затем выполните единственный отрицательный запрос. Не изменяйте несколько переменных одновременно: сначала старая или неопределённая сборка в изолированном контексте, затем исправленная с тем же fixture. Если baseline недоступен, достаточно проверить контракт исправленной версии с двумя controls; отсутствие старого воспроизведения не является FAIL.
Какие наблюдения означают PASS, FAIL или Unknown
Не смешивайте факт обновления и факт исправления. Первый подтверждает dependency inventory, второй — fixture с контролями. Запишите роль, область владельца, тип операции, HTTP/handler-результат и неизменность обоих тестовых объектов. Сообщение интерфейса само по себе недостаточно: сверяйте итоговое состояние через разрешённый read-back или журнал аудита без значений секретов. PASS: разрешённая операция работает, а пересечение границы отклоняется до изменения состояния. FAIL: минимальная роль получает данные или создаёт связь вне своей области. UNKNOWN: контроль не сработал, provenance сборки неизвестен или read-back недоступен. Если тест расходится с advisory, сначала проверьте fork, feature flags и выбранную ветку обработки. Не повышайте FAIL до заявления об эксплуатации: он означает лишь нарушение локального тестового invariant. Итоговый пакет должен позволять владельцу повторить проверку на той же сборке.
Что делать после проверки PraisonAI
Для владельца системы полезен короткий план: зафиксировать текущую сборку, выбрать поддерживаемый релиз не ниже 4.6.58, проверить совместимость на копии, повторить fixture и только затем продвигать. Не используйте реальные аккаунты, арендаторов, активы, токены или производственные журналы; при необходимости чужих данных передайте проверку владельцу системы. Если обновление временно невозможно, запишите точную компенсацию, owner и expiry, а не оставляйте неопределённое «наблюдаем». Успешная проверка не гарантирует отсутствие других дефектов и не означает, что страница будет проиндексирована или процитирована поисковой системой.
Какой пакет доказательств сохранить для GHSA-6g6r-q6gw-w8fg
Evidence-карта этой проверки начинается не с общего списка полей, а с отдельной боли: строка с разрешённым доменом внутри может пройти проверку, хотя фактический origin другой. Проверяемая гипотеза формулируется как «подтвердить 4.6.58 и сравнить точный origin с безвредными префиксными и суффиксными вариантами на стенде». Её практический результат — таблица точное совпадение–префикс–суффикс–схема с ожидаемым отклонением. Причина не объединять страницу с соседним advisory: Отдельная версия и механизм GHSA-6g6r-q6gw-w8fg: PraisonAI has a Browser Server WebSocket origin validation bypass via unanchored regex (patch bypass of CVE-2026-40289 / GHSA-8x8f-54wf-vv92). Ответ строится вокруг конкретной границы пакета PraisonAI и не заменяется общим советом по обновлению. В карточке GHSA-6g6r-q6gw-w8fg сохраните точное имя pip/PraisonAI, resolved version, digest или commit, состояние функции, границу «< 4.6.58 → 4.6.58», дату fixture, hash синтетического ввода и отдельные результаты positive и negative control. Поля наблюдения зависят от механизма категории `boundary`: для границы доступа важны владелец и неизменность объекта; для парсера — нормализованный результат и отсутствие выполнения; для resource-case — время, память и доступность следующего запроса. Содержание входа, токены, адреса, полные логи и пользовательские данные не прикладывайте. Итоговая строка должна позволить другому специалисту повторить решение именно для PraisonAI, не получая доступ к production. Если upstream summary, локальная сборка и результат fixture расходятся, запишите расхождение дословно как Unknown и передайте его maintainer; не заменяйте отсутствующее доказательство предположением о том, что обновление «скорее всего» достаточно.
Материал подготовлен редакцией VOne с помощью ИИ; версионные границы, прямые источники, безопасный fixture, критерии решения, privacy-ограничения и отсутствие рекламных обещаний перепроверены человеком.
Источники и проверка
- GitHub Reviewed Advisory GHSA-6g6r-q6gw-w8fg проверено 2026-08-31
- Upstream security source for PraisonAI проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.