Атака на мейнтейнера через поддельное уведомление 2FA позволила внедрить вредоносный код.
Как минимум 18 популярных JavaScript-пакетов на NPM с совокупной недельной аудиторией свыше 2 миллиардов загрузок на короткое время оказались с вредоносными вставками — после фишинг-атаки одного из мейнтейнеров. Инцидент быстро локализовали и ущерб оказался нацелен на криптовалютные операции, однако команда Aikido, обнаружившая подмену, предупреждает: аналогичный сценарий с более агрессивной нагрузкой способен обернуться труднообнаруживаемой вспышкой вредоносного кода в масштабах отрасли.
Атака началась с письма, маскирующегося под уведомление NPM с требованием обновить двухфакторную аутентификацию (2FA) . Разработчика заманили на поддельную страницу входа, где он ввёл одноразовый токен. С похищенными данными злоумышленники зашли в учётную запись на NPM и внесли изменения минимум в 18 широко используемых библиотек, после чего сменили адрес электронной почты в его профиле и на время лишили владельца контроля. По данным Aikido, вредоносная вставка незаметно перехватывала активность криптокошельков в браузере, вмешивалась в взаимодействие с интерфейсами, переписывала назначения переводов и согласований так, чтобы средства и разрешения уходили на подконтрольные реквизиты без явных признаков подмены.
Aikido отслеживает обновления в крупных репозиториях и автоматически проверяет коммиты на признаки опасного поведения. Мейнтейнер подтвердил компрометацию, начав чистку пакетов. Кампания фишинга опиралась на домен npmjs.help, зарегистрированный за 2 дня до рассылки и размещённый через сервис динамического DNS dnsexit.com, предлагающий бесплатные имена с моментальным указанием на произвольный IP.
Специалисты Seralys обратили внимание, что, получив доступ к библиотекам, злоумышленники ограничились именно похищением криптовалюты — хотя цепочка поставок кода открывала им куда более широкий простор для вреда. Кевин Бьюмонт напомнил о системной уязвимости экосистемы: значительная часть мира опирается на множество взаимосвязанных модулей, поддерживаемых горсткой перегруженных энтузиастов, а распространение «вайб-кодинга» увеличивает число зависимостей и итоговую поверхность атаки — достаточно обмануть одного специалиста.
Подчеркивается, что популярные пакеты должны публиковаться только с подтверждённым происхождением сборок — например, из предсказуемой CI-цепочки, запускаемой при слиянии в основную ветку, — а публикации «со стороны» следует блокировать. Пользователям также напомнили и о свежем происшествии в конце августа: при компрометации разработчика инструментария «nx» с примерно 6 миллионами загрузок в неделю в код внедрили сборщик токенов и ключей для GitHub, NPM, SSH и API, а данные не отправлялись на удалённый сервер — вместо этого автоматически создавался открытый репозиторий в аккаунте жертвы, куда и выкладывались трофеи.
Николас Вивер из Международного института компьютерных наук призывает требовать у контрибьюторов нефишингуемые методы второго фактора — в первую очередь физические ключи. По его оценке, с учётом зависимости современного софта от реестров вроде NPM, отсутствие обязательных ключей у авторов пакетов — уже не частная вольность, а риск для инфраструктуры.
Сами разработчики после подобных ударов нередко сворачивают проекты — не выдерживают давления и ответственности. Текущий эпизод показал, насколько хрупка цепочка поставок открытого кода и как быстро одна удачная фишинговая атака может превратиться в отраслевую проблему, если не ужесточить проверку происхождения сборок и не перейти на стойкую ко фишингу аутентификацию.
Как минимум 18 популярных JavaScript-пакетов на NPM с совокупной недельной аудиторией свыше 2 миллиардов загрузок на короткое время оказались с вредоносными вставками — после фишинг-атаки одного из мейнтейнеров. Инцидент быстро локализовали и ущерб оказался нацелен на криптовалютные операции, однако команда Aikido, обнаружившая подмену, предупреждает: аналогичный сценарий с более агрессивной нагрузкой способен обернуться труднообнаруживаемой вспышкой вредоносного кода в масштабах отрасли.
Атака началась с письма, маскирующегося под уведомление NPM с требованием обновить двухфакторную аутентификацию (2FA) . Разработчика заманили на поддельную страницу входа, где он ввёл одноразовый токен. С похищенными данными злоумышленники зашли в учётную запись на NPM и внесли изменения минимум в 18 широко используемых библиотек, после чего сменили адрес электронной почты в его профиле и на время лишили владельца контроля. По данным Aikido, вредоносная вставка незаметно перехватывала активность криптокошельков в браузере, вмешивалась в взаимодействие с интерфейсами, переписывала назначения переводов и согласований так, чтобы средства и разрешения уходили на подконтрольные реквизиты без явных признаков подмены.
Aikido отслеживает обновления в крупных репозиториях и автоматически проверяет коммиты на признаки опасного поведения. Мейнтейнер подтвердил компрометацию, начав чистку пакетов. Кампания фишинга опиралась на домен npmjs.help, зарегистрированный за 2 дня до рассылки и размещённый через сервис динамического DNS dnsexit.com, предлагающий бесплатные имена с моментальным указанием на произвольный IP.
Специалисты Seralys обратили внимание, что, получив доступ к библиотекам, злоумышленники ограничились именно похищением криптовалюты — хотя цепочка поставок кода открывала им куда более широкий простор для вреда. Кевин Бьюмонт напомнил о системной уязвимости экосистемы: значительная часть мира опирается на множество взаимосвязанных модулей, поддерживаемых горсткой перегруженных энтузиастов, а распространение «вайб-кодинга» увеличивает число зависимостей и итоговую поверхность атаки — достаточно обмануть одного специалиста.
Подчеркивается, что популярные пакеты должны публиковаться только с подтверждённым происхождением сборок — например, из предсказуемой CI-цепочки, запускаемой при слиянии в основную ветку, — а публикации «со стороны» следует блокировать. Пользователям также напомнили и о свежем происшествии в конце августа: при компрометации разработчика инструментария «nx» с примерно 6 миллионами загрузок в неделю в код внедрили сборщик токенов и ключей для GitHub, NPM, SSH и API, а данные не отправлялись на удалённый сервер — вместо этого автоматически создавался открытый репозиторий в аккаунте жертвы, куда и выкладывались трофеи.
Николас Вивер из Международного института компьютерных наук призывает требовать у контрибьюторов нефишингуемые методы второго фактора — в первую очередь физические ключи. По его оценке, с учётом зависимости современного софта от реестров вроде NPM, отсутствие обязательных ключей у авторов пакетов — уже не частная вольность, а риск для инфраструктуры.
Сами разработчики после подобных ударов нередко сворачивают проекты — не выдерживают давления и ответственности. Текущий эпизод показал, насколько хрупка цепочка поставок открытого кода и как быстро одна удачная фишинговая атака может превратиться в отраслевую проблему, если не ужесточить проверку происхождения сборок и не перейти на стойкую ко фишингу аутентификацию.
- Источник новости
- www.securitylab.ru