Крупная атака на экосистему npm: скомпрометированы пакеты debug и chalk с миллиардами загрузок

information security

В экосистеме npm выявлена масштабная кампания по компрометации популярных пакетов, включая debug и chalk, которые еженедельно скачиваются сотни миллионов раз. Атака, обнаруженная 8 сентября системой мониторинга Aikido, затронула 18 критически важных компонентов JavaScript с совокупным объемом загрузок, исчисляющимся миллиардами.

Описание

Под удар попали ключевые зависимости, включая ansi-styles (371,41 млн загрузок в неделю), debug (357,6 млн), chalk (299,99 млн) и supports-color (287,1 млн). Злоумышленники опубликовали новые версии этих пакетов, содержащие обфусцированный вредоносный код, который активируется на стороне клиента и незаметно перехватывает криптовалютные операции в браузере.

Технический анализ показал, что вредоносный код внедряет сложный механизм перехвата, модифицируя ключевые API браузера, включая fetch и XMLHttpRequest. При обнаружении активности, связанной с криптовалютами и web3-транзакциями, код манипулирует взаимодействием с кошельками и переписывает платежные назначения, перенаправляя средства и разрешения на контролируемые злоумышленниками счета без видимых признаков для пользователя.

Особую опасность представляет многоуровневый подход атаки: вредоносный код оперирует одновременно на нескольких уровнях, изменяя контент, отображаемый на веб-сайтах, манипулируя вызовами API и подменяя данные, которые приложения считают подписанными. Даже при корректном отображении интерфейса базовая транзакция может быть перенаправлена в фоновом режиме.

Механизм работы включает сложную систему подмены адресов с использованием алгоритмов сравнения строк, которая заменяет легитимные адреса назначения на контролируемые злоумышленниками, используя похожие по написанию адреса для снижения подозрений. Код распознает множество форматов across различных блокчейн-сетей, включая Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash.

Эксперты по кибербезопасности отмечают, что данная атака демонстрирует растущую изощренность атак на цепочки поставок программного обеспечения. Использование популярных пакетов в качестве вектора атаки позволяет злоумышленникам достигать максимального охвата, поскольку разработчики часто косвенно зависят от этих компонентов через свои зависимости.

Рекомендуется немедленно проверить проекты на наличие подозрительных версий скомпрометированных пакетов и принять стандартные меры безопасности, включая обновление зависимостей, аудит package-lock.json и мониторинг необычной активности в системах. Особое внимание следует уделить проектам, связанным с обработкой криптовалютных транзакций или взаимодействием с блокчейн-сетями.

Данный инцидент подчеркивает критическую важность реализации строгих мер безопасности в цепочках поставок программного обеспечения и необходимость непрерывного мониторинга уязвимостей в зависимостях. Разработчикам следует рассмотреть возможность внедрения автоматизированных инструментов проверки целостности пакетов и подписывания кода для предотвращения подобных атак в будущем.

Индикаторы компрометации

Package Version

  • backslash 0.2.1
  • chalk-template 1.1.1
  • supports-hyperlinks 4.1.1
  • has-ansi 6.0.1
  • simple-swizzle 0.2.3
  • color-string 2.1.1
  • error-ex 1.3.3
  • color-name 2.0.1
  • is-arrayish 0.3.3
  • slice-ansi 7.1.1
  • color-convert 3.1.1
  • wrap-ansi 9.0.1
  • ansi-regex 6.2.1
  • supports-color 10.2.1
  • strip-ansi 7.1.1
  • chalk 5.6.1
  • debug 4.4.2
  • ansi-styles 6.2.2
Комментарии: 0