🎯 Contexte

Analyse publiĂ©e le 20 juin 2026 par SafeDep sur la dĂ©couverte d’un package npm malveillant @withgoogle/stitch-sdk (versions v0.1.1 et v0.1.2), conçu pour imiter le SDK officiel de Google Stitch AI (@google/stitch-sdk, 30 000+ tĂ©lĂ©chargements hebdomadaires).

🔍 Technique d’attaque : Scope Squatting

L’attaquant a exploitĂ© le fait que npm ne vĂ©rifie pas les marques dĂ©posĂ©es lors de l’enregistrement de scopes. Le produit Google est accessible via stitch.withgoogle.com, mais son scope npm officiel est @google. L’attaquant a enregistrĂ© le scope @withgoogle (premier arrivĂ©, premier servi) et publiĂ© un package avec le mĂȘme nom de base que le SDK lĂ©gitime, avec des numĂ©ros de version identiques (0.1.1, 0.1.2).

Cette technique dĂ©passe le simple typosquatting : le scope usurpĂ© correspond Ă  un vrai domaine Google, rendant l’impersonation trĂšs convaincante.

⚙ MĂ©canisme d’exĂ©cution

Deux chemins d’exĂ©cution indĂ©pendants :

  • Hook preinstall : exĂ©cute scripts/preinstall.js automatiquement lors de npm install, silencieusement
  • Binaire CLI : bin/cli.js enregistrĂ© comme commande stitch-sdk dans le PATH

Les deux fichiers contiennent un code JavaScript lisible, non obfusquĂ©, dĂ©libĂ©rĂ©ment pour contourner les outils de dĂ©tection basĂ©s sur l’obfuscation.

đŸ•”ïž Credential Harvester — 8 sources ciblĂ©es

  1. Claude Code (claude auth status) — premiĂšre prioritĂ©, ciblage explicite des outils IA
  2. git config (global et systĂšme via execSync)
  3. ~/.gitconfig et ~/.config/git/config (lecture directe + regex email)
  4. ~/.git-credentials (tokens HTTPS)
  5. Clés publiques SSH (~/.ssh/*.pub)
  6. GitHub CLI (gh api user --jq .email)
  7. npm config / ~/.npmrc
  8. ~/.docker/config.json

📡 Exfiltration

Chaque credential est envoyé via HTTPS GET vers https://stitch-production.org/api/v1?src=<source>&user=<credential>. La validation TLS est désactivée (rejectUnauthorized: false). Le domaine C2 a été enregistré via GoDaddy le 19 juin 2026 à 11h07 UTC, 75 minutes avant la publication du package.

En v0.1.2, un beacon de fallback est ajoutĂ© (?email-not-found=true) pour confirmer l’installation mĂȘme sans credentials rĂ©cupĂ©rĂ©s.

🎭 IngĂ©nierie sociale

Le README inclut un avertissement de sĂ©curitĂ© dĂ©crivant exactement le comportement malveillant du package, en prĂ©tendant que le hook preinstall est « dĂ©libĂ©rĂ©ment bĂ©nin ». Le texte d’aide CLI rĂ©fĂ©rence de vrais packages Google et la vraie documentation officielle, positionnant le package malveillant comme « la nouvelle version ».

📊 Impact

  • 87 tĂ©lĂ©chargements le premier jour (19 juin 2026)
  • Compte npm maximus-mcmillan créé spĂ©cifiquement pour cette opĂ©ration
  • IdentitĂ© GitHub et dĂ©pĂŽt rĂ©fĂ©rencĂ© inexistants (404)

📋 Type d’article

Analyse technique dĂ©taillĂ©e d’un malware de supply chain npm, publiĂ©e par SafeDep Ă  des fins de threat intelligence et de sensibilisation Ă  la technique de scope squatting.

🧠 TTPs et IOCs dĂ©tectĂ©s

TTP

  • T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
  • T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
  • T1555 — Credentials from Password Stores (Credential Access)
  • T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1036.001 — Masquerading: Invalid Code Signature (Defense Evasion)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)

IOC

  • IPv4 : 172.67.189.185 — AbuseIPDB · VT · ThreatFox
  • IPv4 : 104.21.65.94 — AbuseIPDB · VT · ThreatFox
  • Domaines : stitch-production.org — VT · URLhaus · ThreatFox
  • URLs : https://stitch-production.org/api/v1 — URLhaus
  • SHA256 : ba5b2a9a7fe596734fb69bdf1a35071d1a2f435a36e8c870bd4390c562d9f614 — VT · MalwareBazaar
  • SHA256 : 638b523ddd3382b622c412e37f274db1a9a6505893fa7236183f0b67a5355e94 — VT · MalwareBazaar
  • Emails : maximus-mcmillan@outlook.com
  • Fichiers : preinstall.js
  • Fichiers : cli.js
  • Chemins : scripts/preinstall.js
  • Chemins : bin/cli.js

Malware / Outils

  • @withgoogle/stitch-sdk (stealer)

🟡 Indice de vĂ©rification factuelle : 55/100 (moyenne)

  • ⬜ safedep.io — source non rĂ©fĂ©rencĂ©e (0pts)
  • ✅ 13669 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 11 IOCs dont des hashes (15pts)
  • ⬜ 0/6 IOCs confirmĂ©s externellement (0pts)
  • ✅ 7 TTPs MITRE identifiĂ©es (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommĂ© (0pts)
  • ⬜ pas de CVE Ă  vĂ©rifier (0pts)

🔗 Source originale : https://safedep.io/withgoogle-stitch-sdk-scope-squat-credential-harvester/