Проверка внешних виджетов и подключаемых скриптов

Чат, аналитика, карта, рекламный пиксель и виджет отзывов добавляют на сайт чужой код. В зависимости от способа подключения он может получать доступ к содержимому страницы и действиям пользователя. Поэтому безопасность сайта зависит не только от собственной CMS.

Составьте перечень подключений

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

Какие вопросы задать

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

Как снизить риск

Удалите ненужные подключения, ограничьте права менеджера тегов и защищайте его администраторов. Загружайте сервис только там, где он нужен. Для подходящих сценариев применяют изоляцию iframe и ограничения CSP. Проверка целостности SRI полезна для фиксированных внешних ресурсов, но требует управления версиями и не подходит автоматически любому динамическому виджету.

Не забывайте о данных и согласиях

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

Как принимать изменения

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

Полезный итог — небольшой понятный набор необходимых сервисов с владельцами и ограничениями. Чем больше бесконтрольных тегов, тем труднее объяснить, кто обрабатывает данные посетителя и почему.

Дополнительно: OWASP: сторонние JavaScript-компоненты.

Читайте также

Если задача связана с вашим сайтом, можно обсудить проверку и доработку. Объём работ определяется после знакомства с проектом.