Защитная инструкция по Angular Service Worker и ghsa-95qp-cmmw-mgqv: применимость, безопасный тест «сохранение request credentials и cache policy при обработке service worker», измеримый исход, stop-rule и обезличенный пакет поддержки.
Карта применимости для Angular Service Worker
Проверяемая граница — сохранение request credentials и cache policy при обработке service worker. Сначала запишите версию исполняемого компонента, digest сборки, способ установки и включённую функцию. Источник задаёт диапазон «npm:@angular/service-worker >= 22.0.0-next.0, < 22.0.0-rc.2 → fixed 22.0.0-rc.2; npm:@angular/service-worker >= 21.0.0-next.0, < 21.2.15 → fixed 21.2.15; npm:@angular/service-worker >= 20.0.0-next.0, < 20.3.22 → fixed 20.3.22; npm:@angular/service-worker >= 19.0.0-next.0, < 19.2.23 → fixed 19.2.23; npm:@angular/service-worker <= 18.2.14 → fixed patched version не указана», но lockfile без runtime provenance не определяет состояние сервиса. Отдельно ответьте, достижим ли путь в текущей конфигурации и кем. Если хотя бы одно звено не доказано, статус остаётся unknown. Severity advisory не переносится автоматически на конкретное развёртывание и не подтверждает эксплуатацию.
Факты и границы ghsa-95qp-cmmw-mgqv
Reviewed record опубликован 2026-06-15, обновлён 2026-07-15 и описывает отдельную проблему: service worker может пересоздать Request без исходных credentials или cache mode и изменить доступ к ресурсу. Указанные package ranges: «npm:@angular/service-worker >= 22.0.0-next.0, < 22.0.0-rc.2 → fixed 22.0.0-rc.2; npm:@angular/service-worker >= 21.0.0-next.0, < 21.2.15 → fixed 21.2.15; npm:@angular/service-worker >= 20.0.0-next.0, < 20.3.22 → fixed 20.3.22; npm:@angular/service-worker >= 19.0.0-next.0, < 19.2.23 → fixed 19.2.23; npm:@angular/service-worker <= 18.2.14 → fixed patched version не указана». Прямая upstream-страница подтверждает проект происхождения, а не установленную у вас версию. Дата, механизм и исправленная граница берутся из advisory; форум, новостной заголовок и поисковый сниппет служат только лидами. Из этих источников нельзя выводить популярность запроса, факт атаки, ущерб, индексирование или позицию.
Диагностическая модель: сохранение request credentials и cache policy при обработке service worker
Cookie имеет только значение marker и действует на test origin. Cache mode проверяют по последовательности двух разных response counters, а не по browser UI. Service worker активируют после clean install и удаляют между версиями. Credentials и cache — независимые поля, поэтому их результаты не объединяют в один boolean.
Один обратимый опыт
В одноразовой среде нужно в локальном Angular fixture выполнить два fetch к test endpoint с явными credentials и cache modes, записывая наблюдаемое server cookie-present и client response source. До запуска задайте предел времени, CPU, памяти, файлов и число запросов; снимите baseline и команду cleanup. Ожидаемое защитное наблюдение: политики совпадают с исходным Request, authenticated control получает marker, omit-ветвь его не получает. Используются только marker-объекты, test identities и loopback либо закрытая namespace. Запрещены production tokens, журналы, документы, реальные адреса и сторонние endpoints. Опыт не расширяют после первого граничного результата и обязательно повторяют normal control.
Как принять решение по измерению
Основной артефакт — request mode / credentials / cache / server cookie-present / response-source / SW version. Passed требует ожидаемого отказа или ограничения на граничной ветви, успешного normal control и возврата ресурсов к baseline. Failed фиксируют только после воспроизводимого расхождения с тем же fixture. Not-applicable требует доказанной версии вне range или недостижимой функции; отсутствие наблюдения не подходит. Unknown сохраняют при неясной сборке, нестабильном стенде или неполном trace. Такая матрица отделяет проверяемый механизм от обычной несовместимости и не превращает предположение в факт.
Обновление, stop-rule и безопасная передача
Жёсткое правило остановки: не использовать реальные cookies и завершить при первом расхождении policy. Если версия попадает в advisory range, обновление берут из доверенного канала проекта и повторяют тот же fixture с прежними лимитами; другой сценарий не доказывает исправление. Затем выполняют normal control и проверяют rollback criterion. Для поддержки достаточно runtime version, digest, конфигурационной ветви, expected/observed, resource limits, статуса и хэшей synthetic fixtures. Удалите cookies, credentials, IP, внутренние имена, абсолютные пути и содержимое данных. Материал не является эксплуатационной инструкцией и не обещает нулевой риск.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-95qp-cmmw-mgqv проверено 2026-08-31
- Upstream-репозиторий Angular Service Worker проверено 2026-08-31
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.