Der Vorfall wurde zuerst öffentlich von dem unabhängigen Sicherheitsforscher Kevin Beaumont gemacht. Er schrieb, dass die kompromittierte Datei Wallet-Adressen fortlaufend ersetzte: „Selbst wenn man bemerkt, dass die Adresse falsch ist, und die Wallet erneut kopiert, wird sie weiter ersetzt.“ Beaumont zufolge lieferten die Datei sowie die zugehörigen URLs, Domains und IP-Adressen zum Zeitpunkt seiner Prüfung keine Treffer bei VirusTotal. Max Maass veröffentlichte am 27. Juli eine gesicherte Kopie des Skripts.

Nach den vorliegenden Analysen enthielt die abgefangene Datei zwei schädliche Blöcke, die an die legitime Bibliothek angehängt wurden. Die Ersetzungszeichenfolgen waren mit einem sechs Byte langen XOR-Schlüssel verschleiert. Der erste Block überwachte das Kopierereignis, versuchte alle vier Sekunden auf die Zwischenablage zuzugreifen und passende Adressen zu ersetzen. Außerdem versuchte er beim Laden der Seite eine HTTP-Anfrage an 84.32.102[.]230:7744 abzusetzen, die den Hostnamen und den Pfad der gerade besuchten Seite enthielt.

Der zweite Block durchlief die Textknoten des Dokuments, änderte Werte in Eingabe-, Textarea- und inhaltsbearbeitbaren Elementen und stellte nach einer Umschreibung die Cursor-Position wieder her. Zusätzlich klinkte sich der Code in das Setzen von Werten bei Eingabe- und Textarea-Elementen ein, sodass auch programmatisch gesetzte Inhalte während des Schreibvorgangs ersetzt wurden. Er fing außerdem Kopier-, Ausschneide-, Einfüge- und Eingabeereignisse ab. Beide Blöcke enthielten fest kodierte Ersetzungsmuster für Bitcoin-, Ethereum- und Tron-Adressen; Beaumont sagte, die Zieladressen hätten zu variieren geschienen.

Adform betont, keine Hinweise darauf gefunden zu haben, dass der Code die IP-Adressen von Besuchern oder Informationen über besuchte Websites übertragen habe. In der Vorfallsmeldung ergänzt das Unternehmen jedoch: „Die technische Analyse deutet darauf hin, dass eine solche Übertragung möglich gewesen sein könnte.“ Tatsächlich ist die im ersten Schadteil konstruierte Anfrage darauf ausgelegt, Hostname und Pfad einer Seite an den externen Server zu senden. Ob diese Daten den Betreiber tatsächlich erreichten, lässt sich anhand der vorliegenden Probe nicht belegen.

Offen ist weiterhin der zeitliche und operative Umfang. Adform nennt den 27. Juli als betroffenen Tag; Kevin Beaumont erklärte dagegen, er habe über die vergangene Woche hinweg bösartige Aktivitäten über Adform beobachtet. Wie viele Websites die Datei einbanden, wie viele Besucher dem manipulierten Skript ausgesetzt waren, wie die Angreifer an Adforms Auslieferungspfad gelangten und ob tatsächlich Gelder umgeleitet wurden, ist bislang nicht bekannt. Adforms öffentliche Vorfallsmeldung enthält zudem keine Kompromittierungsindikatoren.

Gerade weil „trackpoint-async.js“ als gemeinsam genutzte Ressource auf einer einzelnen Seite, in mehreren Bereichen oder laut Adform-Dokumentation auch pauschal über eine gesamte Website laufen kann, reichte die Kompromittierung dieser einen Datei aus, um nachgelagerte, voneinander unabhängige Websites zu erreichen, ohne jede davon einzeln anzugreifen. Der gemeinsame Auslieferungsweg macht den Vorfall zu einer Supply-Chain-Kompromittierung.