SecFlowX История № 1 — Уязвимые пакеты без CVE
- Атаки на цепочку поставок ПО нацелены на пакеты, от которых зависят тысячи проектов.
- Инструменты SCA полагаются на наличие CVE в NVD — вредоносные пакеты без CVE остаются незамеченными.
- Учёт инвентаря пакетов (как в SecFlowX) выявляет известные вредоносные зависимости вообще без CVE.
За последние годы библиотеки и компоненты с открытым исходным кодом стали неотъемлемой частью того, как мы создаём программное обеспечение. Благодаря силе сообщества у нас есть доступ к проверенным в боевых условиях компонентам, решающим задачи от тривиальных до сложных — коду, который был проверён множеством людей и укреплён пропорционально его использованию.
Это половина стакана, которая полна. На пустой стороне находятся злоумышленники. Библиотеки, о которых известно, что ими пользуются тысячи — и даже миллионы — людей, являются привлекательной целью для того, чтобы разом охватить большую аудиторию или проникнуть в их системы. Именно поэтому сегодня атакующие нацеливаются на проекты, размещённые в реестрах пакетов, таких как NPM, PyPI и GitHub.
Если атакующему удаётся скомпрометировать пакет или приложение, он одновременно получает доступ ко всем системам, которые от него зависят — в этом суть атаки на цепочку поставок программного обеспечения.
CVE → NVD → SCA
Путь от обнаружения уязвимости в библиотеке до её регистрации в NVD (National Vulnerability Database) и до момента, когда она становится пригодной для использования инструментами сканирования, позволяет нам применять инструменты SCA (Software Composition Analysis), чтобы определить, присутствует ли уязвимость, о которой сообщил исследователь, в проектах нашей организации.
Где здесь SecFlowX
SecFlowX предоставляет детальное представление как на уровне проекта, так и на уровне организации. Зависимости приложений и их статус уязвимости можно получить либо через интеграцию с CI/CD, либо через сканирования, запускаемые напрямую из SecFlowX.
Уязвимости без CVE
Но как быть со вредоносным пакетом или приложением, у которого нет идентификатора CVE? Одна из самых тревожных проблем для организаций сейчас — это вредоносные пакеты без CVE. Вредоносный код, внедрённый в LiteLLM, является одним из самых наглядных примеров — на тот момент CVE ещё не был присвоен.
Сканирование grype тестового проекта, зафиксировавшего litellm==1.82.8, не выявляет уязвимый пакет. Это не вина grype или какого-либо инструмента SCA — в базе данных просто нет такой записи.
Так как же это решить? Ответ очевиден: через учёт инвентаря пакетов. Если мы знаем все зависимости и сведения о версиях в проектах нашей организации, мы можем проверить, присутствует ли какой-либо затронутый компонент. Сканирование того же проекта через SecFlowX подтверждает, что известная уязвимая библиотека litellm==1.82.8 присутствует в нашем инвентаре — и это достигнуто без необходимости в каком-либо идентификаторе CVE.
Итог
Атаки на цепочку поставок программного обеспечения и защита от них становятся всё более критичными с каждым днём. Знание того, какие компоненты присутствуют в инвентаре организации, больше не является опциональным — это жёсткое требование. SecFlowX помогает сделать ваши существующие процессы безопасности приложений более надёжными и устойчивыми.
Часто задаваемые вопросы
Почему SCA-инструменты не находят уязвимый пакет без CVE?
Инструменты SCA, такие как grype, сопоставляют ваши зависимости с базами уязвимостей вроде NVD. Если для вредоносного или уязвимого пакета нет записи CVE, сопоставлять не с чем — сканирование чистое, хотя риск реален.
Чем помогает учёт инвентаря пакетов?
Точно зная, какие пакеты и версии работают в организации, вы проверяете затронутый компонент сразу при раскрытии — не дожидаясь CVE. SecFlowX подтвердил известный уязвимый litellm==1.82.8 только по инвентарю.

