В реестре 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:
- Немедленно удалить пакет из всех проектов и сборочных конвейеров.
- Считать все PFX-сертификаты, использованные с этим пакетом, скомпрометированными — отозвать и перевыпустить их.
- Ротировать пароли PFX-файлов и изменить или отключить затронутые идентификаторы клиентов.
- Провести аудит логов аутентификации и API-вызовов Sicoob на предмет аномальной активности.
- Проверить наличие других пакетов от профиля «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, следует немедленно провести инвентаризацию сторонних зависимостей и убедиться, что ни один из перечисленных пакетов не присутствует в их сборочных конвейерах.