🔍 Contexte

Le 5 mai 2026, Panther Threat Research publie une analyse dĂ©taillĂ©e d’une campagne de supply chain attack coordonnĂ©e, identifiĂ©e fin avril 2026 sur le registre NPM. La campagne a Ă©tĂ© attribuĂ©e avec haute confiance Ă  un acteur indonĂ©sien opĂ©rant sous l’alias “frank”.

🎯 Campagne et ciblage

La campagne comprend 38 paquets NPM malveillants publiés entre le 2026-04-24 et le 2026-04-30 via quatre comptes NPM rotatifs :

Les cibles principales sont les développeurs et infrastructures CI/CD de Apple, Google/GCP, Alibaba/Aliyun, et un groupe générique multi-cibles incluant des environnements Microsoft 365/Azure.

⚙ Vecteur d’attaque

Le vecteur principal est la dependency confusion : les paquets utilisent la convention de nommage *-internal-* pour que les pipelines CI/CD rĂ©solvent les paquets publics malveillants avant les paquets privĂ©s lĂ©gitimes. L’exĂ©cution est dĂ©clenchĂ©e via des hooks postinstall sans interaction utilisateur.

🔗 Kill chain (4 Ă©tapes)

  1. Fingerprinting systĂšme : whoami, hostname, uname -a, id
  2. Harvesting de credentials ciblé par cluster (NPM tokens, AWS, GCP, Aliyun)
  3. ÉnumĂ©ration latĂ©rale des cibles
  4. Transmission C2 via webhooks (principalement webhook.site)

📩 Clusters de paquets

  • Apple (20 paquets) : impersonation d’outils internes Apple, App Store, PKI, CloudKit — exfiltration de NPM auth tokens, AWS credentials, PKI material
  • frank- toolkit* (8 paquets) : backbone d’exfiltration partagĂ©, sĂ©rie newton3 (db-poc → db-final → user-hunt → final-audit) ciblant .env, DB_*, SSH keys, dumps MySQL/Postgres
  • Google/GCP (7 paquets) : harvest de service account credentials GCP et OAuth tokens
  • Alibaba/Aliyun (3 paquets) : extraction de Aliyun RAM keys
  • GĂ©nĂ©rique (3 paquets) : ciblage opportuniste incluant Microsoft 365/Azure

đŸ•”ïž Attribution

Attribution haute confiance à un acteur indonésien :

  • Alias persistant “frank” Ă  travers tous les comptes
  • Email getkontakfrank@gmail.com (indonĂ©sien : “obtenir le contact de frank”)
  • Commentaires en langue indonĂ©sienne dans le code source (Ambil identitas sistem)
  • PrĂ©nom “Frengki” commun chez le groupe ethnique Batak de Sumatra du Nord
  • Compte GitHub FRENGKI-MIX avec conventions de nommage correspondantes
  • Endpoint webhook hardcodĂ© identique partagĂ© entre ac-sasskit-beta et apple-appstore-full-library-utility

📊 Type d’article

Publication de recherche technique produite par Panther Threat Research, visant Ă  documenter la structure de la campagne, l’attribution, la mĂ©thodologie d’exfiltration et fournir des IOCs et rĂšgles de dĂ©tection exploitables.

🧠 TTPs et IOCs dĂ©tectĂ©s

Acteurs de menace

  • frengki0707 (alias frank) (cybercriminal) —

TTP

  • T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
  • T1552 — Unsecured Credentials (Credential Access)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1036 — Masquerading (Defense Evasion)
  • T1595 — Active Scanning (Reconnaissance)
  • T1059 — Command and Scripting Interpreter (Execution)

IOC

  • Domaines : webhook.site — VT · URLhaus · ThreatFox
  • Domaines : franki.requestcatcher.com — VT · URLhaus · ThreatFox
  • Domaines : frank-apple.requestcatcher.com — VT · URLhaus · ThreatFox
  • Domaines : 3f4a9900d99117.lhr.life — VT · URLhaus · ThreatFox
  • Domaines : 4f208cd04f6300.lhr.life — VT · URLhaus · ThreatFox
  • Domaines : bea39e3b425909.lhr.life — VT · URLhaus · ThreatFox
  • URLs : https://webhook.site/8dd22929-a6df-43ba-84c1-96dfa7b2caf1 — URLhaus
  • URLs : https://webhook.site/75d705fa-d3aa-4493-b1b5-a7bdcab0eece — URLhaus
  • URLs : https://webhook.site/d9f34800-21dd-4668-8773-1f3c7ea8b1be — URLhaus
  • URLs : https://webhook.site/1324ffab-98a9-4f19-8f72-4bbaad684aaf — URLhaus
  • URLs : https://webhook.site/9a376595-d347-4110-ac32-814e6e2f0754 — URLhaus
  • URLs : https://webhook.site/bebcbad8-da0e-43e1-af8d-9d069ca3bd42 — URLhaus
  • URLs : https://webhook.site/85f78e76-dc73-4cb5-a65c-27f2c10db591 — URLhaus
  • URLs : https://webhook.site/42fb16cd-cddc-4a22-a7aa-ea6505ede8d6 — URLhaus
  • URLs : https://webhook.site/44a48e8a-8ab6-454b-b36b-a05458f90a92 — URLhaus
  • URLs : https://webhook.site/4cc39194-f2e3-4c84-98dd-47a011c95bd9 — URLhaus
  • URLs : https://webhook.site/162f1419-988b-4611-9d44-c0df27e0d579 — URLhaus
  • URLs : https://webhook.site/c14a0e2c-eb0f-41ef-ae64-d2326b9fb8e7 — URLhaus
  • URLs : https://webhook.site/3c76946e-8291-4b6d-9d98-5f033b100113 — URLhaus
  • URLs : https://webhook.site/03d518f5-f368-44cc-bb1d-c1f89e19a028 — URLhaus
  • URLs : https://webhook.site/be176743-265c-4df7-bbfc-6916d8f247c5 — URLhaus
  • URLs : https://webhook.site/9134cc4f-17d8-4cbc-b8c7-050ffd78f07b — URLhaus
  • URLs : https://webhook.site/58272486-8502-44d9-9fa2-0bbf5215e885 — URLhaus
  • URLs : https://webhook.site/2588012e-c9ab-4d1e-ba27-9abcfca70ed2 — URLhaus
  • URLs : https://webhook.site/7ea2f4ee-cd3f-4aac-9464-802af0638c66 — URLhaus
  • URLs : https://webhook.site/3982c49d-5a5f-4cf7-9e9c-596863ed56c5 — URLhaus
  • URLs : https://webhook.site/901b9cf5-8187-4012-a379-11351769881e — URLhaus
  • URLs : https://webhook.site/5eb35918-f014-45e8-a5c0-e2ac953b50df — URLhaus
  • Emails : getkontakfrank@gmail.com
  • Emails : npmtpoc@gmail.com
  • Emails : ipelapple@gmail.com
  • Emails : newtontrid@gmail.com
  • Fichiers : ac-sasskit-beta
  • Fichiers : apple-appstore-full-library-utility
  • Fichiers : apple-internal-security-audit-v99
  • Fichiers : apple-app-store-server-library-v3
  • Fichiers : apple-internal-security-library-v99
  • Fichiers : apple-security-internal-scanner-v3
  • Fichiers : apple-infra-ultimate-bypass
  • Fichiers : apple-infra-gcp-leak
  • Fichiers : apple-infra-final-escape
  • Fichiers : apple-infra-network-v2
  • Fichiers : apple-internal-pki-utils
  • Fichiers : apple-cloud-infrastructure-monitor
  • Fichiers : aliyun-internal-config
  • Fichiers : alicloud-pop-core
  • Fichiers : agents-a365-runtime
  • Fichiers : frank-at-alibaba-internal
  • Fichiers : npm-global-util
  • Fichiers : apple-app-store-server-library-poc
  • Fichiers : apple-internal-config
  • Fichiers : apple-infra-escape-audit
  • Fichiers : apple-infra-stealth-audit
  • Fichiers : gcp-internal-research-poc
  • Fichiers : frank-newton3-db-poc
  • Fichiers : frank-newton3-db-final
  • Fichiers : frank-newton3-user-hunt
  • Fichiers : frank-newton3-final-audit
  • Fichiers : internal-sys-audit-check
  • Fichiers : apple-internal-test-utility
  • Fichiers : apple-cktool-internal-api-v9
  • Fichiers : frank-apple-sync-service
  • Fichiers : frank-research-poc-apple
  • Fichiers : google-cloud-internal-core-utils
  • Fichiers : google-logging-utils-internal
  • Fichiers : google-cloud-mono-repo-helper
  • Fichiers : google-cloud-internal-build-helper
  • Fichiers : google-internal-cloud-audit-security-check
  • Fichiers : frank-bot-gogle-cloning
  • Fichiers : @frengki0707/google-cloud-clone
  • Chemins : ~/.npmrc
  • Chemins : ~/.aws/credentials
  • Chemins : ~/.kube/config
  • Chemins : ~/.git-credentials
  • Chemins : ~/.docker/config.json
  • Chemins : ~/.ssh/id_rsa
  • Chemins : ~/.ssh/known_hosts

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

  • ⬜ panther.com — source non rĂ©fĂ©rencĂ©e (0pts)
  • ✅ 25071 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 77 IOCs (IPs/domaines/CVEs) (10pts)
  • ✅ 1/6 IOC(s) confirmĂ©(s) (ThreatFox, URLhaus, VirusTotal) (8pts)
  • ✅ 6 TTPs MITRE identifiĂ©es (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifiĂ©(s) : frengki0707 (alias frank) (5pts)
  • ⬜ pas de CVE Ă  vĂ©rifier (0pts)

IOCs confirmés externellement :

  • webhook.site (domain) → ThreatFox (Unknown malware)

🔗 Source originale : https://panther.com/blog/frankly-malicious-inside-a-38-package-npm-supply-chain-campaign-targeting-tech-giants