Найти в Дзене
avencores.

Supply-chain атака на npm: более 2 миллиардов загрузок под угрозой

Supply-chain атака, признанная крупнейшей в истории, затронула популярные пакеты в экосистеме JavaScript, которые суммарно имеют более 2 миллиардов загрузок каждую неделю. Злоумышленники скомпрометировали почти два десятка пакетов в официальном репозитории npm, внедрив вредоносный код для кражи криптовалютных транзакций. Инцидент стал публично известен в понедельник, когда в соцсетях появились первые сообщения о заражении. Вскоре выяснилось, что один из ключевых мейнтейнеров, Джош Жюнон (известный под ником Qix), стал жертвой фишингового письма. Ему пришло сообщение с поддельного домена support.npmjs.help (созданного всего за три дня до атаки), в котором утверждалось, что его аккаунт будет закрыт, если он не обновит данные двухфакторной аутентификации. Попавшись на подделку, разработчик раскрыл доступ к своей учётной записи. Захватив аккаунт, хакеры менее чем за час внесли изменения в десятки пакетов, добавив более 280 строк вредоносного кода. Основная задача внедрённого ПО заключалась
Оглавление

Supply-chain атака, признанная крупнейшей в истории, затронула популярные пакеты в экосистеме JavaScript, которые суммарно имеют более 2 миллиардов загрузок каждую неделю. Злоумышленники скомпрометировали почти два десятка пакетов в официальном репозитории npm, внедрив вредоносный код для кражи криптовалютных транзакций.

Как произошла атака

Инцидент стал публично известен в понедельник, когда в соцсетях появились первые сообщения о заражении. Вскоре выяснилось, что один из ключевых мейнтейнеров, Джош Жюнон (известный под ником Qix), стал жертвой фишингового письма. Ему пришло сообщение с поддельного домена support.npmjs.help (созданного всего за три дня до атаки), в котором утверждалось, что его аккаунт будет закрыт, если он не обновит данные двухфакторной аутентификации. Попавшись на подделку, разработчик раскрыл доступ к своей учётной записи.

Действия злоумышленников

Захватив аккаунт, хакеры менее чем за час внесли изменения в десятки пакетов, добавив более 280 строк вредоносного кода. Основная задача внедрённого ПО заключалась в перехвате криптовалютных переводов: вредоносный код отслеживал операции с Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash, заменяя кошельки получателей на подконтрольные атакующим. Для этого использовались хуки JavaScript-функций (fetch, XMLHttpRequest, а также API кошельков), позволяющие перехватывать и изменять вызовы в момент выполнения.

Пострадавшие пакеты

Среди заражённых библиотек оказались ключевые модули JavaScript-экосистемы, напрямую используемые в тысячах проектов. По данным компании Socket, в список вошли:

* backslash@0.2.1

* chalk@5.6.1

* chalk-template@1.1.1

* color-convert@3.1.1

* color-name@2.0.1

* color-string@2.1.1

* wrap-ansi@9.0.1

* supports-hyperlinks@4.1.1

* strip-ansi@7.1.1

* slice-ansi@7.1.1

* simple-swizzle@0.2.3

* is-arrayish@0.3.3

* error-ex@1.3.3

* has-ansi@6.0.1

* ansi-regex@6.2.1

* ansi-styles@6.2.2

* supports-color@10.2.1

* proto-tinker-wc@1.8.7

* debug@4.4.2

Эти пакеты лежат в основе множества приложений, библиотек и фреймворков, что значительно увеличило «радиус поражения» атаки.

Масштаб и последствия

По оценкам специалистов Socket, это была целевая атака, направленная на максимальное распространение внутри экосистемы. Под угрозой оказались тысячи зависимостей, а вместе с ними — сотни тысяч проектов, которые автоматически обновляют свои зависимости через npm.

Дополнительно в эти же дни были выявлены и другие атаки на цепочку поставок:

* Компания GitGuardian сообщила о компрометации 3 325 секретов аутентификации в PyPI, npm, DockerHUB, GitHub, Cloudflare и AWS. Пострадали 327 пользователей GitHub и 817 репозиториев, куда были внедрены вредоносные workflows GitHub Actions.

* Отдельная атака, исследованная Wiz, затронула пользователей GitHub и инструмент Nx. Она включала кражу токенов npm и GitHub, а также публикацию приватных репозиториев под именем s1ngularity-repository.

Выводы

Атака показала, что даже самые известные и широко используемые open source проекты уязвимы из-за человеческого фактора. Одно успешное фишинговое письмо способно привести к заражению миллионов систем по всему миру. Эксперты советуют разработчикам проверять источники писем, использовать аппаратные ключи безопасности и быть осторожными при обновлении пакетов, даже самых известных.

⬇️Поддержать автора⬇️

✅SBER: 2202 2050 7215 4401