Un script de la Adform, compromis ca să fure criptomonede de pe site-urile care îl foloseau
de Claudiu Hulea · IT Management Consultant
Scriptul de tracking al Adform — una dintre cele mai mari firme de tehnologie publicitară din Europa — a fost compromis ca să fure criptomonede de pe site-urile care îl încărcau. Nu au fost atacate site-urile una câte una: a fost compromis un furnizor terț pe care toate îl foloseau, iar codul malițios a ajuns astfel simultan pe toate. E manualul unui atac de supply-chain client-side. Mai jos, cum a funcționat și ce înveți dacă ai scripturi terțe pe site.
Pe scurt
- Cod malițios a fost injectat în
trackpoint-async.js, scriptul de tracking al Adform servit de pes2.adform.net. - Codul monitoriza clipboard-ul și rescria adresele de portofel Bitcoin, Ethereum și TRON — copiate sau afișate în pagină — cu adrese controlate de atacator.
- Comunica cu infrastructura atacatorului la
84.32.102[.]230:7744, trimițând IP-ul victimei, site-ul de referință și calea URL. - Fără persistență: nu instala nimic, funcționa doar cât pagina era deschisă.
- Descoperit de cercetătorul Kevin Beaumont; nedetectat de antivirușii de pe VirusTotal.
- Adform a confirmat și a eliminat codul pe 27 iulie 2026; cel mai vechi eșantion e din 26 iulie.
Cum a funcționat atacul
Mecanismul e cel al unui wallet-drainer livrat prin supply-chain:
- Payload obfuscat, adăugat la biblioteca legitimă. Scriptul arăta normal; codul malițios era anexat în formă ofuscată la sfârșit.
- Schimb de adrese (address swapping). Codul rescria adresele de portofel din pagină și din clipboard. Dacă voiai să trimiți crypto către o adresă și o copiai, lipeai de fapt adresa atacatorului — o clasă de atac în care victima trimite singură banii, către altcineva.
- Trei rețele țintite: Bitcoin, Ethereum și TRON.
- Exfiltrare minimă: IP-ul victimei, referrer-ul și calea URL, trimise la
84.32.102[.]230:7744. - Fără persistență, fără instalare. Conform Adform, codul „nu era conceput să instaleze software pe dispozitivul utilizatorului sau să stabilească persistență. A funcționat doar cât o pagină afectată era deschisă.“
Detaliul care ar trebui să dea de gândit: payload-ul nu era detectat de niciun motor antivirus de pe VirusTotal. Un skimmer client-side nu „infectează“ calculatorul — rulează în browser, în pagina pe care o vizitezi, și dispare când închizi tab-ul. Antivirusul clasic nu are ce prinde.
Impact și descoperire
Toate site-urile care încărcau tehnologia Adform afectată pe 27 iulie 2026 au fost expuse. Numărul exact de site-uri compromise și sumele furate nu au fost dezvăluite. Atacul a ieșit la iveală datorită cercetătorului Kevin Beaumont, iar o captură Archive.org din 26 iulie a păstrat dovada celui mai vechi eșantion malițios.
Recomandările comunicate: dacă ai vizitat pe 27 iulie site-uri care încărcau Adform, șterge cookie-urile din browser și verifică activitatea portofelelor crypto pentru tranzacții neautorizate. Nu a fost atribuit niciun grup de atacatori cunoscut.
Ce înveți din asta
- Un script terț = suprafața ta de atac. Analytics, reclame, chat-uri, tag manager, fonturi de CDN — fiecare rulează cu drepturi depline în pagina ta. Dacă furnizorul e compromis, codul atacatorului rulează pe domeniul tău, în fața utilizatorilor tăi.
- Antivirusul nu te acoperă aici. Skimmerele client-side rulează în browser și nu ating discul. Apărarea nu e la endpoint, ci în ce încarci în pagină.
- Straturile care contează: minimizează scripturile terțe, folosește Subresource Integrity (SRI) ca un script modificat să nu se mai încarce, pune un Content-Security-Policy strict care limitează de unde poate rula cod, și self-hostează ce poți.
- Inventariază ce ai pe site. Nu poți proteja ce nu știi că încarci. Un audit periodic al scripturilor terțe și al headerelor de securitate găsește poarta înaintea atacatorului.
Recomandările noastre
Dacă rulezi un site sau o platformă care încarcă cod extern, iată de unde am începe noi:
- Audit al suprafeței client-side. Inventariem scripturile terțe pe care le încarci, verificăm dacă ai Subresource Integrity și un Content-Security-Policy care chiar limitează de unde poate rula cod, și îți arătăm ce ai putea self-hosta. Parte din auditul de securitate.
- Testare de securitate. Un test de penetrare verifică nu doar aplicația ta, ci și ce încarcă în browser-ul vizitatorului și cum e configurată livrarea — exact stratul pe care antivirusul nu-l acoperă.
- Securitate continuă. Un furnizor terț se poate compromite oricând; monitorizarea și revizuirea periodică prind schimbarea când se întâmplă, nu peste luni.
Vrei o privire de ansamblu asupra a ce încarcă site-ul tău și cât de expus ești? Scrie-ne și pornim de la un audit.
Întrebări frecvente
Ce s-a întâmplat mai exact?
Scriptul de tracking al Adform (trackpoint-async.js, servit de pe s2.adform.net) a fost modificat cu cod malițios. Orice site care încărca acel script rula, fără să știe, și codul atacatorului — care schimba adresele de portofel crypto afișate în pagină și din clipboard cu adrese controlate de atacator. E un atac de supply-chain: nu au fost sparte site-urile individual, ci un furnizor terț pe care îl foloseau toate.
Cum fura banii?
Codul monitoriza continuu clipboard-ul și rescria adresele de portofel Bitcoin, Ethereum și TRON — atât cele copiate, cât și cele afișate în pagină — cu adresele atacatorului. Dacă un utilizator copia o adresă ca să trimită crypto, lipea de fapt adresa atacatorului. Nu instala nimic pe dispozitiv și funcționa doar cât pagina afectată era deschisă.
De unde știm de el?
Cercetătorul de securitate Kevin Beaumont a descoperit și a făcut public atacul. Cel mai vechi eșantion malițios identificat e din 26 iulie 2026 (păstrat de Archive.org); Adform a confirmat activitatea suspectă și a eliminat codul pe 27 iulie. Codul nu era detectat de motoarele antivirus de pe VirusTotal.
Ce lecție pentru site-ul meu?
Fiecare script terț pe care îl încarci (analytics, reclame, chat, fonturi de CDN) rulează cu drepturi depline în pagina ta — dacă furnizorul e compromis, codul atacatorului e pe site-ul tău. Reducerea numărului de scripturi terțe, Subresource Integrity (SRI), un Content-Security-Policy strict și self-hosting-ul unde se poate sunt exact stratul care limitează acest tip de atac.