Не задумывались ли вы, почему ваша защита кода напоминает швейцарский сыр с дырами?
Северокорейские хакеры, известные как UNC1069, только что это продемонстрировали. Они не ломились в npm-пакет Axios грубой силой. Нет, они разыграли долгую партию — применили социальную инженерию, чтобы сам maintainer вручил им ключи.
Джейсон Саайман, создатель Axios, подробно описал случившееся в откровенном пост-мортеме. Нападавшие скопировали учредителя реальной компании — до мельчайших деталей внешности, — а потом заманили его в поддельный Slack-воркспейс. Всё оформлено идеально: каналы CI, репосты из LinkedIn — сплошная аутентичность.
А теперь кульминация.
Они назначили звонок в Teams. Он заходит — бац, фальшивая ошибка: «Обновите систему». Клик — и троян удалённого доступа проникает внутрь. Уворованы учётные данные. Выпущены две отравленные версии: 1.14.1 и 0.30.4 с шпионским ПО WAVESHAPER.V2.
«Всё было крайне слаженно, выглядело правдоподобно и выполнено профессионально», — добавил Саайман.
Слаженно? Мягко сказано. Это вылитая тактика UNC1069 — пересекается с приёмами BlueNoroff, которые в прошлом году зафиксировали Huntress и Kaspersky. GhostCall, так они это назвали. Основатели криптостартапов, венчурные капиталисты: старые цели. Теперь? Сопровождающие open source.
Как UNC1069 взломали maintainer’а Axios?
Представьте: вы Джейсон. Приходит письмо от уважаемого основателя компании. Приглашение в Slack — реальный воркспейс, правдоподобное название. Каналы бурлят ожидаемыми постами. Ни одного красного флага.
Но копнём глубже. Они подогнали всё «специально под меня», — говорит Саайман. Не массовый фишинг. Точная хирургическая атака.
Звонок в Teams добивает. Поддельный промпт обновления — классический дроп RAT. Уворованы npm-учётки. Опубликованы вредоносные пакеты. Axios скачивают 100 миллионов раз в неделю. Транзитивные зависимости? Усилитель хаоса.
Что сделал Саайман? Почистил устройства, ввёл неизменяемые релизы, OIDC для публикаций, локдаун GitHub Actions. Умно. Но постфактум.
А вот мой уникальный взгляд, который пост-мортем Axios упустил: это не эволюция, а возвращение к саботажу цепочек поставок времён Stuxnet, но демократизированное для дикого запада JavaScript. Северная Корея больше не просто крадёт крипту. Они встраивают стойкие плацдармы в девтулы, предвещая волну атак на OSS-maintainer’ов по мере того, как ИИ-агенты автоматизируют клонирование.
Почему сопровождающие open source — идеальные цели?
Они — хранители ворот. Одиночки — или крошечные команды — для пакетов, от которых зависят миллионы. Нет корпоративных рвов. Личные email, профили в LinkedIn: открытая книга.
UNC1069 это знает. Тейлор Монахан бьёт в точку: «Исторически […] эти ребята охотились за основателями криптостартапов, VC, публичными персонами. Социально инженерили их, захватывали аккаунты и переходили к следующей волне. Переход к [OSS-maintainer’ам] вызывает у меня беспокойство».
Беспокойство? Скорее ужас. Axios — не нишевый пакет. Он везде — React-приложения, Node-серверы. Один отравленный релиз — и волна пошла.
Ахмад Нассри из Socket рубит правду: ад зависимостей в современном JS делает уязвимости невидимыми. Вы тянете Axios 1.6? Нормально. А подзависимость? Не факт.
Почему npm — хакерская мечта?
Короткий ответ: масштаб.
Длинный? Плоское пространство имён npm, миллиарды скачиваний в неделю, транзитивный кошмар. Нет встроенной подписи для всех. Издатели полагаются на учётки, а не на ключи — до поры.
Переход Сааймана на OIDC? Золотой стандарт. Но внедрение хромает. GitHub продвигает. npm тоже. И вот 2024-й, а мы всё ещё мучаемся с учётками.
Корпорации трубят о «защите по дизайну». Чушь. Эта атака вопит об архитектурной гнили: социальная инженерия обходит всё, потому что публикуют люди.
Мой прогноз? UNC1069 запустили пробный шар. Ждите подражателей — из Китая, России — на PyPI, Maven. Бонусы за OSS не спасут; нужны коллаборативы maintainer’ов, ИИ-проверки на аномалии, обязательная 2FA с аппаратными ключами повсеместно.
Но доберёмся ли мы до этого до следующего Axios?
Изменения зреют под землёй.
Государственный промысел КНДР — обход санкций через код — финансирует ракеты. UNC1069 — не ренегаты; это машина КНДР, по данным Mandiant. Они эволюционируют быстро, потому что провалы бесплатны.
Саайман сбросил всё. Хорошо. Но для всей экосистемы? Socket помог быстро выдернуть плохие версии. Но скачивания были. Импланты затаились?
Подвержен ли ваш проект атакам в стиле Axios?
Проверьте зависимости. npm audit. Но транзитивные? Насаживайте Socket, Snyk.
Уникальный инсайт: это предвещает эксплойты «усталости maintainer’ов». OSS держится на волонтёрах, выгорающих на работе. Хакеры ставят на это истощение. Решение? Фонды для платных maintainer’ов, как эксперименты Protocol Labs. Корпоративная OSS-зависимость без штатных окладов.
🧬 Связанные материалы
- Читать дальше: CanisterWorm: Cybercrooks Hijack Iran Tensions for Cloud Data Heists
- Читать дальше: 1,500 WhatsApp Engineers Had Unrestricted Access to User Data, Whistleblower Alleges
Часто задаваемые вопросы
Что спровоцировало атаку на цепочку поставок Axios в npm?
UNC1069 применили целевую социальную инженерию: фальшивый Slack от скопированного CEO, звонок в Teams с RAT через поддельное обновление, кража учёток maintainer’а.
Как проверить, не подцепил ли проект плохие версии Axios?
Запустите npm ls axios на 1.14.1 или 0.30.4; обновитесь до последней, используйте npm audit. Сканируйте транзитивы через Socket или GitHub Dependabot.
Будут ли северокорейские хакеры атаковать другие npm-пакеты?
Скорее всего — OSS-maintainer’ы для госакторов низко висящий плод в погоне за масштабом. Блокируйте OIDC, аппаратными ключами.