Threat Intelligence для AppSec — от мониторинга уязвимостей к комплексному управлению цепочкой поставок программного обеспечения.

В большинстве команд работа с внешними компонентами ограничивается базовым сценарием: обнаружение CVE (общеизвестных уязвимостей), проверка версии пакета, применение исправлений. Угрозы устраняются, показатели безопасности улучшаются. Однако риски для цепочки поставок не исчерпываются уязвимостями.
Традиционные SCA-решения (анализаторы состава ПО) сканируют сторонние компоненты, выявляя проблемные версии через сопоставление с базами CVE. При обнаружении предлагается обновление. Но это лишь часть возможных угроз.
В 2022 году эксперты по киберразведке Positive Technologies зафиксировали атаки через open-source компоненты. Исследование PyPI (репозиторий Python-пакетов) и npm (менеджер пакетов Node.js) выявило вредоносные пакеты, остававшиеся незамеченными месяцами, а в отдельных случаях — годами.
Помимо явно опасного кода, обнаружился новый тип угроз — protestware. Такие зависимости функционально работают корректно, но содержат скрытую логику, активируемую по идеологическим или политическим причинам. Отдельную проблему представляют заброшенные пакеты, которые продолжают использоваться в сборках, несмотря на отсутствие поддержки.
После первых атак на цепочки поставок в России специалисты Positive Technologies провели аудит внутренних зависимостей. Результатом стал сервис PT PyAnalysis для анализа Python-пакетов: за 9 месяцев обнаружено свыше 200 вредоносных компонентов. Сегодня расширенные данные для защиты цепочек доступны клиентам через PT Fusion в формате машинно-читаемых фидов.
Содержание фидов
Данные предоставляются в формате OSV (стандарт описания уязвимостей), адаптированном для описания не только уязвимостей, но и вредоносных релизов, protestware и архивных пакетов. Расширенная таксономия позволяет унифицировать данные для процессов DevSecOps. Охды охватывают экосистемы PyPI, npm, а также плагины VS Code и Firefox.
Четыре типа рисков
Команды AppSec обычно фокусируются на поиске уязвимостей, однако зависимости могут нести иные угрозы, требующие специфических мер в CI/CD.
Думал на протяжении 10s
Ошибки в коде, допускающие эксплуатацию
Реакция
Инициировать обновление; блокировать деплой при критических рисках
Преднамеренное внедрение через взлом аккаунта разработчика
Реакция
Мгновенная блокировка версии; анализ, если пакет уже использован
Деструктивные действия по идеологическим мотивам
Реакция
Блокировка версии; оценка репутационных последствий
Риск прерывания сборки и отсутствия обновлений
Реакция
Создание внутреннего зеркала; поиск альтернатив
Уязвимости
Классический пример: в protobuf.js до версий 7.5.5 (7.x) и 8.0.1 (8.x) через поле type можно было внедрить JavaScript-код, выполняемый при обработке данных. В vm2 до 3.10.2 обход обработки Promise позволял выполнить произвольные команды вне песочницы.
Интеграция с AppSec-инструментами через фиды обеспечивает автоматическую проверку зависимостей при сборке, создание задач на обновление и блокировку деплоя для критических случаев.
Вредоносный код
Здесь проблема не из-за ошибки, а вследствие злонамеренных действий: компрометация аккаунта разработчика, подмена сборки или атака на репозиторий.
Знаковый пример — xz-utils 5.6.0-5.6.1, где через модифицированные скрипты сборки в liblzma внедрялся код для выполнения произвольных команд через SSH. Атакующий два года зарабатывал доверие сообщества перед внедрением.
Отдельный сценарий — смена контроля над инфраструктурой. После передачи домена polyfill.io новый владелец начал распространять модифицированный JS-код, перенаправлявший пользователей на фишинговые сайты.
Реакция требует немедленной блокировки версий в CI/CD и расследования, если пакет уже интегрирован.
Protestware
В марте 2022 версии node-ipc 10.1.1-10.1.2 содержали код, стиравший файлы на устройствах пользователей из России и Беларуси, а зависимость peacenotwar выводила политические сообщения. Такие пакеты часто дублируются в категории вредоносных, но отличаются мотивацией и распространением. Фиды помогают блокировать их до попадания в продукт.
Архивные пакеты
Операционный риск проявляется постепенно: разработчик удаляет пакет, сборка ломается, уязвимости остаются неисправленными. Например, left-pad в 2016 году вызвал сбои в тысячах проектов после удаления из npm.
Своевременное зеркалирование во внутренний репозиторий и планирование замены минимизируют последствия.
Механизм обнаружения угроз
Методы основаны на опыте анализа вредоносного ПО, накопленном отделом киберразведки. Автоматизация критически важна: ежедневно в PyPI и npm публикуются десятки тысяч релизов.
ML-модели выявляют подозрительные паттерны: обфускацию строк, нестандартные сетевые запросы при установке, модифицированные скрипты setup.py/install.js. После автоматической верификации данные передаются аналитикам для уточнения и попадают в фиды.
Преимущества для AppSec
Контроль зависимостей выходит за рамки CVE. CI/CD получает многоуровневую защиту: блокировку вредоносных версий, фильтрацию protestware, мониторинг поддержки пакетов. Правила интегрируются в SCA-платформы и пайплайны сборки.
Для старта достаточно подключить osv-scanner в CI/CD или использовать pre-commit хуки. Промежуточный репозиторий (Nexus, Artifactory) с карантином новых пакетов усилит защиту. Для зрелых процессов требуется интеграция множества источников, где threat intelligence становится практическим инструментом AppSec.
Источник: http://www.securitylab.ru/analytics/572908.php
