BookinglyTech News
Ciberseguridad

Un paquete npm se hace pasar por sonda de bug bounty de Twilio para robar credenciales

ReversingLabs documenta 11 versiones de tw-pkgprobe-7731 publicadas en 45 minutos que extraían variables de entorno, SIDs y tokens de cuenta desde entornos de desarrollo de Twilio.

2 min de lecturaThe Hacker News0 vistas

ReversingLabs ha documentado un paquete npm llamado tw-pkgprobe-7731 que se presentaba como una sonda de investigación autorizada dentro del programa de bug bounty de Twilio en HackerOne. En realidad, buscaba variables de entorno, configuración del sistema y credenciales de la cuenta. Se subió al registro a mediados de agosto de 2026 desde la cuenta twdepprobe7731, que ya no existe, y publicó 11 versiones en unos 45 minutos del mismo día.

Filtro por entorno

La 1.0.0 incluía comentarios donde se describía como una sonda autorizada del programa de bug bounty de Twilio, que supuestamente solo corría dentro del sandbox serverless de la compañía y se limitaba a recoger contexto local de procesos y host sin acciones destructivas. Al ejecutarse, comprobaba si estaba en un entorno de desarrollo de Twilio y salía de inmediato si no lo era. Si pasaba el filtro, extraía variables de entorno y datos del sistema —puntos de montaje, carpetas temporales, distintas configuraciones— y los enviaba al exterior mediante un webhook.

Las versiones 1.0.1, 1.0.2 y 1.0.3 apuntaban a quien trabaja con las API de Twilio: rastreaban carpetas asociadas a SID de cuenta concretos. Si no había ninguna carpeta con ese nombre, seguían adelante; si la había, no tocaban nada. Cuando encontraban coincidencia, recorrían los paquetes npm instalados y node_modules para inyectar un paquete PoC propio, creando package.json e index.js.

La 1.0.4 añadió la capacidad de exfiltrar process.env.ACCOUNT_SID y process.env.AUTH_TOKEN, es decir, las credenciales de Twilio de la víctima. Con eso, el atacante podría autorizar facturación y disparar comunicaciones a su antojo.

Vuelta atrás y dudas sobre el objetivo

Las tres últimas versiones (1.0.8, 1.1.0 y 1.1.1) revirtieron al comportamiento básico de la 1.0.0 y dejaron caer la funcionalidad maliciosa que habían ido acumulando las intermedias. Las dos finales, además, hacían reconocimiento contra hosts de Twilio como support-api.us1.twilio[.]com, kafka-ui.au1.twilio[.]com y litellm.ai-services.corp.twilio[.]com, y llegaban a consultar los metadatos de AWS en 169.254.169.254/latest/meta-data/.

Ese giro deja el objetivo final sin aclarar. Lo que sí sostiene la investigadora Lucija Valentić en el informe de ReversingLabs es que las versiones no respetaban las reglas del programa de bug bounty que Twilio tiene publicadas en HackerOne, lo que apunta a intención maliciosa. También llama la atención lo poco que se esforzó el autor: sin ofuscación, sin typosquatting y sin intentar que la cuenta pareciera legítima, tácticas habituales en campañas anteriores. Para Valentić, eso indica un actor poco sofisticado.

La campaña no destaca por su técnica, sino por lo barato del vector: un paquete que se cuela en el árbol de dependencias y solo actúa si detecta que estás desarrollando contra Twilio. Quien tenga ese paquete en un package.json o en node_modules debería revisar las 11 versiones publicadas y, si aparece alguna, dar por comprometidos los SID y tokens que hubiera en el entorno y rotarlos. La cuenta que lo publicó ya no está, pero eso no borra lo que se ejecutó en las máquinas donde llegó a instalarse.