Atak supply chain w reklamie online: skrypt Adform użyty do kradzieży kryptowalut - Security Bez Tabu

Atak supply chain w reklamie online: skrypt Adform użyty do kradzieży kryptowalut

Cybersecurity news

Wprowadzenie do problemu / definicja

Ataki na łańcuch dostaw w środowisku webowym należą do najpoważniejszych zagrożeń dla firm publikujących treści i usług online. W takim scenariuszu napastnik nie atakuje każdej ofiary oddzielnie, lecz kompromituje jeden wspólny komponent, który następnie trafia do wielu serwisów jednocześnie. W opisywanym przypadku wykorzystano skrypt reklamowo-trackingowy Adform do podmiany adresów portfeli kryptowalut, co mogło prowadzić do przejęcia środków użytkowników.

W skrócie

Incydent dotyczył skompromitowanego skryptu trackpoint-async.js, dostarczanego z infrastruktury Adform. Złośliwy kod monitorował schowek użytkownika, wykrywał adresy portfeli Bitcoin, Ethereum i TRON, a następnie zamieniał je na adresy kontrolowane przez atakującego. Dodatkowo możliwa była także modyfikacja adresów portfeli wyświetlanych bezpośrednio na stronach internetowych.

  • atak miał charakter supply chain
  • celem były transakcje kryptowalutowe
  • kod działał po stronie przeglądarki
  • zagrożenie obejmowało użytkowników odwiedzających legalne witryny

Kontekst / historia

Sprawa została nagłośniona przez badacza bezpieczeństwa Kevina Beaumonta, który wskazał na podejrzaną aktywność związaną ze skryptem serwowanym z infrastruktury Adform. Znaczenie incydentu wynikało ze skali działania firmy, ponieważ Adform jest rozpoznawalnym dostawcą rozwiązań adtech, obejmujących między innymi narzędzia do zarządzania kampaniami, adserwery oraz platformy zakupowe i sprzedażowe reklam.

Z dostępnych ustaleń wynika, że złośliwa aktywność mogła pozostawać niewykryta przez około tydzień. Jeden z najwcześniejszych publicznych śladów wskazywał na obecność skażonego skryptu co najmniej od 26 lipca 2026 roku, a firma potwierdziła wykrycie podejrzanej aktywności 27 lipca 2026 roku. To pokazuje, jak niebezpieczne są kompromitacje zaufanych zasobów zewnętrznych, automatycznie ładowanych przez wiele witryn.

Analiza techniczna

Atak został zrealizowany po stronie klienta, czyli bezpośrednio w przeglądarce użytkownika. Do legalnego skryptu JavaScript dołączono dodatkowy, zaciemniony payload wykonywany automatycznie po załadowaniu strony. Taka metoda utrudnia wykrycie, ponieważ z perspektywy operatora witryny skrypt nadal może wyglądać jak zwykły element pochodzący od zaufanego dostawcy.

Złośliwy komponent wykorzystywał co najmniej dwa mechanizmy. Pierwszy polegał na monitorowaniu schowka i porównywaniu jego zawartości z wzorcami odpowiadającymi adresom portfeli kryptowalut. Po wykryciu adresu Bitcoin, Ethereum lub TRON następowała jego podmiana na alternatywny adres kontrolowany przez napastnika. To klasyczny wariant tzw. clippera, czyli narzędzia służącego do przechwytywania płatności poprzez manipulację kopiowanymi danymi.

Drugi mechanizm polegał na modyfikowaniu adresów portfeli prezentowanych bezpośrednio w treści strony. Oznacza to, że użytkownik nie musiał nawet kopiować prawidłowego adresu, aby paść ofiarą manipulacji. Wystarczyło, że zaufał danym wyświetlonym w legalnie wyglądającym serwisie, podczas gdy treść była już zmieniona po stronie przeglądarki.

Zaobserwowano także komunikację części skryptów hostowanych przez Adform z zewnętrznym serwerem kontrolowanym przez atakującego. Przesyłane dane miały obejmować adres IP ofiary, witrynę odsyłającą oraz ścieżkę URL. W praktyce mogło to służyć do monitorowania skuteczności kampanii i analizy miejsc, w których złośliwy kod był uruchamiany.

Warto zwrócić uwagę, że analizowany skrypt nie był w danym momencie oznaczany jako złośliwy przez dostępne publiczne silniki skanujące. To pokazuje ograniczenia detekcji opartej wyłącznie na sygnaturach i reputacji plików, szczególnie gdy szkodliwy kod jest osadzony w legalnym, szeroko wykorzystywanym zasobie.

Konsekwencje / ryzyko

Najpoważniejszą konsekwencją incydentu była możliwość cichego przekierowania płatności kryptowalutowych do portfeli kontrolowanych przez napastnika. Użytkownik kopiujący adres mógł nie zauważyć podmiany i wysłać środki do niewłaściwego odbiorcy. Ponieważ manipulacja zachodziła wewnątrz legalnej sesji przeglądarkowej, ryzyko było szczególnie trudne do zauważenia.

Skutki należy analizować na kilku poziomach:

  • dla użytkowników końcowych oznaczało to ryzyko utraty aktywów cyfrowych,
  • dla właścicieli stron internetowych stanowiło zagrożenie reputacyjne i potencjalnie prawne,
  • dla dostawcy adtech był to poważny incydent supply chain podważający zaufanie do zewnętrznych skryptów.

Choć według komunikatu firmy kod nie był projektowany do instalowania trwałego malware ani utrzymywania persystencji w systemie ofiary, nie zmniejsza to wagi problemu. Nawet krótkotrwała manipulacja w przeglądarce może wystarczyć do skutecznej kradzieży środków.

Rekomendacje

Organizacje korzystające z zewnętrznych skryptów reklamowych, analitycznych i marketingowych powinny ograniczać poziom zaufania do komponentów ładowanych bezpośrednio z infrastruktury stron trzecich. Kluczowe znaczenie ma pełna inwentaryzacja zasobów JavaScript oraz monitorowanie wszelkich zmian w ich zawartości.

  • wdrożenie polityk Content Security Policy,
  • monitorowanie hashy i integralności zewnętrznych skryptów,
  • analiza behawioralna kodu uruchamianego w przeglądarce,
  • alertowanie na dostęp do schowka, dynamiczne zmiany DOM i połączenia do nieznanych endpointów,
  • ograniczanie liczby skryptów stron trzecich do absolutnego minimum.

Zespoły SOC i blue team powinny rozszerzyć procedury o detekcję anomalii w treści skryptów pobieranych z CDN-ów, platform reklamowych i narzędzi partnerskich. Ważne jest również przygotowanie planów reakcji na incydenty supply chain po stronie przeglądarki, obejmujących szybkie odłączenie dostawcy, ocenę zakresu ekspozycji oraz komunikację z klientami.

Użytkownicy końcowi wykonujący operacje na kryptowalutach powinni każdorazowo weryfikować pełny adres odbiorcy przed zatwierdzeniem transakcji. W razie podejrzenia odwiedzenia witryny wykorzystującej skompromitowany komponent warto wyczyścić dane przeglądarki i ponownie sprawdzić bezpieczeństwo środowiska roboczego.

Podsumowanie

Incydent z udziałem Adform pokazuje, że skrypty reklamowe i trackingowe pozostają atrakcyjnym celem dla napastników prowadzących ataki na łańcuch dostaw. Kompromitacja jednego komponentu dystrybuowanego do wielu witryn pozwala uzyskać szeroką ekspozycję i wpływać bezpośrednio na użytkowników końcowych. W tym przypadku skutkiem była manipulacja adresami portfeli kryptowalut poprzez mechanizmy typu clipper oraz modyfikację treści renderowanej w przeglądarce.

Dla branży bezpieczeństwa to kolejny sygnał, że zaufane zależności front-endowe powinny być traktowane jak pełnoprawny wektor ryzyka. Ochrona nie może kończyć się na serwerze i backendzie, ponieważ równie istotny jest stały nadzór nad kodem wykonywanym po stronie użytkownika.

Źródła

  1. Online ad firm Adform’s script compromised to steal cryptocurrency — https://www.bleepingcomputer.com/news/security/online-ad-firm-adforms-script-compromised-to-steal-cryptocurrency/
  2. Adform statement on suspicious activity — https://site.adform.com/
  3. Kevin Beaumont analysis and observations — https://doublepulsar.com/
  4. Archived sample referenced for verification — https://web.archive.org/
  5. Shared malware sample for analyst review — https://pastebin.com/