PassFront
  1. PassFront
  2. База знаний
  3. Безопасность зависимостей

Как обезопасить зависимости проекта от уязвимостей и атак на цепочку поставки?

Безопасность зависимостей

Supply chain атака — компрометация пакета, которым вы пользуетесь: злоумышленник публикует вредоносную версию или захватывает аккаунт автора.

Что делать

  • Коммитить lock-файл и устанавливать зависимости через npm ci.
  • Регулярно запускать npm audit и включить автоматические обновления с проверкой (Dependabot, Renovate).
  • Не ставить пакеты без нужды: каждый добавляет и свои зависимости.
  • Проверять названия: атаки «typosquatting» подсовывают пакет reqeust вместо request.
  • Отключать выполнение скриптов установки для непроверенных пакетов: npm ci --ignore-scripts.
  • Использовать двухфакторную аутентификацию и provenance у собственных пакетов.
  • Для скриптов с CDN подключать Subresource Integrity.
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K..."
        crossorigin="anonymous"></script>

Коротко для собеседования

Фиксируем версии, минимизируем число зависимостей, сканируем уязвимости автоматически и подключаем внешние скрипты с контролем целостности.