Onlangs werden meer dan 490.000 websites getroffen door een web supply chain-aanval. (Censys telde onafhankelijk 384.773 hosts die op 2024-07-02 nog steeds naar het domein verwezen.) We waren de eersten die de werkelijke omvang van de aanval rapporteerden in onze oorspronkelijke uiteenzetting. Voor het volledige verhaal van 2024–2026, zie onze complete Polyfill.io-tijdlijn en analyse.
Een paar artikelen die ons noemden zijn onder andere:
OPMERKING: Als een website vandaag de dag verwijst naar de domeinen polyfill[.]io bootcdn[.]net, bootcss[.]com, staticfile[.]net, staticfile[.]org en unionadjs[.]com, zijn ze nog steeds kwetsbaar voor deze aanval.
Wat was het Polyfill service-project?
Polyfill was oorspronkelijk een open-source project waarmee websites moderne JavaScript-functies konden gebruiken in oudere browsers zoals Internet Explorer. Dit was noodzakelijk toen de online community geleidelijk overging naar modernere browserframeworks.
Ondanks dat het grotendeels onnodig werd omdat het aantal Internet Explorer-verkeer verwaarloosbaar werd, verwijzen duizenden websites nog steeds naar dit domein.
Gemaakt in oktober 2014, ontving Polyfill regelmatig updates. In februari 2024 waarschuwde bijdrager Andrew Betts (@triblondon op X) de community toen het domein polyfill[.]io werd overgenomen door een Chinees bedrijf van de oorspronkelijke eigenaren:
Als je website
gebruikt, verwijder het ONMIDDELLIJK.
Ik heb het polyfill service-project gemaakt, maar ik heb nooit de domeinnaam bezeten en ik heb geen invloed gehad op de verkoop ervan.
— Andrew Betts (@triblondon)
Hoe Polyfill[.]io een web supply chain-aanval faciliteerde
Domeinen die worden gebruikt om populaire third-party scripts te serveren zijn een groot beveiligingsprobleem omdat ze dynamisch kunnen veranderen zonder iemand of iets te informeren. Dit omvat het serveren van totaal verschillende scripts op basis van je browser, User-Agent, geolocatie, IP of een andere vector. Ze hebben vrij spel in wat ze aan wie serveren, op welke basis.
Polyfill[.]io en Polyfill[.]com werden gekocht door een Chinees bedrijf genaamd Funnull.
Na deze verkoop en Andrew's X-post, geeft Github-bijdrager "renchap" wat extra context met betrekking tot de transactie:
"Polyfill[.i]o was eigendom van het Financial Times webteam, ging vervolgens over naar community management, en de laatste beheerder verkocht het project aan een vreemd Chinees CDN-bedrijf, en ze verhuisden het weg van Fastly (het CDN / Edge compute-platform dat de OSS-code voor de service draaide) en begonnen te rommelen met de geretourneerde bestanden."
GitHub-bijdrager "munierujp" vermeldde dat Jake Champion besloot om het eigendom van Polyfill over te dragen aan Funnull:

De link waarnaar hij verwijst is sindsdien offline gegaan. Er is ook geen Internet Archive-pagina beschikbaar.
Andrew Betts en Jake Champion, beiden voorheen van de Financial Times en oorspronkelijke eigenaren van Polyfill, werken nu bij Fastly.
Andere communityleden op deze Github-thread vermelden dat:
"Funnull berucht is voor het leveren van diensten voor de gok- en pornografie-industrie."
Dit was een voorafje van wat er daadwerkelijk gebeurde na de aanval.
Voorafgaand aan dit alles draaide Polyfill op Fastly's edge compute-platform. Omdat dit niet beschikbaar is op de Chinese cloud, merkte "renchap" op Github op dat polyfill[.]io nu een CNAME-record had naar polyfill[.]io.bsclink[.]cn.
Na de verdachte eigendomsoverdracht richtte Fastly een mirror van de Polyfill-bibliotheek op als een alternatief domein om mensen te helpen de service te blijven gebruiken, polyfill-fastly.io. Ze boden dit aan slechts enkele dagen nadat de verkoop werd gecommuniceerd.
Een dag na de Fastly-aankondiging lanceerde Cloudflare een alternatief eindpunt voor Polyfill[.]io op CDNJS om het risico van een aanval te beperken.
Dit is geen 100% perfecte oplossing. De 2021 cndnjs-kwetsbaarheden toonden de wereld dat zelfs grote gerenommeerde JavaScript CDN's kunnen lijden onder supply chain-risico. Dit laat zien dat men niet zomaar bronnen kan vertrouwen. In plaats daarvan moet continue monitoring worden gebruikt om anomalieën te detecteren. Dit is een deel van waarom cside werd opgericht.
Wat gebeurde er in de Polyfill-aanval?
Een gemanipuleerd JavaScript-bestand geïnjecteerd door het polyfill[.]io-domein leidde een percentage van de gebruikers om naar websites voor volwassenen en goksites op basis van hun User-Agent. Een Japanse X-gebruiker, "piyokango" was waarschijnlijk de eerste die deze aanval op 24 juni meldde.
Op 25 juni was "Huli" in staat om deze aanval te reproduceren en deze in het Engels te rapporteren. Hij kwam een GitHub-post van de dag ervoor tegen, waar een gebruiker genaamd "alitonium" uitlegt hoe hij het ontdekte.
Na het voldoen aan bepaalde voorwaarden, onthult het gewijzigde JavaScript-bestand zichzelf. Na decodering toont het een nep Google Analytics-link googie-anaiytics[.]com/gtags.js. Merk op hoe dit domein een typosquatting-domein is: de letter i wordt gebruikt in plaats van een l, in zowel "googie" als "anaiytics." Beveiligingsbedrijf Sansec publiceerde een volledige forensische ontleding van de payload. (De gerelateerde CVE-2024-38526 werd toegewezen aan pdoc, de Python-documentatietool die polyfill.io laadde, niet aan het incident als geheel.)
Dit typosquatted domein leidt gebruikers om naar verschillende sportwedden- en websites voor volwassenen, schijnbaar op basis van hun regio. Dit is een van de websites waarnaar we werden omgeleid:

Hoewel deze web supply chain-aanval op dit moment alleen gebruikers omleidde, had er een veelvoud aan dingen kunnen gebeuren. Van watering hole-aanvallen tot het vastleggen van creditcardgegevens. Een watering hole-aanval is een type waarbij hackers zich richten op een website die een specifieke groep mensen vaak bezoekt. Ze infecteren de site met malware zodat wanneer de leden van de groep de site bezoeken, hun computers geïnfecteerd raken.
Omdat de meeste gangbare beveiligingsmaatregelen uitsluitend vertrouwen op het controleren van bronnen, gebeuren aanvallen zoals deze nog steeds vandaag de dag. Zoals dit specifieke voorbeeld aantoonde, vermeldden threat feed-leveranciers het polyfill[.]io-domein pas dagen na de meldingen als kwaadaardig. Dit is werken vanuit een ervaring eerst, reageer later-benadering die fundamenteel toestaat dat aanvallen zoals deze blijven gebeuren.

cside werd specifiek opgericht om de afhankelijkheid van thread feeds uit te dagen, aangezien het tempo van nieuwe creatieve aanvalsmethoden hoger is dan de snelheid waarmee threat feeds ze verwerken. Dit werd onlangs duidelijk met de National Vulnerability Database (NVD)-crisis, waar meer dan 10.000 bekende aanvallen in een achterstand wachtten om te worden beoordeeld en verwerkt in Common Vulnerabilities and Exposures (CVE's).
In het voorbeeld van Polyfill was onze engine in staat om de geïnjecteerde polyfills te detecteren en te stoppen. Het beschermde de gebruiker en waarschuwde de website-eigenaar voor de kwaadaardige code.
Toen "Huli" van de genoemde blog hierboven over de gedragsverandering postte, begonnen we ons eigen rapport te schrijven, dat kort daarna live ging. We rapporteerden eerst dat ongeveer 110.000 websites waren getroffen. We corrigeerden dit later naar de huidige schatting, die meer dan 490.000 websites bedraagt.
Waarbij prominente merken werden onthuld zoals de Disney-eigendom streamingdienst Hulu, The Guardian, Intuit, en vele anderen.
We merkten op dat de Polyfill[.]io-website tussen 7 en 8 maart een 'Cloudflare Security Protection'-header aan hun homepage toevoegde. Het viel ons, en anderen in de community, destijds als vreemd op. Een dag na ons rapport bevestigde Cloudflare dat ze het gebruik ervan niet hadden geautoriseerd.

We observeerden ook dat de kwaadaardige omleiding slechts één keer per IP plaatsvond. Dit was waarschijnlijk ontworpen om detectie zo lang mogelijk te omzeilen.
De nasleep
Het domein Polyfill[.]io werd gekocht via Namecheap. Tijdens de commotie sloot Namecheap het domein af zoals gerapporteerd door MalwareHunterTeam op X:
Zeer belangrijke/grote update: in het afgelopen uur heeft
eindelijk besloten om het polyfill[.]io-domein neer te halen.
Geen 👏 voor hen, helemaal niet, omdat het hen veel te veel tijd kostte dan het zou moeten, maar waarschijnlijk toch een beetje dank voor het laat doen dan het nooit doen...
🤷♂️
— MalwareHunterTeam (@malwrhunterteam)
De site ging vervolgens weer online op Polyfill[.]com, maar is sindsdien ook afgesloten.
Google reageerde ook. Ze stopten met het serveren van advertenties aan websites met de scripts erop en zetten druk op site-eigenaren door hun advertentie-inkomsten weg te nemen om de scripts te verwijderen. Google stuurde ook waarschuwingen uit waarin een paar andere domeinen werden genoemd, zoals opgemerkt door Michal Špaček op X:
Google stuurt nu een waarschuwing over het laden van 3rd party JS van domeinen zoals polyfill.io bootcss.com bootcdn.net & staticfile.org die nare dingen kunnen doen met je gebruikers als je site JS van deze domeinen gebruikt.
— Michal Špaček (@spazef0rze)
Wat ons terugbrengt bij MalwareHunterTeam die wat meer onderzoek deed. Ze vermeldden dat al deze domeinen worden beheerd door dezelfde groep. Dit werd bevestigd toen een Cloudflare API-token en ZoneID op GitHub werden gelekt.
Deze domeinen omvatten Polyfill[.]io maar ook bootcdn[.]net, bootcss[.]com, polyfill[.]io, staticfile[.]net, staticfile[.]org en unionadjs[.]com.
Bovendien vonden ze bewijs van kwaadaardige code die via deze domeinen werd geserveerd. Dit trof honderdduizenden websites.
Belangrijke update over de polyfill[.]io supply chain-type aanvalssituatie.
Dus, toen Google begon met waarschuwingen dat advertenties voor pagina's/sites die polyfill[.]io gebruiken kunnen worden opgeschort, noemden ze 3 meer domeinen:
bootcss[.]com
bootcdn[.]net
staticfile[.]org
Maar op de een of andere manier iedereen…
— MalwareHunterTeam (@malwrhunterteam)
Deze domeinen werden ook niet als kwaadaardig vermeld door threat feed-leveranciers. Hoewel sommige van deze domeinen sinds juni 2023 supply chain-aanvallen serveren. Dat is meer dan een jaar aan ongedetecteerde aanvallen.
Dus, ik verwachtte dat de supply chain-type aanvallen die deze services/domeinen gebruiken al sinds ergens vorig jaar gaande zijn, maar nu pas bevestigd dankzij
(
) dat het teruggaat tot ten minste afgelopen juni, dus iets meer dan 1 jaar…
— MalwareHunterTeam (@malwrhunterteam)
cside bestond destijds nog niet om die te detecteren.
In een poging om het gezicht te redden, begon een X-account met de naam Polyfill Cloudflare, de media en anderen te beschuldigen van laster. Het account werd aangemaakt in februari 2024, waarschijnlijk rond de tijd dat de domeinverkoop plaatsvond.
Iemand heeft ons kwaadwillig belasterd. We hebben geen supply chain-risico's omdat alle inhoud statisch wordt gecached. Elke betrokkenheid van derden zou potentiële risico's voor uw website kunnen introduceren,
maar niemand zou dit doen omdat het onze eigen reputatie in gevaar zou brengen.
We hebben al…— Polyfill (@Polyfill_Global)
Op 30 juni probeerde de kwaadwillende actor hun site weer live te zetten op polyfill[.]site. Het is sindsdien offline gehaald.
Op 1 juli kwamen ze naar buiten en zetten hun product weer op. Deze keer onder polyfillcache[.]com. We verwachten dat dit binnenkort ook weer wordt verwijderd.
De lessen
Deze aanval onderstreept het uitgebreide risico van third-party scripts. Eenmaal ingebed op duizenden websites, worden ze primaire doelwitten voor kwaadwillende actoren. Met een paar regels code zijn deze websites en miljoenen bezoekers in gevaar. Dit is een gevoelig gebied van de web supply chain, maar tools om het aanvalsoppervlak te monitoren lopen achter en worden schaars gebruikt.
cside werd gemaakt om dit te voorkomen. Ons script, dat als eerste laadt, dwingt alle anderen door onze proxy. Daar controleren we de volledige code op alles wat kwaadaardig is op basis van meer dan 60 parameters. Als onze detectie-engine besluit dat het niet veilig is, wordt het script geblokkeerd van laden. We optimaliseren deze scripts ook om eventuele latentie veroorzaakt door de proxy tegen te gaan, waardoor ze in veel gevallen sneller worden in plaats van langzamer.
Redactionele noot (2026): Deze paragraaf beschrijft de oorspronkelijke architectuur van cside uit 2024. cside voert nu volledige client-side scriptmonitoring uit — een enkel first-party JavaScript-snippet dat observeert wat third-party scripts daadwerkelijk doen in de browsers van echte bezoekers, inclusief de voorwaardelijke, geo- en tijdgebonden payloads (zoals deze) die schone code tonen aan scanners en crawlers. De script-delivery proxy die hierboven wordt beschreven, werd begin 2026 uitgefaseerd.
De Polyfill-aanval dient als een herinnering: beveiligingsmaatregelen die de volledige code niet controleren voordat ze deze aan gebruikers serveren, zullen falen in het detecteren van nieuwe aanvallen en vertrouwen op detecties via de community, waardoor websites en bezoekers in gevaar worden gebracht.
Hier koos de kwaadwillende actor ervoor om gebruikers alleen om te leiden naar websites voor volwassenen en goksites, maar er had veel erger kunnen gebeuren. Afluisteren van toetsaanslagen in een klein percentage van sessies op basis van geolocatie en tijd van de dag, malware injecteren, cryptocurrency minen of knoppen op sites herschrijven om om te leiden naar namaak betalingsportalen. Van slechts een eenvoudige omleiding tot het vastleggen van creditcardgegevens, client-side JavaScript-aanvallen kunnen het allemaal. De Polyfill-aanval had veel meer negatieve impact kunnen hebben, op een bepaalde manier hadden we geluk. Laat dit de herinnering zijn, we moeten onze client-side scripts monitoren. We gaan dieper in op waarom dit meer was dan alleen een omleidingsaanval, en in 2025 was de cirkel rond toen OFAC Funnull sanctioneerde, het bedrijf achter het domein.
Je kunt je site in seconden beveiligen met cside. Onze gratis tier beschermt je site tegen deze en vergelijkbare aanvallen.






