Правило 27: Атаки на цепочку поставок ПО
​Что, если самая большая угроза вашей системе — это не ваш код, а доверенные библиотеки с открытым исходным кодом, которые вы подключаете? Добро пожаловать в худший кошмар разработчика: атаки на цепочку поставок ПО.
​Злоумышленники больше не тратят время на попытки обойти ваш брандмауэр. Вместо этого они заражают популярные пакеты с открытым исходным кодом (на npm, PyPI или GitHub) вредоносными бэкдорами. Когда вы выполняете простой pip install или npm install, вы непреднамеренно внедряете их вредоносное ПО прямо на свой сервер!
​Чтобы выполнить Правило 27, вам нужно обезопасить зависимости с помощью этих трех абсолютных уровней защиты:
​1️⃣ Закрепляйте зависимости: всегда используйте lockfile’ы (например, package-lock.json или requirements.txt со строгими хэшами), чтобы гарантировать, что при развертывании не будет загружен никакой неожиданный или изменённый код.
2️⃣ Автоматическое сканирование уязвимостей: интегрируйте инструменты вроде Snyk, GitHub Dependabot или OWASP Dependency-Check в ваш процесс. Они мгновенно отмечают и блокируют скомпрометированные или устаревшие библиотеки.
3️⃣ Проверяйте источник: прежде чем доверять новому пакету, проверьте его поддерживающих (maintainers), оцените частоту обновлений и остерегайтесь тайпосоквинга (хакеры дают вредоносным пакетам названия, очень похожие на известные, например requsts вместо requests).
​Не позволяйте доверенной сторонней библиотеке стать троянским конём вашей инфраструктуры
#BTC