Sicoob.Sdk: компрометація в NuGet і хвиля атак на npm-пакети

Photo of author

CyberSecureFox Editorial Team

У реєстрі NuGet виявлено шкідливий пакет Sicoob.Sdk (версії 2.0.0–2.0.4), який маскується під офіційний C#-SDK для інтеграції з Sicoob — однією з найбільших кооперативних фінансових систем Бразилії. Пакет викрадав ідентифікатори клієнтів, паролі та PFX-сертифікати, які використовуються для автентифікації в банківському API, і передавав їх на сторонній сервер. За даними дослідників Socket, пакет було завантажено близько 500 разів. Організаціям, які встановили цей пакет, необхідно негайно відкликати скомпрометовані сертифікати та провести ротацію всіх пов’язаних облікових даних.

Механізм викрадення даних

За даними дослідника Кирила Бойченка із Socket, під час створення екземпляра класу SicoobClient із зазначенням ідентифікатора клієнта, шляху до PFX-файла та пароля, пакет зчитував PFX-файл із диска, кодував його вміст у Base64 і надсилав ідентифікатор клієнта, пароль і закодовані дані сертифіката на жорстко прописаний сторонній Sentry-ендпоінт. PFX-сертифікати в цьому контексті є ключовим елементом автентифікації бізнес-систем у банківській мережі Sicoob — вони дають змогу автоматизувати банківські операції, включно з обробкою миттєвих платежів і генерацією динамічних QR-кодів Pix.

Окрім сертифікатів, пакет, як повідомляється, перехоплював відповіді API-системи Boleto — популярного в Бразилії платіжного методу — через окремий Sentry-шлях. Це потенційно розкривало деталі транзакцій: статуси платежів, суми, строки, ідентифікатори, а також дані платників і отримувачів.

Тактика маскування

Атака використовувала кілька прийомів для створення видимості легітимності. Профіль видавця на NuGet було зареєстровано під ім’ям «sicoob» і, за даними дослідників, він містив 11 додаткових пакетів із загальною кількістю завантажень близько 6 000. Пакет було пов’язано з GitHub-репозиторієм, який виглядав чистим і не містив шкідливого коду — зловмисна функціональність впроваджувалась лише в артефакт, завантажений до реєстру NuGet. Така розбіжність між вихідним кодом і поширюваним пакетом — характерна ознака цілеспрямованої атаки на ланцюг постачання.

Після відповідального розкриття інформації пакет було заблоковано в реєстрі NuGet.

Хвиля атак на екосистему npm

Інцидент із Sicoob.Sdk — частина масштабної хвилі атак на ланцюги постачання програмного забезпечення. Паралельно було зафіксовано численні кампанії в екосистемі npm:

  • 14 шкідливих npm-пакетів, задокументованих Microsoft Defender Security Research Team, імітували бібліотеки OpenSearch, ElasticSearch та DevOps-інструменти. Пакети викрадали облікові дані AWS, токени HashiCorp Vault, npm-токени й секрети CI/CD-конвеєрів через механізм preinstall-хука. Усі пакети були опубліковані 28 травня 2026 року акаунтом «vpmdhaj» ([email protected]).
  • 164 шкідливі npm-пакети у п’яти просторах імен, які надсилали змінні середовища жертв на домен oob.moika[.]tech/report.
  • 176 шкідливих npm-пакетів, що використовували техніку dependency confusion з номером версії «99.99.99» для підміни внутрішніх залежностей організацій. Пакети здійснювали розвідку хоста, викрадали облікові дані розробників і завантажували бінарний файл другого етапу.
  • Пакет forge-jsxy із функціональністю кейлогера, моніторингу буфера обміну, сканування файлів .env, ексфільтрації історії командної оболонки, віддаленого доступу до файлової системи, захоплення скриншотів і сканування криптовалютних гаманців.
  • 141 шкідливий npm-пакет, що використовував npm як безплатний хостинг для рекламного веб-проксі.

Еволюція тактик: від опечаток до «виробництва легітимності»

За оцінкою Sonatype, зловмисники вийшли за межі класичного тайпсквотингу. Термін «тайпсквотинг» уже надто вузький, щоб описати спостережувані тактики. Сучасні прийоми включають додавання префіксів і суфіксів, підміну залежностей (dependency confusion), мімікрію версій, використання цільових термінів у назвах і зміну просторів імен. Загальна стратегія — створення пакетів, які виглядають правдоподібно та органічно вбудовуються у робочі процеси розробників.

Окремо BlueVoyant пов’язує низку нещодавніх інцидентів із угрупованням TeamPCP (також відомим як Replicating Marauder / UNC6780), яке, ймовірно, отруює популярні інструменти розробників у npm, PyPI, Docker Hub і Packagist, використовуючи автоматизацію та успадковану довіру в CI/CD-конвеєрах для поширення компрометації між організаціями. Втім, ця атрибуція ґрунтується на аналізі одного вендора й потребує обережної інтерпретації.

Оцінка впливу

Компрометація PFX-сертифікатів Sicoob створює критичний ризик для постраждалих організацій. Зловмисник, який володіє чинним сертифікатом та ідентифікатором клієнта, здатен повністю імітувати банківську API-інтеграцію жертви — ініціювати платежі, генерувати платіжні QR-коди та отримувати доступ до фінансових даних. Опосередковано це зачіпає і кінцевих користувачів: витік автентифікаційних матеріалів може призвести до несанкціонованих операцій з їхніми коштами.

Масштаб загрози в екосистемі npm значно ширший: сумарно за останні тижні виявлено понад 600 шкідливих пакетів, націлених на викрадення хмарних облікових даних, секретів CI/CD і даних розробників.

Рекомендації

Для організацій, які використовували Sicoob.Sdk:

  1. Негайно видалити пакет з усіх проєктів і збірних конвеєрів.
  2. Вважати всі PFX-сертифікати, використані з цим пакетом, скомпрометованими — відкликати та перевипустити їх.
  3. Провести ротацію паролів до PFX-файлів і змінити або вимкнути відповідні ідентифікатори клієнтів.
  4. Провести аудит логів автентифікації та API-викликів Sicoob на предмет аномальної активності.
  5. Перевірити наявність інших пакетів від профілю «sicoob» у залежностях проєктів.

Для захисту від атак на ланцюг постачання загалом:

  • Упровадити верифікацію відповідності між вихідним кодом у репозиторії та поширюваним артефактом у реєстрі пакетів.
  • Використовувати інструменти аналізу залежностей (SCA), здатні виявляти аномальну поведінку пакетів — мережеві виклики, читання файлів, доступ до змінних середовища.
  • Обмежити використання preinstall/postinstall-хуків у npm-проєктах за допомогою параметра ignore-scripts.
  • Перевірити залежності проєктів на наявність пакетів зі списків IOC: @vpmdhaj/devops-tools, @vpmdhaj/elastic-helper, @vpmdhaj/opensearch-setup, @vpmdhaj/search-setup, app-config-utility, elastic-opensearch-helper, env-config-manager, opensearch-config-utility, opensearch-security-scanner, opensearch-setup, opensearch-setup-tool, search-cluster-setup, search-engine-setup, vpmdhaj-opensearch-setup, forge-jsxy.

Випадок із Sicoob.Sdk демонструє, що атаки на ланцюг постачання виходять за межі npm і активно освоюють екосистему NuGet, при цьому зловмисники інвестують у створення переконливої інфраструктури легітимності — від чистих GitHub-репозиторіїв до правдоподібних імен видавців. Організаціям, які працюють із фінансовими API, слід негайно провести інвентаризацію сторонніх залежностей і переконатися, що жоден із перелічених пакетів не присутній у їхніх збірних конвеєрах.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.