Зловмисник зламав npm-пакет з 150 тисячами завантажень на тиждень, викрадаючи токени розробників

У популярний інструмент для розробників підклали шкідливий код. Дослідники Aikido виявили одразу десять заражених версій npm-пакета @7nohe/openapi-react-query-codegen, який завантажують понад 150 000 разів на тиждень. Після встановлення він міг шукати на комп’ютері ключі та токени доступу, а потім використовувати їх, щоб поширюватися на інші проєкти.

Зловмисник заразив популярний npm-пакет із понад 150 000 завантажень на тиждень. Як шкідливе ПЗ крало токени та заражало інші проєкти?

У популярний інструмент для розробників підклали шкідливий код. Дослідники Aikido виявили одразу десять заражених версій npm-пакета @7nohe/openapi-react-query-codegen, який завантажують понад 150 000 разів на тиждень. Після встановлення він міг шукати на комп’ютері ключі та токени доступу, а потім використовувати їх, щоб поширюватися на інші проєкти.

Про це повідомляє компанія Aikido, що займається кібербезпекою. Сам розробник пакета також опублікував попередження на GitHub, де інцидент отримав критичну оцінку — 9,6 з 10.

Цей пакет — інструмент для React-розробників. Він допомагає їм автоматично створювати код для роботи з API через TanStack Query, популярну бібліотеку для React. Вона спрощує отримання даних із сервера. Наприклад, завантаження списку товарів, профілю користувача чи повідомлень через API. Вона також допомагає керувати завантаженням, кешуванням і повторним оновленням цих даних. Тож розробник може додати такий пакет до свого проєкту, а разом із ним автоматично встановиться чужий код.

Проблема виявилася в автоматизації випуску нових версій через GitHub Actions — систему, яка може самостійно виконувати різні дії з кодом, зокрема збирати та публікувати нові версії пакета.

Один із таких сценаріїв був налаштований небезпечно. Сторонній користувач міг залишити спеціальний коментар під pull request і запустити процес, який виконував код із цього pull request і мав право опублікувати нову версію пакета. Цим і скористався зловмисник. Він додав шкідливий код і через офіційну систему проєкту опублікував заражені версії пакета в npm — каталозі, звідки розробники встановлюють такі інструменти у свої проєкти. Через це вони навіть мали справжні підтвердження походження.

Заражений пакет був фактично крадієм облікових даних. Він шукав на комп’ютері розробника все, що могло дати доступ до інших сервісів і проєктів. Наприклад:

  • токени GitHub, npm, PyPI та RubyGems;
  • ключі AWS, Azure і Google Cloud;
  • SSH-ключі;
  • файли .env, де часто зберігають паролі й API-ключі;
  • доступи до Kubernetes і HashiCorp Vault;
  • конфігурації Docker та Git;
  • дані криптогаманців;
  • дані сесій Signal, Telegram, Discord і Slack;
  • файли конфігурації Claude.

До того ж, якщо шкідливе ПЗ знаходило токен, який дозволяв публікувати npm-пакети, воно шукало інші пакети цього користувача, додавало до них свій код і публікувало нові заражені версії. Так само він міг поширюватися через PyPI та RubyGems — каталоги пакетів для інших мов програмування. Із GitHub-акаунтами схема була схожою. Після отримання токенів, шкідливе ПЗ заходило в доступні користувачу репозиторії та додавало туди файли, здатні запускати шкідливий код у різних інструментах розробника.

Дослідники вже опублікували ознаки, за якими можна перевірити систему на зараження. Зокрема, в корені пакета може бути файл 3FWCvzduYZg.js, а в системній тимчасовій папці — директорії, назви яких починаються з trinnyyyy-.

Раніше dev.ua писав про схожу атаку на TanStack. Тоді зловмисники скористалися вразливістю в GitHub Actions і змогли опублікувати в npm десятки заражених версій пакетів.

Одна з найпопулярніших бібліотек JavaScript Axios виявилася зараженою трояном

Одна з найпопулярніших бібліотек JavaScript Axios виявилася зараженою трояном

Понад 29 000 завантажень: через підробний інструмент OpenAI Codex у репозиторії npm масово викрадали токени автентифікації

Понад 29 000 завантажень: через підробний інструмент OpenAI Codex у репозиторії npm масово викрадали токени автентифікації

Читайте головні IT-новини країни в нашому Telegram

Читайте головні IT-новини країни в нашому Telegram

No votes yet.
Please wait...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *