Skip to main content
Blog
Blog Attacks

Funnull Sanctioned: What the Polyfill[.]io Attack Exposed About Infrastructure Laundering

OFAC's Funnull sanctions show why the Polyfill attack was part of a larger infrastructure laundering and browser supply-chain risk.

May 18, 2026 • Updated Jun 15, 2026 • 7 min read
Illustrated Funnull sanctions blog banner showing infrastructure laundering and browser supply-chain risk
Table of Contents

Quick answer: OFAC sanctioned Funnull Technology Inc. on 2025-05-29, along with administrator Liu Lizhi. That action reframes the Polyfill[.]io incident: what looked like a redirect campaign against websites that still loaded an old JavaScript utility was in fact a browser supply-chain failure connected to a larger infrastructure laundering operation.

The lesson for security teams is direct: third-party scripts cannot be treated as trusted forever because they were trusted once. Ownership changes, CDN routing changes, and second-stage payloads can turn a normal browser dependency into an attack path.

TL;DR: Funnull sanctions and Polyfill laundering

  • OFAC sanctions: OFAC sanctioned Funnull Technology Inc. and administrator Liu Lizhi on 2025-05-29
  • $200M in losses: Treasury linked Funnull to more than $200 million in U.S. victim-reported losses
  • 548 CNAMEs mapped: The FBI identified 548 Funnull CNAMEs linked to more than 332,000 unique domains
  • Repo bought and altered: Treasury said Funnull bought and altered a web developer code repository in 2024 to redirect visitors
  • Runtime checks needed: The Polyfill[.]io case shows why browser-side defenses need runtime script behavior checks, not only vendor trust

Short on time? See cside's in-browser Magecart and skimmer blocking. It covers everything below in one deployment.

What changed: Funnull is now a sanctioned infrastructure provider

The U.S. Department of the Treasury sanctioned Funnull as a Philippines-based company that provided computer infrastructure for hundreds of thousands of websites involved in virtual currency investment scams. Treasury described these scams as pig butchering and said Funnull directly facilitated schemes tied to more than $200 million in U.S. victim-reported losses.

Screenshot of the Treasury press release announcing sanctions against Funnull Technology Inc.

The same action sanctioned Liu Lizhi, described by Treasury as an administrator of Funnull. Treasury said Liu was involved in operational documents and tasking that included assigning domains to cybercriminals for investment fraud, phishing scams, and online gambling sites.

The scale matters. The FBI advisory published the same day said investigators had identified 548 unique Funnull CNAMEs linked to more than 332,000 unique domains since January 2025. That is not a single bad domain. It is an infrastructure layer.

How Polyfill[.]io fits into the larger Funnull pattern

In 2024, Polyfill[.]io was already a clear browser supply-chain warning. A widely embedded JavaScript service changed hands, then served malicious redirects to a percentage of users based on runtime conditions. Security firm Sansec documented the payload. (The related CVE-2024-38526 was assigned to pdoc, the Python documentation tool that loaded polyfill.io, not to the incident as a whole.) cside covered it in The Polyfill[.]io attack explained, reported the real scale in our complete Polyfill.io timeline, and explained why it was more than just a redirect attack.

Treasury's Funnull action makes the connection sharper. Treasury said that in 2024 Funnull purchased a repository of code used by web developers and maliciously altered the code to redirect visitors of legitimate websites to scam websites and online gambling sites.

Diagram showing Funnull-owned CDNs routing JavaScript from websites through redirect servers to gambling and pig butchering sites

As of 2026-05-18, PublicWWW still listed 61,593 web pages containing "polyfill.io", even though Namecheap had taken action against the malicious domain after the 2024 supply-chain attack. That residue is the operational problem: browser dependencies can remain embedded long after a domain has been suspended, blocked, or publicly identified as unsafe.

That is the operating pattern security teams need to recognize. A script can be harmless when approved, risky when ownership changes, and malicious when the code path changes. The website owner may not change a line of code. The user's browser still executes the new payload.

cside privacy watch dashboard showing third-party script visibility

What infrastructure laundering means for security teams

Infrastructure laundering is the use of credible infrastructure to hide or legitimize malicious activity. Instead of hosting every scam site on obvious low-reputation servers, an operator can route through cloud providers, CDNs, DNS chains, and front brands that look normal from a distance.

For browser security, the most important part is not the label. It is the control gap. A site may trust a CDN URL because it worked yesterday. A vendor review may approve a domain because the vendor was legitimate at the time. A tag manager may show the same top-level script while that script loads a different second-stage resource at runtime.

That is why source-based trust fails. The browser does not execute a vendor questionnaire. It executes JavaScript.

ControlWhat it helps withWhere it falls short
Script inventoryShows which scripts are supposed to be presentMisses runtime behavior and fast vendor-side changes
Vendor reviewCaptures business ownership and approvalGoes stale after acquisitions, rebrands, and subprocessor changes
Subresource IntegrityBlocks changed static files when hashes are pinnedBreaks on dynamic scripts and does not cover runtime sub-scripts
Content Security PolicyLimits where scripts and resources can load fromRequires precise allowlists and can miss behavior inside allowed domains
Runtime behavior monitoringWatches what scripts actually load, change, and doNeeds browser-layer instrumentation and operational review

Why sanctions do not end the browser-side risk

Sanctions can disrupt a named company, freeze assets under U.S. jurisdiction, and make business with the sanctioned party legally risky for U.S. persons. They do not automatically remove every related domain, script, CDN route, or cloned front company from the internet.

The post-sanction risk is already visible in threat research. Silent Push reported that infrastructure associated with the broader Triad Nexus and Funnull ecosystem continued to evolve after the 2025 sanctions, including geographic blocking, CNAME rotation, and clean-looking front companies.

Treasury's later U.S. and U.K. action against Southeast Asian cybercriminal networks also shows the wider enforcement context. OFAC sanctioned 146 targets within the Prince Group Transnational Criminal Organization, while FinCEN finalized a rule severing Huione Group from the U.S. financial system. These are large, adaptive networks. Removing one brand does not remove the business model.

Screenshot of the Treasury press release on the U.S. and U.K. action against cybercriminal networks in Southeast Asia

What to do this week

Start with the scripts that can touch login, checkout, account creation, payment, and personal data flows.

  1. Search for polyfill[.]io, bootcdn[.]net, bootcss[.]com, staticfile[.]net, staticfile[.]org, and unionadjs[.]com in source code, tag managers, CMS templates, and legacy snippets
  2. Remove dead compatibility scripts that modern browsers no longer need
  3. Map every third-party script to an owner, purpose, page scope, and data access level
  4. Identify scripts that load additional scripts, build URLs dynamically, or execute different code by user agent, geography, referrer, or session state
  5. Use SRI only where the script is static and the provider supports stable hashes
  6. Tighten CSP on sensitive flows, then monitor violations before moving from report-only to enforcement
  7. Add runtime monitoring so script changes, redirects, data access, and unexpected network calls are visible when users load the page

Treat this as an exercise in third-party script governance, not a one-time Polyfill cleanup.

How cside helps monitor third-party script risk

cside works at the browser layer, where third-party scripts actually execute. That matters because server logs, vendor reviews, and static inventories miss important runtime behavior.

With cside, teams can see which scripts load on real pages, what those scripts call, how they change, and whether they attempt suspicious behavior such as unexpected redirects or data access. That visibility helps security and compliance teams move from "we approved this vendor once" to "we know what this code is doing now."

The Funnull sanctions are a useful forcing function. They show that client-side supply-chain risk is not theoretical, and it is not limited to obviously malicious domains. The risk sits in the gap between trusted inclusion and runtime execution.

As of 2026-05-18, sanctions designations, infrastructure indicators, and active fronts can change. Treat the named domains and CNAMEs as investigation leads, not a complete blocklist.

Further reading

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

OFAC sanctioned Funnull Technology Inc. on 2025-05-29 for providing infrastructure to websites involved in virtual currency investment scams, commonly known as pig butchering. Treasury also sanctioned Funnull administrator Liu Lizhi.

Yes. Treasury said Funnull purchased a repository of code used by web developers in 2024 and maliciously altered it to redirect visitors of legitimate websites to scam and online gambling sites. That matches the Polyfill[.]io supply-chain incident cside investigated in 2024.

Infrastructure laundering is the use of credible hosting, cloud, CDN, or DNS infrastructure to make malicious sites look legitimate and harder to remove. It can involve bulk IP acquisition, CNAME rotation, account abuse, and clean-looking front brands.

Removing Polyfill[.]io solves one exposed dependency. It does not solve the broader risk that a trusted third-party script, CDN, or vendor domain can change ownership, load new code, or redirect users after approval.

Teams should maintain a script inventory, verify script integrity where static files allow it, enforce CSP where practical, and monitor runtime script behavior in the browser. The key is to detect what scripts actually load and do for real users, not only what was approved during vendor review.

No single control is enough; the strongest posture layers a script inventory, a Content Security Policy on sensitive flows, Subresource Integrity for static files, and runtime script-behavior monitoring in the browser. The first three catch known files and approved sources, but the Polyfill[.]io case turned on code that changed after approval, so runtime monitoring of what scripts actually load and do for real users is what closes the gap.

No. A Content Security Policy limits which domains can serve scripts, but it cannot see what an already-allowed domain does after a change of ownership. In the Polyfill[.]io case the domain was trusted, so a policy allowing it would still have permitted the malicious payload. CSP is worth enforcing on login and checkout flows, but pair it with runtime monitoring that inspects behavior inside allowed domains, not just their names.

Choose a tool that observes scripts where they execute, in the real browser session, rather than one that only inventories approved vendors. Ask whether it hashes and compares the actual script payload each session, flags redirects and new network calls, works without a DNS change or routing your traffic, and covers dynamically loaded sub-scripts. The Funnull pattern shows that source-based trust goes stale, so runtime evidence of current behavior should decide the pick.

No. Subresource Integrity blocks a static file whose hash no longer matches a pinned value, which is useful for libraries served from a stable URL. But Polyfill[.]io served dynamic, per-request JavaScript, so there was no stable hash to pin, and SRI does not cover sub-scripts a file loads at runtime. Use SRI where files are static, and add runtime behavior monitoring for the dynamic scripts it cannot protect.

cside works at the browser layer, where third-party scripts actually run, and hashes the real payload each session so a changed script is visible even when the vendor URL stays the same. It also fetches and analyses third-party scripts on its side and watches for redirects, new network calls, and unexpected data access as real users load the page. That runtime evidence is exactly what a vendor questionnaire or a static inventory misses.

Yes. Because cside monitors script behavior in the live session rather than trusting a CDN by reputation, it can flag a redirect or second-stage payload that a previously approved CDN begins serving. In the Polyfill[.]io pattern the top-level script looked unchanged while it loaded different code at runtime. cside surfaces that shift by comparing what actually loads and executes for real users against what was approved during vendor review.

cside deploys as one first-party JavaScript script, with no DNS change and without routing or proxying your site traffic; an agentless Scan Method is also available. Once live it reports which scripts load on real pages, what they call, how they change, and whether they attempt suspicious behavior. Start with the flows that touch login, checkout, and payment, then widen coverage. You can begin on a free plan or talk to the team about broader monitoring.

Monitor and Secure Your Third-Party Scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start free, or try Business with a 14-day trial.

cside dashboard interface showing script monitoring and security analytics
Related Articles
Book a demo

Want to walk through this with an engineer?

Thirty minutes, on your own site. Not a slide deck.

Book a personalized demo to see:

How to achieve PCI DSS requirement 6.4.3 & 11.6.1 compliance in 1 day
Why third-party scripts are a security risk for you and your visitors
Monitoring privacy and consent leakage (GDPR, CCPA) across every third party
Stopping signup abuse, account sharing, and chargeback fraud with device intelligence
Detecting and controlling AI agents and bots hitting your site in real time

Rather just send a question?

Finding open slots…

Real humans only. We'd know.

Having trouble booking? Open scheduler in a new tab

What are you trying to solve?

Tell us in a line and we'll come back with something useful, not a generic pitch.

We usually help with:

Seeing which third-party scripts run on your site
PCI DSS 6.4.3 and 11.6.1 evidence
Bots, AI agents and account takeover

Prefer to just book a time? Pick a slot instead