К обсуждениям

Angular Service Worker: контроль credentials и cache policy запроса

Редакция VOne Технологии

Защитная инструкция по 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-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.