Visual Studio Code Marketplace permite reutilizar nombres tras el borrado y abre la puerta a brandjacking, según ReversingLabs

CyberSecureFox 🦊

Investigadores de ReversingLabs han identificado una brecha de integridad en Visual Studio Code Marketplace que permite reutilizar el nombre de una extensión tras su eliminación definitiva (hard delete). La investigación se activó al detectar el complemento malicioso ahbanC.shiba, funcionalmente similar a los ya reportados ahban.shiba y ahban.cychelloworld en marzo de 2025. El hallazgo subraya riesgos de brandjacking, name squatting y typosquatting en el ecosistema de extensiones de VS Code.

Extensiones maliciosas en VS Code: loaders de PowerShell y cifrado de archivos

Los tres artefactos operaban como loaders, descargando una carga útil de PowerShell desde un servidor remoto. La cadena maliciosa cifraba archivos en la carpeta testShiba del escritorio de la víctima e iniciaba un proceso de extorsión solicitando pagos en tokens Shiba Inu. Aunque los patrones observados sugieren una fase temprana de desarrollo del malware, el caso evidencia un vector realista de compromiso a través de la cadena de suministro de extensiones.

Gestión de identificadores en VS Code Marketplace: el punto débil

En VS Code, cada extensión se identifica por la pareja <publisher>.<name>. La documentación exige que name sea único, en minúsculas y sin espacios. Sin embargo, el análisis de ReversingLabs revela que, tras un borrado definitivo del paquete, el name original puede ser reclamado por un publisher distinto. Esta reutilización no ocurre cuando el autor opta por una simple despublicación (unpublish), que mantiene los artefactos y, de facto, reserva el identificador.

Esta asimetría abre la puerta a brandjacking: actores oportunistas pueden reapropiarse de un nombre reconocido y publicar bajo él una extensión nueva y potencialmente maliciosa, explotando la confianza del usuario en denominaciones conocidas.

Paralelos con PyPI y buenas prácticas en registries

Casos similares se han observado en Python Package Index (PyPI), donde la eliminación podía liberar el nombre para registros posteriores si cambiaban los artefactos de distribución. No obstante, PyPI contempla excepciones y listas de reserva que bloquean nombres con historial de abuso, reduciendo el riesgo de suplantación. Según ReversingLabs, VS Code Marketplace carece de un mecanismo equivalente para impedir el reempleo de identificadores vinculados a actividad maliciosa.

Impacto para organizaciones y desarrolladores: del name squatting a la instalación inadvertida

La reutilización de nombres eleva la probabilidad de name squatting y typosquatting, además de facilitar confusiones en búsquedas e instalaciones automatizadas. Un escenario plausible: el usuario detecta un nombre “familiar” en el catálogo, omite verificar el publisher o la fecha de publicación y termina instalando un paquete que solicita permisos ampliados, ejecuta comandos en terminal o descarga cargas desde la red, cumpliendo la típica cadena de ataque vía extensiones.

Recomendaciones para mitigar el riesgo en VS Code Marketplace

Para la plataforma: implementar cuarentenas de nombres tras el borrado; bloquear identificadores asociados a abuso; reforzar la verificación de publishers; mostrar avisos explícitos cuando se intente registrar un nombre previamente eliminado; y publicar un historial transparente de titularidad del nombre.

Para organizaciones: aplicar allowlists de publishers/paquetes de confianza; anclar dependencias al publisher ID y versiones concretas; usar proxys o espejos corporativos del catálogo; monitorizar instalaciones y telemetría de red de la IDE; y reforzar controles EDR/AV, especialmente sobre la ejecución de PowerShell.

Para desarrolladores y mantenedores: preferir la despublicación frente al borrado; verificar cuentas de publisher; documentar el fingerprint de la extensión (nombre, publisher, hash); y notificar rápidamente cualquier cambio de canal de distribución a su base de usuarios.

El caso de ahbanC.shiba demuestra cómo una política laxa de gestión de identificadores puede convertirse en superficie de ataque de la cadena de suministro. Reservar nombres sensibles, endurecer la verificación de publishers y profesionalizar la gobernanza del marketplace, junto con prácticas defensivas en empresas y equipos de desarrollo, reducirá el riesgo de suplantación de marcas y la propagación de extensiones maliciosas. Revise su inventario de extensiones, establezca controles de confianza y manténgase al día con los avisos de seguridad para fortalecer su postura frente a estas amenazas.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.