Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1237

Целостность подресурсов (SRI)

ПроверилCybersecurity entrepreneur & security researcher

Что такое Целостность подресурсов (SRI)?

Целостность подресурсов (SRI)Механизм браузера, проверяющий криптографический хеш загруженного со стороннего источника скрипта или таблицы стилей до его выполнения и блокирующий изменённые файлы.


Subresource Integrity, стандартизированная как рекомендация W3C в 2016 году, настраивается атрибутом integrity на тегах script или link, содержащим один или несколько base64-кодированных дайджестов SHA-256/384/512 ожидаемого файла. Браузер загружает ресурс, пересчитывает дайджест и отказывается выполнять или применять его, если ни один из перечисленных хешей не совпадает; несколько разделённых пробелами хешей позволяют странице принимать несколько известных корректных версий. Поскольку для SRI нужно заранее знать точные байты файла, он защищает статические ресурсы с фиксированной версией, а не динамически генерируемые.

SRI — основная клиентская защита от компрометации CDN и угона сторонних скриптов, таких как семейство Magecart. Атака на Polyfill.io показывает, почему это важно: после того как в феврале 2024 года новый владелец приобрёл домен cdn.polyfill.io, CDN начала отдавать полезную нагрузку, перенаправлявшую мобильных пользователей на мошеннические сайты — это обнаружила Sansec 25 июня 2024 года, и пострадало более 100 000 сайтов (отслеживается как CVE-2024-38526). Любая страница, зафиксировавшая хеш integrity, полностью заблокировала бы изменённый файл, потому что дайджест больше не совпадал.

SRI работает совместно с CSP и атрибутом crossorigin и должен сочетаться с фиксацией версий и автоматической перегенерацией хешей в конвейере сборки, чтобы код и дайджест никогда не расходились.

flowchart TD
  A["Браузер разбирает тег<br/>с атрибутом integrity"] --> B[Загрузка ресурса с CDN]
  B --> C[Вычисление дайджеста SHA-256/384/512]
  C --> D{Дайджест совпадает с одним<br/>из перечисленных хешей?}
  D -->|Да| E[Выполнить / применить ресурс]
  D -->|Нет — подменён или изменён| F[Заблокировать и выдать ошибку]

Примеры

  1. 01

    '<script src="https://cdn.example.com/lib.js" integrity="sha384-..." crossorigin="anonymous"></script>'.

  2. 02

    Директива CSP 'require-sri-for script style' (где поддерживается) для обязательного SRI на всех подресурсах.

Частые вопросы

Что такое Целостность подресурсов (SRI)?

Механизм браузера, проверяющий криптографический хеш загруженного со стороннего источника скрипта или таблицы стилей до его выполнения и блокирующий изменённые файлы. Относится к категории Безопасность приложений в кибербезопасности.

Что означает Целостность подресурсов (SRI)?

Механизм браузера, проверяющий криптографический хеш загруженного со стороннего источника скрипта или таблицы стилей до его выполнения и блокирующий изменённые файлы.

Как защититься от Целостность подресурсов (SRI)?

Защита от Целостность подресурсов (SRI) обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Целостность подресурсов (SRI)?

Распространённые альтернативные названия: SRI.

Связанные термины

См. также