Contexte et découverte

En août 2026, le compte npm twdepprobe7731 a publié le paquet tw-pkgprobe-7731. En moins de 45 minutes, onze versions (de 0.0.0 à 1.1.1) ont été mises en ligne, puis le compte a disparu. Les chercheurs de ReversingLabs ont identifié le paquet comme une tentative de se faire passer pour un “Authorized bug‑bounty research probe” du programme HackerOne de Twilio.

Mécanisme du paquet

À chaque exécution, le script commence par vérifier la présence d’un environnement Twilio (variables spécifiques, répertoires de build Twilio). Si la condition échoue, le processus se termine immédiatement, limitant la surface d’exposition aux développeurs qui n’utilisent pas les services Twilio. Lorsque la condition est remplie, le code collecte les variables d’environnement, la liste des montages, les dossiers temporaires et d’autres métadonnées du système, puis les écrit à côté du paquet avant d’appeler un webhook configuré par l’auteur.

Les versions 1.0.1 à 1.0.3 ajoutent une logique de ciblage : elles recherchent des répertoires nommés d’après des identifiants de compte Twilio (SID). Si un tel répertoire est présent, le module s’arrête ; sinon il parcourt node_modules, injecte un petit package de preuve de concept (création de package.json et index.js) et poursuit la collecte.

Capacités d’exfiltration

La version 1.0.4 introduit l’exfiltration explicite des variables process.env.ACCOUNT_SID et process.env.AUTH_TOKEN. Ces deux champs permettent à un acteur malveillant d’obtenir les identifiants d’authentification Twilio, de créer ou de modifier des ressources, voire de déclencher des facturations non autorisées. Les versions ultérieures (1.0.8, 1.1.0, 1.1.1) suppriment ces fonctions mais conservent un module d’OSINT : elles interrogent des hôtes Twilio (support‑api.us1.twilio.com, kafka‑ui.au1.twilio.com, litellm.ai‑services.corp.twilio.com) et récupèrent les métadonnées AWS via l’adresse 169.254.169.254, révélant une tentative de cartographier l’infrastructure cloud sous‑jacente.

Implications et limites

Le manque d’obfuscation, d’attaque de typosquatting ou de tentative de légitimation du compte npm indique un acteur peu sophistiqué, mais capable de comprendre les flux de travail des développeurs Twilio. La vérification d’environnement réduit le risque de détection dans des projets non‑Twilio, mais crée une porte d’entrée directe pour les équipes qui intègrent les SDK Twilio via npm. L’absence de suivi de version ou de signature de package complique la détection automatisée : les versions bénignes (0.0.0, 1.1.1) masquent les comportements malveillants précédents. Les organisations doivent surveiller les dépendances npm, appliquer des politiques de blocage des packages non‑signés et auditer les variables d’environnement exposées dans les pipelines CI/CD.