đ 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 :
- frengki0707 (getkontakfrank@gmail.com) â 11 paquets
- raya4321 (npmtpoc@gmail.com) â 12 paquets
- cketol (ipelapple@gmail.com) â 10 paquets
- frengki4321 (newtontrid@gmail.com) â 5 paquets
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)
- Fingerprinting systĂšme :
whoami,hostname,uname -a,id - Harvesting de credentials ciblé par cluster (NPM tokens, AWS, GCP, Aliyun)
- ĂnumĂ©ration latĂ©rale des cibles
- 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-betaetapple-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