En el registro NuGet se ha detectado un paquete malicioso Sicoob.Sdk (versiones 2.0.0–2.0.4), que se hace pasar por el SDK oficial en C# para integrarse con Sicoob, uno de los mayores sistemas financieros cooperativos de Brasil. El paquete robaba identificadores de cliente, contraseñas y certificados PFX utilizados para la autenticación en el API bancario, y los enviaba a un servidor de terceros. Según los investigadores de Socket, el paquete se descargó unas 500 veces. Las organizaciones que hayan instalado este paquete deben revocar de inmediato los certificados comprometidos y rotar todas las credenciales relacionadas.
Mecanismo de robo de datos
Según el investigador Kirill Boychenko, de Socket, al crear una instancia de la clase SicoobClient indicando el identificador de cliente, la ruta al archivo PFX y la contraseña, el paquete leía el archivo PFX del disco, codificaba su contenido en Base64 y enviaba el identificador de cliente, la contraseña y los datos del certificado codificados a un endpoint Sentry de terceros codificado de forma estática. En este contexto, los certificados PFX son un elemento clave de autenticación de los sistemas empresariales en la red bancaria de Sicoob: permiten automatizar operaciones bancarias, incluida la gestión de pagos instantáneos y la generación de códigos QR dinámicos Pix.
Además de los certificados, según se informa, el paquete interceptaba las respuestas del sistema de API Boleto —un método de pago muy popular en Brasil— a través de una ruta Sentry separada. Esto podía exponer potencialmente detalles de las transacciones: estados de pago, importes, plazos, identificadores, así como datos de pagadores y beneficiarios.
Tácticas de camuflaje
El ataque empleaba varias técnicas para crear una apariencia de legitimidad. El perfil del editor en NuGet se registró con el nombre «sicoob» y, según los investigadores, contenía 11 paquetes adicionales con un número total de descargas de alrededor de 6 000. El paquete estaba vinculado a un repositorio de GitHub que parecía limpio y no contenía código malicioso: la funcionalidad maliciosa solo se inyectaba en el artefacto cargado en el registro NuGet. Esta discrepancia entre el código fuente y el paquete distribuido es un rasgo característico de un ataque dirigido a la cadena de suministro.
Tras una divulgación responsable, el paquete fue bloqueado en el registro NuGet.
Ola de ataques contra el ecosistema npm
El incidente con Sicoob.Sdk forma parte de una amplia ola de ataques contra las cadenas de suministro de software. Paralelamente se han observado múltiples campañas en el ecosistema npm:
- 14 paquetes npm maliciosos, documentados por el Microsoft Defender Security Research Team, imitaban bibliotecas de OpenSearch, ElasticSearch y herramientas DevOps. Los paquetes robaban credenciales de AWS, tokens de HashiCorp Vault, tokens de npm y secretos de pipelines CI/CD mediante un hook
preinstall. Todos los paquetes se publicaron el 28 de mayo de 2026 desde la cuenta «vpmdhaj» ([email protected]). - 164 paquetes npm maliciosos en cinco espacios de nombres, que enviaban las variables de entorno de las víctimas al dominio
oob.moika[.]tech/report. - 176 paquetes npm maliciosos, que utilizaban la técnica de dependency confusion con el número de versión «99.99.99» para suplantar dependencias internas de organizaciones. Los paquetes realizaban reconocimiento del host, robaban credenciales de desarrolladores y descargaban un binario de segunda fase.
- El paquete forge-jsxy con funcionalidad de keylogger, monitorización del portapapeles, escaneo de archivos .env, exfiltración del historial de la shell, acceso remoto al sistema de archivos, captura de pantallas y escaneo de monederos de criptomonedas.
- 141 paquetes npm maliciosos, que utilizaban npm como alojamiento gratuito para un proxy web publicitario.
Evolución de las tácticas: de los errores tipográficos a la «fabricación de legitimidad»
Según la evaluación de Sonatype, los atacantes han ido más allá del typosquatting clásico. El término «typosquatting» ya resulta demasiado estrecho para describir las tácticas observadas. Las técnicas actuales incluyen añadir prefijos y sufijos, suplantación de dependencias (dependency confusion), mimetismo de versiones, uso de términos objetivo en los nombres y cambio de espacios de nombres. La estrategia general consiste en crear paquetes que resulten verosímiles y se integren de forma natural en los flujos de trabajo de los desarrolladores.
Por su parte, BlueVoyant vincula una serie de incidentes recientes con el grupo TeamPCP (también conocido como Replicating Marauder / UNC6780), que supuestamente envenena herramientas de desarrollo populares en npm, PyPI, Docker Hub y Packagist, utilizando la automatización y la confianza heredada en los pipelines CI/CD para propagar la intrusión entre organizaciones. No obstante, esta atribución se basa en el análisis de un único proveedor y debe interpretarse con cautela.
Evaluación del impacto
La compromisión de los certificados PFX de Sicoob crea un riesgo crítico para las organizaciones afectadas. Un atacante que disponga de un certificado válido y del identificador de cliente puede imitar por completo la integración del API bancario de la víctima: iniciar pagos, generar códigos QR de pago y acceder a datos financieros. Indirectamente, esto también afecta a los usuarios finales: la filtración de materiales de autenticación puede desembocar en operaciones no autorizadas con sus fondos.
La magnitud de la amenaza en el ecosistema npm es mucho mayor: en las últimas semanas se han detectado en conjunto más de 600 paquetes maliciosos dirigidos al robo de credenciales en la nube, secretos de CI/CD y datos de desarrolladores.
Recomendaciones
Para las organizaciones que hayan utilizado Sicoob.Sdk:
- Eliminar de inmediato el paquete de todos los proyectos y pipelines de compilación.
- Considerar comprometidos todos los certificados PFX utilizados con este paquete: revocarlos y volver a emitirlos.
- Rotar las contraseñas de los archivos PFX y cambiar o desactivar los identificadores de cliente afectados.
- Auditar los registros de autenticación y las llamadas al API de Sicoob en busca de actividad anómala.
- Comprobar si existen otros paquetes del perfil «sicoob» entre las dependencias de los proyectos.
Para protegerse en general frente a los ataques a la cadena de suministro:
- Implantar la verificación de correspondencia entre el código fuente en el repositorio y el artefacto distribuido en el registro de paquetes.
- Utilizar herramientas de análisis de dependencias (SCA) capaces de detectar comportamientos anómalos de los paquetes, como llamadas de red, lectura de archivos o acceso a variables de entorno.
- Restringir el uso de hooks
preinstall/postinstallen proyectos npm mediante el parámetroignore-scripts. - Comprobar las dependencias de los proyectos en busca de paquetes incluidos en las listas de 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.
El caso de Sicoob.Sdk demuestra que los ataques a la cadena de suministro ya no se limitan a npm y están expandiéndose activamente al ecosistema NuGet, mientras los atacantes invierten en crear una infraestructura de legitimidad convincente, desde repositorios de GitHub limpios hasta nombres de editor verosímiles. Las organizaciones que trabajen con APIs financieras deben realizar de inmediato un inventario de sus dependencias de terceros y asegurarse de que ninguno de los paquetes mencionados esté presente en sus pipelines de compilación.