A06: Vulnerable and Outdated Components
Современное приложение на 80% состоит из чужого кода — и его уязвимости становятся вашими.
Vulnerable and Outdated Components — использование библиотек, фреймворков и зависимостей с известными уязвимостями или без обновлений безопасности.
Вы устанавливаете десятки пакетов, каждый из которых тянет свои зависимости. Если в любом из них найдут уязвимость, ваше приложение становится уязвимым — даже если ваш собственный код идеален.
CVE и известные уязвимости
CVE (Common Vulnerabilities and Exposures) — публичный каталог известных уязвимостей с уникальными номерами вида CVE-2021-XXXXX. Когда в популярной библиотеке находят дыру, ей присваивают CVE, и злоумышленники сразу начинают искать сайты, где эта версия ещё не обновлена.
Цепочка поставок
Атаки на цепочку поставок (supply chain) — отдельная большая тема: вредоносный код внедряют прямо в популярный пакет, и он распространяется ко всем, кто его установит. Поэтому важно не только обновляться, но и контролировать, что именно вы устанавливаете.
Как защищаться
- Ведите учёт зависимостей (SBOM — список того, из чего собран продукт).
- Используйте SCA-сканеры (Software Composition Analysis): они сверяют ваши версии с базой CVE и сигналят об уязвимых.
- Регулярно обновляйте зависимости; не держите версии «замороженными» годами.
- Удаляйте неиспользуемые пакеты — меньше кода, меньше риска.
- Берите пакеты из доверенных источников, проверяйте популярность и поддержку.
# Встроенные аудиторы экосистем сверяют версии с базой уязвимостей
npm audit
pip-auditЧастые ошибки разработчиков
- «Работает — не трогай»: не обновляют зависимости годами, накапливая известные уязвимости.
- Тянут случайные пакеты с похожим именем (typosquatting) без проверки источника.
- Не следят за зависимостями зависимостей (транзитивными), хотя уязвимость часто именно там.
Итог
- Чужие уязвимости в зависимостях становятся вашими.
- CVE — каталог известных дыр; атакующие сканируют сайты на устаревшие версии.
- Решение: учёт зависимостей, SCA-сканеры, регулярные обновления, доверенные источники.