0Pricing
Cyber Security Academy · Урок

Безопасное управление зависимостями

Фиксируйте версии зависимостей, отслеживайте CVE, используйте файлы блокировки и автоматизируйте SCA в конвейерах CI.

«Безопасное управление зависимостями» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Почему зависимости представляют риск

Современные приложения импортируют сотни пакетов сторонних разработчиков. Каждая зависимость — и её транзитивные зависимости — расширяет поверхность атаки. Уязвимость в популярной библиотеке, например Log4Shell в Log4j, может одновременно подвергнуть риску тысячи приложений.

Файлы блокировки и фиксация версий

Файлы блокировки (package-lock.json, yarn.lock, Pipfile.lock) фиксируют каждую зависимость, включая транзитивные зависимости, на точной версии. Добавляйте файлы блокировки в систему контроля версий. Это обеспечивает воспроизводимые сборки и предотвращает случайные обновления версий, которые могут привести к появлению уязвимостей.

Анализ состава программного обеспечения (SCA)

Инструменты SCA проверяют деревья зависимостей по базам данных CVE, чтобы выявлять уязвимые пакеты. OWASP Dependency-Check, Snyk и GitHub Dependabot автоматически обнаруживают известные уязвимости и предлагают исправленные версии с рекомендациями по устранению.

Автоматические обновления зависимостей

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

Оценка новых зависимостей

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

Риски транзитивных зависимостей

Ваши прямые зависимости подключают собственные зависимости. Инцидент с event-stream: злоумышленники получили контроль над транзитивной зависимостью, которую использовали миллионы пакетов. Проверяйте всё дерево зависимостей, а не только прямые зависимости.

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

Атаки с подменой зависимостей связаны с публикацией вредоносных пакетов в общедоступных реестрах под теми же именами, что и внутренние пакеты. Снизить риск помогают имена пакетов с заданной областью, аутентификация в частном реестре и внесение одобренных реестров в список разрешенных в .npmrc или pip.conf.

Безопасность цепочки поставок: SBOM

Спецификация состава программного обеспечения (SBOM) — это машиночитаемый перечень всех компонентов вашего программного обеспечения. Создавайте SBOM с помощью Syft или CycloneDX. SBOM позволяет быстро оценить влияние уязвимости после публикации новых CVE: определить затронутые версии можно за считанные минуты.

Соблюдение лицензионных требований

Лицензии OSS налагают определенные обязательства. GPL может требовать раскрытия исходного кода. MIT и Apache 2.0 являются разрешительными лицензиями. FOSSA и TLDR-Legal помогают оценить совместимость лицензий. Включите проверку лицензий в CI, чтобы предотвратить случайное включение компонентов GPL в коммерческие продукты.

Проверка целостности

Механизм проверки целостности подресурсов (SRI) для скриптов, размещенных в CDN, использует криптографический хеш в атрибуте integrity. В npm package.json есть поле integrity. Проверяйте контрольные суммы при загрузке пакетов в CI, чтобы обнаружить вмешательство в цепочку поставок.

Поддержание актуальности зависимостей

Устанавливайте исправления безопасности в течение 24–48 часов после публикации CVE для критических уязвимостей. Используйте оценки CVSS и данные об эксплуатационной пригодности, чтобы расставлять приоритеты. Исправленная зависимость, вносящая несовместимое изменение, лучше уязвимости, которую можно эксплуатировать в рабочей среде.

Проверка знаний

Что такое атака с подменой зависимости?

Итоги

Безопасное управление зависимостями требует закрепления версий в файлах блокировки, запуска сканирования SCA в CI/CD, автоматизации обновления исправлений, создания SBOM для оценки влияния и проверки состояния безопасности новых зависимостей перед их внедрением.

Часто задаваемые вопросы

Урок «Безопасное управление зависимостями» бесплатный?

Да — полный текст урока «Безопасное управление зависимостями» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Безопасное управление зависимостями»?

Фиксируйте версии зависимостей, отслеживайте CVE, используйте файлы блокировки и автоматизируйте SCA в конвейерах CI. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Безопасное управление зависимостями»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проверка ввода и кодирование вывода
  2. Безопасное управление зависимостями
  3. OWASP ASVS: стандарт проверки безопасности приложений
  4. Методы безопасного анализа кода
← Назад к Cyber Security Academy