Одна з найпопулярніших JavaScript-бібліотек, Axios, опинилася в центрі неприємного інциденту. Через добре продуману соціальну інженерію зловмисники змогли отримати доступ до npm-екосистеми та поширити шкідливий код.
За атакою стоїть група UNC1069, яку пов’язують із Північною Кореєю. Але найцікавіше тут не географія, а сам підхід.
Замість того щоб шукати вразливості в коді чи інфраструктурі, атакувальники пішли простішим і водночас ефективнішим шляхом – вони вийшли на людину, яка має доступ до проєкту.
Сценарій виглядав максимально правдоподібно. Жертву запросили до нібито робочого середовища, яке виглядало як звичайний Slack: канали, активність, повідомлення – усе як у реальній компанії. У якийсь момент це вже не виглядало як підозріла історія, а як нормальна робоча комунікація.
Що особливо показово, сама атака була не просто “масовою”, а дуже точно підлаштованою під конкретну людину. Мейнтейнер бібліотеки Джейсон Саайман пізніше прямо сказав, що зловмисники діяли адресно:
“Вони адаптували свою соціальну інженерію спеціально під мене, спочатку звернувшись під виглядом засновника відомої компанії.”
“Вони навіть відтворили зовнішність засновника компанії та саму компанію.”
Після цього був дзвінок у Microsoft Teams. І ось тут ключовий момент: під час розмови показали фейкову помилку, яка стала частиною сценарію. Людина, по суті, сама допомогла відкрити доступ, думаючи, що вирішує технічну проблему.
У результаті зловмисники отримали контроль і змогли опублікувати шкідливий пакет. Причому вони не чіпали сам Axios напряму – це зробило б атаку занадто помітною. Замість цього використали залежність, через яку код поширювався значно тихіше і масштабніше.
Навіть досвідчені розробники можуть потрапити в таку ситуацію, якщо все виглядає достатньо реалістично. І проблема тут не в людях, а в тому, що інструменти атак стали значно складнішими й тоншими.
Тому питання вже не в тому, чи перевіряти залежності, а в тому, як будувати процеси, де одна помилка не призводить до компрометації тисяч проєктів.
Думаю після XZ і Лассе таких випадків буде ще більше