Система управления пакетами Node Package Manager (NPM) стала эпицентром масштабной атаки на цепочку поставок программного обеспечения, которая началась 15 сентября. По данным исследователей кибербезопасности, злоумышленники провели целенаправленную фишинг-кампанию, чтобы получить доступ к учётным записям сопровождающих популярных пакетов. После получения привилегированного доступа они внедрили вредоносный код в широко используемые JavaScript-библиотеки, поставив под угрозу безопасность огромного сегмента веб-экосистемы.
Описание
Атака затронула критически важные пакеты, включая те, что используются в рамках для разработки приложений и для криптографических функций. Еженедельное количество загрузок скомпрометированных пакетов превышает 2,6 миллиарда, что демонстрирует беспрецедентный масштаб потенциального воздействия. По данным компании Socket, на 16 сентября было выявлено около 500 пострадавших пакетов. Эксперты из StepSecurity отмечают, что методы атаки схожи с теми, что применялись в ходе инцидента с поставками Nx в прошлом месяце.
Одним из наиболее опасных компонентов атаки является нагрузка в виде червя, названного Shai-hulud в честь песчаного черва из вселенной «Дюны». Его ключевой особенностью является способность к автономному саморазмножению внутри экосистемы NPM. В отличие от традиционных угроз цепочки поставок, которые часто ограничиваются разовой компрометацией или кражей учётных данных, Shai-hulud использует механизмы post-install скриптов для распространения на новые пакеты и проекты, создавая множащуюся угрозу, не требующую постоянного вмешательства злоумышленника после первоначального внедрения.
Цепочка атаки начинается с фишинг-письма, замаскированного под оповещение службы безопасности NPM. Разработчик, поверивший письму, непреднамеренно раскрывает свои учётные данные. Получив доступ к его аккаунту, злоумышленники загружают вредоносный пакет. При его установке исполняется JavaScript-код и встраиваемые Unix-скрипты, которые обеспечивают устойчивость в системе и начинают кражу информации.
Используя похищенные токены доступа к GitHub, вредоносная программа аутентифицируется через GitHub API, проверяет права пользователя и получает список всех репозиториев, включая приватные. Она клонирует приватные репозитории на аккаунты злоумышленников, создаёт в каждой новую ветку и развёртывает вредоносный workflow для автоматизации кражи данных. Далее программа загружает и устанавливает инструмент TruffleHog для поиска и сбора дополнительных секретов, таких как ключи API и токены. Все похищенные репозитории делаются публичными, а их полная история зеркалируется. Чувствительные данные эксфильтрируются с помощью автоматизированных веб-запросов. Этот процесс показывает, как компрометация одной учётной записи может привести к распространению вредоносного кода, краже учётных данных и массовой утечке данных по всей среде разработки организации.
Ещё одним аспектом атаки стало хищение криптовалютных активов. Злоумышленники перехватывали веб-API и манипулировали сетевым трафиком, чтобы скрытно перенаправлять средства с законных каналов на контролируемые ими кошельки. Эта активность затрагивала как организации, так и конечных пользователей, взаимодействующих со скомпрометированными пакетами.
Полезная нагрузка Cryptohijacker, согласно телеметрии Trend Micro, была зафиксирована в основном у организаций в Северной Америке и Европе. При этом на данный момент не было зарегистрировано случаев обнаружения червя Shai-hulud в реальных средах. Это может указывать на то, что данная компонента либо ещё не была активирована, либо её распространение пока остаётся ограниченным.
Широкомасштабный характер этой угрозы означает, что сотни пакетов могли быть скомпрометированы до первоначального обнаружения, что подрывает доверие организаций к использованию зависимостей с открытым исходным кодом. Автоматизация атаки значительно увеличивает технические и бизнес-риски, требуя от злоумышленника минимальных усилий после развёртывания.
Для противодействия подобным угрозам специалистам по безопасности рекомендуется усилить контроль за процессами управления зависимостями, внедрить строгую аутентификацию для учётных записей сопровождающих пакеты, а также активно использовать решения для мониторинга цепочки поставок. Платформа Trend Vision One, как сообщает производитель, способна обнаруживать и блокировать индикаторы компрометации, связанные с этой атакой, а также предоставляет пользователям специальные запросы для поиска угроз, аналитику и разведывательные отчёты. Данный инцидент в очередной раз подчёркивает, что уязвимости в экосистеме открытого исходного кода представляют собой системный риск, требующий повышенного внимания и проактивных мер защиты.
Индикаторы компрометации
Domains
- npmjs.help
URLs
- webhook.site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7
SHA1
- 014228830250bf081fce9db0826b10305bf4a075
- 067648958b75806072527df55d9d3f727e4d2533
- 0be45aa0f8f92e63b74f888fce0e8ccb3a843033
- 19b5dc3aea3d2e403f6e1bfb2aadf4873a87c4b9
- 1af9b4373657582edb9e20eab34b152be2ec70b4
- 1e7dbe865a3e0408a319ee4a8b091add28452524
- 1fa896bff4d0aea2bdd90e2ca8ec58160d6e9130
- 2252418758a34f8b2708d13d641b8eea3a76a91c
- 24a8425476dcf8106ff86e5a5dbdfe56767c3f83
- 3bc38b1fb607e2e393f0586ad137bec99e8a22dc
- 3cf10775ef49ed218730c2cfe9ac865d7d9782af
- 411a826870d686ba2d880efb2fd3db484d151560
- 41b328df338a31e5afb05e4e37b3e89b29394523
- 47b63bc786960fda917ea9f5ff0023a3c50e2ca3
- 499756844aa7249d94c3ca3fd3f5346b3bdcabfe
- 4b2d21961eb5ae538ae00c85655b28156c5135e3
- 5518bc3a1df75f8e480efb32fa78de15e775155d
- 60cb12384a8defcb020d996f16500cb4ae60544c
- 6323eac15e6029f92d7f53f786909dec04acc22a
- 70957568e6802538949197cf17709f8f29757c86
- 78b18ee8f16e3d06997189ebac933c1048c74687
- 7a1ca7d142305e2886b988c2f0b524f89f003940
- 7abebf9c56d06083102f0a01b10ace155c9e8855
- 7c01f6ed54dc5c8dd7f3d44fb2c5e7baed2b8e84
- 7e091778fdc88f043f3a5ad02647ca0ecb106311
- 7f64e210a3e4f0a4d4353f5b0e24cc6ed5f25f13
- 81f533be5a9ec9bb167634e509ed907896d6ea16
- 87ecf3a97a3d760d99b1c7f91334d0e38ccc3089
- 8901bdcff8a93cc32d65f6dd5dc3a64bb702c37a
- 8ad058047c5f2875f53cc12236cd715ab40918bb
- 8b98ab71cc71c8768de27af80a3e0d1bc6c8d809
- 911ec8f2f54043c129d5a4116e0cddb04e96f71d
- 94870190e0a2cc34cfb5800f3a7434b45273395d
- 9c14e3b712695d02c886df3503ce9ceadf67b99e
- 9d893b6e0b50221889fbd2136d77112208746483
- af9729d777b9837891f742db750bf35a0961c77e
- b0c9ed032985beda979cb0becba7b4a47b1de30c
- b28a3ab62a108d8094d2d2a8fa9f60a6af9189e6
- b43a8985746997b08842d55d32e8050dd943349a
- bd398b4c641cc656510398bd70e181d572a9bc7b
- c577059020b7ae370c67cf0a3170eff4d7f2b038
- c6490428b140893c27274b9e3bb33d2ab48a478d
- d4117240a8122c9f5c463a4d5b8a4d34cd243147
- e03f836f966616503dc4588bd17f80f4edf709cb
- e97440fa7b29d5e4986bc88d7b2d8cec6f251267
- ea8069be02451e9f78caf626547d63ce37c9e004
- ebcf69dc3d77aab6a23c733bf8d3de835a4a819a
- ef25127522cd65bf943000f78f9dd9bcdd8217f0
- f04799faa6add499aad64c9e50ecd8922656812d
- f416d1e4c19a8293306968d35fe27aa2be0a5d80
- f8b9d1fd523282a9b620568927fb26daaeca4383