Защитная инструкция по @anephenix/hub и ghsa-g5vv-q72c-7j78: установить применимость, проверить очистку RPC waiters после закрытия WebSocket на одноразовом стенде, измерить безопасный исход и подготовить обратимый выпуск без production-данных.
Карта применимости для @anephenix/hub
Advisory описывает отдельную проблему: неответивший client может оставить polling timer и pending request после disconnect. Проверяемая граница проходит между socket lifecycle, requestClientId, waitForReply timer и RPC request registry. Диапазоны Reviewed record: npm:@anephenix/hub < 0.2.16 → 0.2.16. Provenance включает источник артефакта, checksum и фактическую команду запуска. Снимите версия hub, connection count, pending request/timer counts, close events, heap delta, timeout policy и health latency. Для каждого элемента укажите observed, expected, unknown или not-applicable, время и происхождение. Severity high не подтверждает атаку, ущерб либо состояние конкретного deployment. Если происхождение бинарника неизвестно, не делайте вывод по одному package manager.
Обратимый тест без эксплуатационного payload
Безопасный опыт: к локальному server последовательно подключить три synthetic clients, не отвечать на initial identity request и сразу закрыть их; массовые connections не создавать. Проверка ограничена формой решения, счётчиками и хешами fixtures. Измеримый безопасный исход: после каждого close pending/timer counters возвращаются к baseline, heap стабилен, контрольный client отвечает. Не увеличивайте объём, глубину, число соединений или права после первого отклонения. Сохраняйте только decision code, counters, timings и hashes; реальные имена, адреса, credentials и пользовательские данные исключите. Красная линия: счётчики растут, нужен нагрузочный цикл или стенд разделяет process с production. При её достижении завершите стенд и оставьте результат blocked/unknown вместо попытки воспроизвести атаку.
Окно обновления и контроль регрессии
Зафиксируйте исходный dependency tree и артефакт, установите подтверждённую исправленную ветку из диапазона «npm:@anephenix/hub < 0.2.16 → 0.2.16» в staging и повторите тот же baseline/boundary/baseline набор. Не меняйте одновременно reverse proxy, role model, parser settings или OS: иначе нельзя связать результат с обновлением. Сравните latency, memory, accepted/rejected decisions и обычный функциональный сценарий. Временный containment снимают только после безопасного результата и готового возврата. Возврат для этой карточки: закрыть server и clients, очистить test registry, удалить heap summary.
Критерий закрытия и минимальный пакет
Карточка закрывается, когда версия и provenance подтверждены, граничный вход даёт ожидаемый отказ или безопасную обработку, обычный контроль проходит, cleanup завершён, а журнал не содержит новых warning/error. Минимальный пакет для поддержки: version, three lifecycle timelines, counters, heap delta, timeout config, control result и cleanup. В нём не должно быть IP, tokens, passwords, cookies, private keys, полного config, реальных файлов или payload. Отдельной строкой укажите: GitHub Reviewed Advisory подтверждает механизм и диапазон, но не эксплуатацию в этой среде, популярность запроса, индексацию или позиции.
Матрица решений на защитной границе
Разложите сценарий на вход, policy/parser, защищаемый объект и наблюдаемый исход. Для @anephenix/hub это «между socket lifecycle, requestClientId, waitForReply timer и RPC request registry». Ветвь close допустима, когда runtime вне указанных диапазонов или функция недостижима и это подтверждено. Ветвь update выбирают при совпавшей версии и доступном фиксированном артефакте. Ветвь contain оставляет узкое ограничение доступа до окна обновления. Ветвь escalate нужна при unknown provenance. Отсутствие события в log не приравнивают к безопасному отказу без контроля. Не объединяйте этот механизм с соседними advisory только из-за общего слова security.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-g5vv-q72c-7j78 проверено 2026-08-30
- Upstream-страница @anephenix/hub проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.