Экосистема npm подверглась масштабной компрометации цепочки поставок, нацеленной на Keyv, предупреждает SlowMist
Ключевые выводы
- •Более 2 000 вредоносных версий пакетов были опубликованы с целью нацеливания на Keyv — уровень абстракции хранения данных типа «ключ-значение» с приблизительно 127 миллионами еженедельных загрузок в npm.
- •Keyv поддерживает множество бэкендов, включая Redis и PostgreSQL, что делает его критически важной зависимостью для большого числа приложений в криптовалютном и более широком технологическом секторах.
- •Методы атаки, наблюдаемые в данном инциденте, напоминают те, что использовались в предыдущих компрометациях цепочки поставок npm, таких как инциденты с event-stream в 2018 году и ua-parser-js в 2021 году.
- •Командам безопасности рекомендуется провести аудит всех зависимостей npm, проверить целостность пакетов, обновиться до проверенных безопасных версий и контролировать системы на наличие признаков компрометации.
- •Инцидент подчёркивает важность фиксации зависимостей через lock-файлы, проверки целостности и автоматизированного сканирования уязвимостей с помощью таких инструментов, как npm audit.

О серьёзной компрометации цепочки поставок npm, затронувшей экосистему Keyv, сообщается в предупреждении о безопасности от @SlowMist_Team. Злоумышленники опубликовали более 2 000 вредоносных версий пакетов, что вызывает серьёзную обеспокоенность в связи с широким распространением Keyv — приблизительно 127 миллионов загрузок еженедельно.
Масштабы компрометации
Экосистема npm столкнулась с серьёзной угрозой безопасности, как подробно описывает SlowMist. Компрометация включает более 2 000 вредоносных версий пакетов, нацеленных на Keyv — широко используемый уровень абстракции хранения данных типа «ключ-значение». Keyv поддерживает множество бэкендов, включая Redis и PostgreSQL, что делает его критически важной зависимостью для большого числа приложений в криптовалютном и более широком технологическом секторах.
Учитывая широкую интеграцию Keyv, последствия для нижестоящих приложений могут быть весьма существенными. Методы атаки, наблюдаемые в данном инциденте, напоминают те, что использовались в предыдущих атаках на цепочку поставок npm, что указывает на сложный и скоординированный характер действий злоумышленников. Известные прошлые инциденты — такие как компрометация event-stream в 2018 году и внедрение вредоносного кода в ua-parser-js в 2021 году — показали, как один скомпрометированный или перехваченный пакет может распространиться на тысячи зависимых проектов, поскольку глубокие цепочки транзитивных зависимостей npm позволяют одному вредоносному слою достичь приложений, удалённых на несколько шагов от исходного пакета.
Роль и уязвимость Keyv
Keyv — это популярное решение для хранения данных типа «ключ-значение», предоставляющее простой унифицированный интерфейс для работы с различными бэкендами. Его широкое распространение означает, что вредоносные пакеты потенциально могут затронуть большое количество проектов, использующих его для операций хранения данных.
Реестр npm, поддерживаемый GitHub после приобретения в 2020 году, обрабатывает значительный объём программных зависимостей для разработки веб-приложений и сервисов и играет центральную роль в безопасности цепочки поставок программного обеспечения. Инциденты подобного рода влияют на стандарты кибербезопасности во всей отрасли, подчёркивая важность фиксации зависимостей через lock-файлы, проверки целостности и автоматизированного сканирования уязвимостей с помощью таких инструментов, как npm audit.
Рекомендуемые действия
Командам безопасности настоятельно рекомендуется предпринять следующие шаги:
- Немедленно проверить и провести аудит всех зависимостей пакетов npm, особенно тех, что связаны с Keyv.
- Обновиться до проверенных безопасных версий пакетов после подтверждения их целостности.
- Контролировать системы на наличие признаков компрометации, которые могли возникнуть в результате использования вредоносных пакетов.
- Отслеживать дальнейшие обновления от исследователей безопасности и команды npm.
Разработчикам следует сохранять бдительность в отношении программных зависимостей и следить за появлением новых уязвимостей по мере развития ситуации. Ожидается, что сообщество ответит на риски проведением большего числа аудитов и внедрением более безопасных методов управления пакетами.