TL, д-р
Компроміс axios npm показує як сучасні атаки на ланцюги поставок використовувати довірені залежності для доступу до конфіденційних даних під час виконання. Цей інцидент був проаналізований кількома дослідниками безпеки, включаючи детальний аналіз з Unit42 висвітлення галузі, що висвітлює моделі атрибуції, пов'язані з діяльністю національних держав.
Цей інцидент впливає на:
- Команди DevOps працюють CI/CD pipelineз автентифікацією на основі середовища
- Бекенд-сервіси, що обробляють автентифіковані запити API
- Застосунки, що використовують axios для внутрішнього та зовнішнього HTTP-зв'язку
Оскільки axios знаходиться на рівні запитів, скомпрометована версія може отримати доступ до:
- Заголовки авторизації та Токени API
- Змінні середовища та секрети
- Внутрішня комунікація служби
Реальний вплив полягає не в самій залежності, а в тому, до чого вона може отримати доступ після виконання.
Негайні дії:
- Блокування версій залежностей та перегляд останніх оновлень
- Ротація ключів API, токенів та CI/CD Повноваження
- Моніторинг вихідних запитів та активності автентифікації
- Аудит pipelineдля розкритих таємниць
Що сталося під час npm-атаки Axios
Інцидент з axios є продовженням поширення атак на ланцюги поставок, коли зловмисники націлені на широко використовувані залежності, а не на вразливості програм.
Компрометуючи надійний пакет, зловмисники отримують доступ до його виконання в тисячах середовищ одночасно.
Оскільки axios є одним із найпоширеніших HTTP-клієнтів в екосистемі JavaScript, він глибоко інтегрований у:
- Бекенд-сервіси
- Фронтенд-додатки
- CI/CD pipelines
Це робить його високоцінною ціллю.
Після впровадження та виконання шкідливої версії вона успадковує ті самі дозволи, що й програма, яка її імпортувала. Це включає доступ до мережевого трафіку, облікових даних та внутрішніх служб.
Компрометація також привернула ширшу увагу за межами спільноти безпеки, завдяки таким звітам, як Axios охоплення
вказуючи на можливі зв'язки з передовими зловмисниками та скоординованими кампаніями.
Що насправді робить атака Axios під час виконання
Ключ до розуміння цієї атаки полягає в зосередженні на поведінці під час виконання.
Axios працює на рівні HTTP, що означає, що він обробляє вихідні запити. Це забезпечує йому пряму видимість конфіденційних даних, що проходять через програму.
Скомпрометована версія може:
- Перехоплювати вихідні запити перед їх надсиланням
- захоплення
Authorizationзаголовки та токени API - Доступ до змінних середовища через
process.env - Спостерігайте за комунікацією між внутрішніми службами
Наприклад, шкідливий перехоплювач може витягувати заголовки автентифікації та непомітно пересилати їх до зовнішньої кінцевої точки.
Водночас, доступ до змінних середовища дозволяє зловмисникам отримувати облікові дані без зміни логіки програми.
Ззовні все продовжує працювати належним чином. Запити успішно виконуються, служби відповідають нормально, і pipelineне виявляють ознак збою. Водночас, конфіденційні дані вже можуть бути розкриті через фонові шляхи виконання.
Хід атаки Axios: від компрометованого пакету до секретного викриття
1. Компроміс
Зловмисник отримує контроль над довіреним обліковим записом супроводжуючого або шляхом випуску пакета в екосистемі axios.
2. Розподіл
Шкідливі версії публікуються в npm та переносяться на машини розробників. CI/CD pipelines, а програми збираються за допомогою звичайних оновлень залежностей.
3. Виконання під час виконання
Корисне навантаження виконується під час імпорту та використання axios, успадковуючи ті ж самі привілеї виконання, що й застосунок.
4. Секретний доступ
Скомпрометована залежність отримує доступ до заголовків, токенів, змінних середовища та внутрішнього HTTP-зв'язку.
5. Ексфільтрація
Конфіденційні дані непомітно надсилаються до контрольованої зловмисником інфраструктури, тоді як початкові запити продовжують працювати у звичайному режимі.
Показники компромісу (IoC)
Щоб дослідити потенційний ризик, команди повинні почати з перегляду відомих індикаторів, пов'язаних зі зломом Axios. У таблиці нижче підсумовано найважливіші сигнали для пакетів, мережевої активності та артефактів хоста.
Як інтерпретувати ці IoC
Хоча ці показники корисні, їх не слід розглядати як повноцінну стратегію виявлення.
На практиці такі атаки рідко покладаються на один статичний сигнал. Домени змінюються, корисні навантаження розвиваються, а хеші швидко застарівають. Що залишається незмінним, так це поведінка.
Наприклад, неочікувані вихідні запити під час звичайного виконання HTTP можуть свідчити про витік даних. Аналогічно, використання дійсних облікових даних у незвичайних контекстах часто сигналізує про те, що секрети вже розкрито.
На рівні хоста наявність тимчасових скриптів або бінарних файлів може свідчити про активність після експлуатації, особливо в поєднанні з мережевими аномаліями.
Іншими словами, IoC допомагають вам підтвердити інцидент.
Однак, розуміння поведінки дозволяє виявити її на ранній стадії.
| Категорія | індикатор | Деталі |
|---|---|---|
| пакет | axios@1.14.1 | шасум: 2553649f2322049666871cea80a5d0d6adc700ca |
| пакет | axios@0.30.4 | шасум: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71 |
| Залежність | plain-crypto-js@4.2.1 | шасум: 07d889e2dadce6f3910dcbc253317d28ca61c766 |
| Мережа | sfrclak[.]com | Командно-контрольна область |
| Мережа | 142.11.206[.]73 | IP-адреса пов'язаної інфраструктури |
| Мережа | http://sfrclak[.]com:8000/6202033 | Спостережувана кінцева точка ексфільтрації |
| MacOS | /Library/Caches/com.apple.act.mond | SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a |
| Windows | %PROGRAMDATA%\wt.exe | Потенційний артефакт персистенції |
| Windows | %TEMP%\6202033.vbs | Артефакт виконання на основі скриптів |
| Windows | %TEMP%\6202033.ps1 | Корисне навантаження PowerShell. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101 |
| Linux | /tmp/ld.py | SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf |
Примітка до розслідування: Ці показники взаємодії є корисною відправною точкою для пошуку загроз. Однак зловмисники можуть швидко змінювати домени, корисні навантаження та артефакти. З цієї причини команди повинні співвідносити ці показники з поведінковими сигналами, такими як неочікуваний вихідний HTTP-трафік, аномальний доступ до process.env, та незвичайні оновлення залежностей.
Приклад: Як скомпрометована залежність Axios npm може викрасти дані
Щоб зрозуміти, як ця npm-атака Axios працює на практиці, розглянемо спрощений приклад.
Axios дозволяє розробникам визначати перехоплювачі запитів. Ці перехоплювачі виконуються автоматично перед кожним HTTP-запитом.
Шкідлива версія axios може зловживати цим механізмом:
Чому npm-атака на Axios є небезпечною
На перший погляд, нічого не сталося. Запит виконано успішно, програма поводиться належним чином, і pipelineпродовжують проходити без помилок.
Однак критична деталь відбувається до надсилання запиту. Протягом цього вікна виконання скомпрометована залежність може непомітно отримувати доступ до конфіденційних даних, таких як заголовки авторизації, токени API, метадані запиту та змінні середовища, та збирати їх.
Оскільки ця логіка працює всередині довіреної бібліотеки, яка знаходиться безпосередньо в шляху HTTP-запиту, вона фактично працює з тими ж привілеями, що й сама програма. Як результат, вона може отримувати доступ до даних, які зазвичай захищені від зовнішніх зловмисників.
Особливо небезпечним це робить не лише доступ до даних, а й відсутність видимого впливу. Немає жодних перебоїв у функціональності, жодних невдалих запитів і жодних негайних сигналів про те, що щось не так. З операційної точки зору, все продовжує працювати належним чином.
Тим часом, конфіденційна інформація може вже залишати систему через вихідні з’єднання, які зливаються зі звичайним трафіком програм.
Чому це, перш за все, проблема DevOps
Для DevOps-команд цей тип атаки особливо важко виявити, оскільки він бездоганно інтегрується в існуючі робочі процеси.
Залежності встановлюються автоматично, pipelineвиконуються нормально, і жодних негайних збоїв не виникає.
В той самий час, CI/CD середовища часто викривають цінні облікові дані, зокрема:
- Токени постачальника хмарних послуг
- Ключі розгортання
- CI/CD секрети автентифікації
Скомпрометована залежність, що працює в цьому контексті, може отримати доступ до цих облікових даних безпосередньо.
Це створює ситуацію, коли все виглядає нормально, тоді як доступ до конфіденційних даних здійснюється у фоновому режимі.
Реальний ризик: Таємне викриття у великих масштабах
Компроміс Axios NPM підкреслює ключовий зсув у сучасних стратегіях атак.
Мета більше не в тому, щоб використовувати вразливості, а в тому, щоб отримати доступ до дійсних облікових даних.
Оскільки сучасні системи покладаються на автентифікацію на основі середовища, залежність, що виконується під час виконання, може отримати доступ до:
- Ключі API
- Сервісні токени
- Хмарні облікові дані
Ці облікові дані не потрібно розкривати.
Їх потрібно лише використовувати.
Це дозволяє зловмисникам переміщатися латерально, отримувати доступ до служб та витягувати дані за допомогою легітимної автентифікації.
Як наслідок, вплив залежить від того, які секрети розкрито, а не від того, як виконано атаку.
Чому традиційні засоби безпеки цього не враховують
Традиційні підходи мають труднощі з виявленням цих атак, оскільки вони зосереджені на відомих вразливостях або статичних сигнатурах. Однак, як зазначалося в Аналіз OpenAI Через компрометацію інструменту розробника Axios реальний ризик виникає під час виконання, коли довірені залежності взаємодіють із конфіденційними даними.
Однак, скомпрометована залежність може не містити жодних очевидних ознак.
Можуть бути:
- Без CVE
- Без шкідливого підпису
- Без аномального синтаксису
Водночас, статичний аналіз не оцінює поведінку під час виконання. Він не може визначити, як залежність взаємодіє з конфіденційними даними після виконання.
Це створює прогалину, коли код здається безпечним під час аналізу, але стає ризикованим під час виконання.
Як виявити та запобігти атакам типу npm в Axios
Запобігання цьому типу npm-атаки Axios вимагає переходу від статичної перевірки до усвідомлення виконання.
Командам потрібна прозорість того, як поводяться залежності, а не лише того, що вони містять.
Це включає:
- Моніторинг доступу до конфіденційних даних під час виконання
- Виявлення секретів до того, як вони потраплять до сховищ
- Сканування pipelineта артефакти для розкритих облікових даних
- Спостереження за вихідною мережевою активністю на наявність аномалій
Однак, одного лише виявлення недостатньо.
Від виявлення до профілактики: що насправді знижує ризик
Після подібного інциденту команди часто стикаються з великою кількістю потенційно розкритих облікових даних.
Завдання не в тому, щоб їх знайти. Завдання у тому, щоб визначити, які з них важливі.
Ключовим питанням стає:
Які секрети все ще актуальні та їх можна використовувати?
Без перевірки команди витрачають час на неактивні облікові дані, тоді як реальні ризики залишаються відкритими.
Ефективне реагування вимагає:
- Виявлення розкритих секретів
- Перевірка того, чи вони все ще надають доступ
- Швидке їх скасування або ротація
Це зменшує час експозиції та обмежує вікно дії зловмисника.
Як Xygeni допомагає знизити ризики в ланцюжку поставок
Ксігені вирішує цю проблему, об'єднуючи виявлення, перевірку та усунення недоліків в єдиний робочий процес.
Він постійно виявляє розкриті секрети в коді, pipelineта артефакти. Водночас він перевіряє, чи ці облікові дані все ще активні в середовищі.
Це дозволяє командам зосередитися на тому, що зловмисники насправді можуть використовувати.
Після виявлення активних секретів автоматизовані робочі процеси виправлення допомагають скоротити час розкриття шляхом скасування або контрольованої ротації.
В результаті, реакція стає швидшою, точнішоюcisе, і менш руйнівний.
Висновок
Компрометація Axios NPM відображає розвиток атак на ланцюги поставок.
Зловмисникам більше не потрібно ламати системи. Вони покладаються на довірені залежності для доступу до конфіденційних даних під час виконання.
Для команд DevOps це означає розуміння поведінки під час виконання. Для керівників з безпеки це означає швидке та ефективне зменшення ризиків.
Тому що в сучасному середовищі найбільший ризик полягає не в тому, що виконується.
Це те, до чого отримується доступ після запуску.




