Атаки на цепочку поставок ПО — это компрометация не самой компании-жертвы, а сторонних компонентов: библиотек, пакетов, CI/CD, обновлений, подрядчиков или инфраструктуры сборки. Опасность в том, что вредоносный код попадает в доверенную среду и выглядит как «нормальное» обновление.
Почему это критично
- компании используют тысячи сторонних зависимостей
- одна заражённая библиотека может попасть сразу в сотни продуктов
- традиционные средства защиты не всегда считают легитимный пакет угрозой
Известные примеры
- SolarWinds (2020) — злоумышленники внедрили бэкдор в процесс сборки Orion. Заражённые обновления получили тысячи организаций, включая госструктуры.
- Codecov (2021) — был изменён скрипт Bash Uploader, из-за чего утекали переменные окружения, токены и секреты из CI.
- 3CX (2023) — атакующие скомпрометировали десктопное приложение через цепочку поставок, что затронуло множество клиентов.
- event-stream / ua-parser-js / dependency confusion — примеры атак через npm-пакеты, публикацию вредоносных версий и подмену внутренних зависимостей публичными.
Как происходят supply chain attacks
- компрометация аккаунта разработчика или maintainer’а
- внедрение кода в CI/CD pipeline
- подмена пакета в registry
- заражённые обновления ПО
- атаки на open source зависимости
- кража токенов подписи и секретов
Основные риски для бизнеса
- удалённое выполнение кода в инфраструктуре
- утечка API-ключей, токенов, паролей
- компрометация клиентов через ваше приложение
- простой сервисов, репутационный ущерб, штрафы
Как защититься 🛡️
- Ведите SBOM — список всех компонентов и версий в продукте
- Фиксируйте зависимости: lock-файлы, pinning версий, запрет «плавающих» апдейтов
- Проверяйте происхождение пакетов: подписи, trusted publishers, provenance
- Защищайте CI/CD: MFA, минимальные привилегии, изоляция раннеров, ротация секретов
- Сканируйте зависимости: SCA-инструменты, проверка CVE, анализ лицензий
- Контролируйте обновления: staged rollout, тестирование, canary, быстрый rollback
- Используйте внутренние зеркала/репозитории для зависимостей
- Мониторьте аномалии: неожиданные сетевые подключения, изменение build-скриптов, новые maintainer’ы
- Проверяйте подрядчиков и доступы внешних команд
- Подписывайте артефакты и внедряйте верификацию на этапе деплоя
Что стоит внедрить в первую очередь
- inventory всех зависимостей
- MFA для Git, registry, CI/CD
- secrets management вместо хранения токенов в переменных и скриптах
- политика approve для новых пакетов и мажорных обновлений
- регулярный аудит supply chain рисков
Supply chain security — уже не «дополнительная опция», а базовая часть AppSec и DevSecOps. Чем больше внешнего кода в продукте, тем важнее проверять не только свой код, но и всё, чему вы доверяете ⚙️📦
Подборку каналов про IT — с безопасностью, разработкой и DevOps — стоит посмотреть ниже 📚