Защитная инструкция по JupyterLab и ghsa-pppj-hq3g-57pj: установить применимость, проверить валидацию overrides.json перед применением на одноразовом стенде, измерить безопасный исход и подготовить обратимый выпуск без production-данных.
Карта применимости для JupyterLab
Advisory описывает отдельную проблему: crafted settings file может превратить display preference в исполняемое поведение. Проверяемая граница проходит между settings import, JSON schema validation и notebook display renderer. Диапазоны Reviewed record: pip:jupyterlab >= 4.6.0, <= 4.6.1 → 4.6.2; pip:jupyterlab >= 3.3.0, <= 4.5.9 → 4.5.10. Provenance включает источник артефакта, checksum и фактическую команду запуска. Снимите версия JupyterLab, settings plugin/key, schema result, renderer path, command/network/kernel counts и file permissions. Для каждого элемента укажите observed, expected, unknown или not-applicable, время и происхождение. Severity high не подтверждает атаку, ущерб либо состояние конкретного deployment. Если происхождение бинарника неизвестно, не делайте вывод по одному package manager.
Критерий закрытия и минимальный пакет
Карточка закрывается, когда версия и provenance подтверждены, граничный вход даёт ожидаемый отказ или безопасную обработку, обычный контроль проходит, cleanup завершён, а журнал не содержит новых warning/error. Минимальный пакет для поддержки: version, plugin/key classes, schema errors, applied fields, renderer decision, activity counters и cleanup. В нём не должно быть IP, tokens, passwords, cookies, private keys, полного config, реальных файлов или payload. Отдельной строкой укажите: GitHub Reviewed Advisory подтверждает механизм и диапазон, но не эксплуатацию в этой среде, популярность запроса, индексацию или позиции.
Матрица решений на защитной границе
Разложите сценарий на вход, policy/parser, защищаемый объект и наблюдаемый исход. Для JupyterLab это «между settings import, JSON schema validation и notebook display renderer». Ветвь close допустима, когда runtime вне указанных диапазонов или функция недостижима и это подтверждено. Ветвь update выбирают при совпавшей версии и доступном фиксированном артефакте. Ветвь contain оставляет узкое ограничение доступа до окна обновления. Ветвь escalate нужна при unknown provenance. Отсутствие события в log не приравнивают к безопасному отказу без контроля. Не объединяйте этот механизм с соседними advisory только из-за общего слова security.
Обратимый тест без эксплуатационного payload
Безопасный опыт: в одноразовом profile импортировать settings fixture с неизвестным ключом и инертной markup-строкой без script/events; kernel не запускать. Проверка ограничена формой решения, счётчиками и хешами fixtures. Измеримый безопасный исход: unknown/invalid values отклоняются до renderer, допустимая display preference применяется, command/network/kernel counts равны нулю. Не увеличивайте объём, глубину, число соединений или права после первого отклонения. Сохраняйте только decision code, counters, timings и hashes; реальные имена, адреса, credentials и пользовательские данные исключите. Красная линия: нужен активный code, shared user directory или доступ к notebook files. При её достижении завершите стенд и оставьте результат blocked/unknown вместо попытки воспроизвести атаку.
Окно обновления и контроль регрессии
Зафиксируйте исходный dependency tree и артефакт, установите подтверждённую исправленную ветку из диапазона «pip:jupyterlab >= 4.6.0, <= 4.6.1 → 4.6.2; pip:jupyterlab >= 3.3.0, <= 4.5.9 → 4.5.10» в staging и повторите тот же baseline/boundary/baseline набор. Не меняйте одновременно reverse proxy, role model, parser settings или OS: иначе нельзя связать результат с обновлением. Сравните latency, memory, accepted/rejected decisions и обычный функциональный сценарий. Временный containment снимают только после безопасного результата и готового возврата. Возврат для этой карточки: удалить profile и overrides, остановить server, проверить пустой workspace.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-pppj-hq3g-57pj проверено 2026-08-30
- Upstream-страница JupyterLab проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.