TL;DR: A new Magecart-style campaign hides skimmer payloads in blockchain smart contracts, uses blob URLs and MIME-type tricks to bypass Content Security Policy, and has already compromised more than 110 websites, according to Jscrambler. CSP and SRI alone are not enough when delivery and execution are both being actively obfuscated.
At a glance
What this is: This is an analysis of a new Magecart-style skimming campaign that hides payloads in blockchain smart contracts and uses browser-level evasion to avoid common web defenses.
Why it matters: It matters because payment-page integrity, third-party script trust, and browser-executed code now sit inside the control surface that IAM, PAM, and application security teams must jointly govern.
By the numbers:
- Jscrambler says over 110 websites have been compromised by this campaign to date.
- The campaign uses at least 37 different payload configurations, depending on the request origin and path.
👉 Read Jscrambler's analysis of the blockchain-backed Magecart skimmer campaign
Context
Magecart-style skimming remains a governance problem as much as a code problem. Attackers target the browser execution layer, where payment flows, third-party scripts, and client-side trust decisions can be altered after the page loads. In this case, the campaign uses blockchain smart contracts, blob URLs, and script obfuscation to make removal and detection harder, which pushes defenders beyond traditional web hardening.
The identity angle is indirect but real. When attackers subvert payment pages, they are abusing trust relationships between users, merchants, payment service providers, and the browser itself. That same trust-broker problem appears in NHI governance wherever a system depends on embedded credentials, delegated access, or third-party runtime behavior that is not continuously verified.
Key questions
Q: What breaks when CSP is not strict enough on payment pages?
A: Loose CSP settings let attackers use allowed browser behaviors, external script paths, or dynamic object URLs to hide malicious code in checkout flows. In practice, that means a page can appear compliant while still loading skimmers at runtime. Teams should test CSP against blob and data usage, unexpected WebSockets, and third-party script mutation, not just against obvious inline script violations.
Q: Why do checkout skimmers remain effective even when websites use security headers?
A: Security headers help only when they match the real runtime behavior of the page. Attackers now exploit legitimate browser features, plugin logic, and dynamic script loading, so a header can be present but still fail to stop the malicious execution path. The difference is between policy on paper and integrity at runtime.
Q: How do security teams know if browser integrity controls are working?
A: They should look for three signals: complete coverage of payment pages, low-noise integrity alerts, and a fast approval or revoke path when unexpected script changes appear. If the control cannot produce evidence quickly, it is not operating as a governance mechanism. It is only creating a report after the fact.
Q: What should teams do when payment-page tampering is detected?
A: Teams should isolate the affected page, preserve evidence, identify the modified script or header, and determine whether customer data could have been exposed during the malicious execution window. Then they should rotate any related secrets, review third-party dependencies, and validate that the monitoring gap is closed before restoring normal checkout traffic.
Technical breakdown
How the loader stage hides malicious JavaScript
The first stage is a small bootstrap loader placed on the compromised site, often after an initial foothold through weak passwords, misconfiguration, or an unpatched flaw. The campaign uses light obfuscation, fake MIME types, and blob URLs so the code is harder to spot in static analysis and less visible in browser developer tools. The important shift is that the malicious code exists briefly, then can be revoked from the DOM, which reduces forensic visibility without changing the underlying behavior.
Practical implication: block blob: and data: sources in script-src, and inspect runtime script behavior rather than only page source.
Why blockchain smart contracts change the persistence model
The second stage stores payload data in a Binance Smart Chain testnet smart contract, which gives attackers a durable, decentralised location for retrieval. Unlike a compromised server, an on-chain contract cannot be easily taken down, and the payload can be updated by sending a new transaction. The loader decodes the data, stores it locally, and reassembles it for execution, turning the blockchain into a resilient malware distribution layer rather than a payment mechanism.
Practical implication: treat any client-side dependency that can fetch executable code from outside your control as an integrity risk, not just a network dependency.
How WebSocket C2 blends into normal browser traffic
The final stage uses WebSockets to maintain bi-directional communication with attacker infrastructure, which makes the session look more like ordinary browser application traffic than a one-way beacon. That allows real-time payload changes, session-specific logic, and live theft of payment or cookie data. The campaign also mimics legitimate payment-provider references to confuse reviewers, showing that the attacker is optimizing for operator deception as much as technical stealth.
Practical implication: restrict connect-src to known domains and alert on unexpected WebSocket destinations from payment or checkout pages.
Threat narrative
Attacker objective: The attacker wants durable, hard-to-remove access to checkout traffic so cardholder data, session data, and payment details can be intercepted at scale.
- Entry begins with compromise of the merchant website, most plausibly through weak credentials, misconfiguration, or an unpatched vulnerability.
- Escalation occurs when the attacker plants a loader that hides in browser execution paths, then pulls the second-stage payload from an on-chain smart contract.
- Impact follows when the skimmer replaces or proxies payment elements, captures cardholder data and cookies, and forwards the session to attacker C2 infrastructure.
NHI Mgmt Group analysis
Browser-executed payment code is now part of the trust boundary. The campaign shows that checkout security can no longer be assessed only at the server or gateway layer. If a payment page can fetch, assemble, and execute code after load, then policy controls must extend into runtime script integrity and destination control. Practitioners should treat the browser as an enforcement point, not just a presentation layer.
Smart-contract storage creates a new persistence pattern for web skimmers. Malware hosted on-chain is harder to disrupt than malware hosted on a disposable server, which means defenders lose one of their oldest response options. That does not make blockchain the issue by itself, but it does show how attackers are borrowing decentralised infrastructure to defeat takedown-based defense models. Teams need to re-evaluate assumptions about where malicious code can live and how quickly it can be removed.
Client-side integrity has become a governance control, not a niche web security concern. CSP and SRI help, but this campaign demonstrates that they can be bypassed when attackers abuse allowed browser behaviors and legitimate plugin logic. The named concept here is checkout integrity gap: the gap between a payment page that looks compliant and a runtime that is still attacker-controlled. That gap belongs on the risk register for security, fraud, and commerce teams alike.
Third-party script trust remains one of the most exploitable assumptions in digital commerce. Attackers repeatedly hide behind familiar services, plugin behavior, and PSP references because reviewers tend to trust recognizable names. That pattern is especially relevant to identity governance, because the same blind trust appears whenever a system assumes an embedded component is benign simply because it is familiar or previously authorised. Practitioners should require continuous verification of every script that can influence a transaction.
Operational visibility must move from page-load checks to behavior monitoring. Static allowlists cannot reliably catch blob-based loaders, dynamic payload swaps, or WebSocket exfiltration. The implication for the broader field is that integrity monitoring, fraud detection, and web application controls now need a shared runtime view. Security teams should expect more attacks that are durable, adaptive, and designed to evade one-time inspection.
What this signals
Checkout integrity gap: the real problem is not whether a page has security headers, but whether its runtime can still be reshaped after load. That is where payment skimmers, malicious plugins, and hidden loaders bypass policy. Teams that monitor only static source are missing the place where the attacker now operates.
Browser-level abuse will keep expanding because it exploits the same trust model that modern commerce depends on, including third-party scripts, payment redirects, and dynamic content loading. For identity and access teams, the lesson is that trust must be proven continuously, not inherited from a familiar provider or a previously approved integration. The same principle applies to delegated access and workload trust elsewhere in the stack.
The control model should shift toward continuous integrity validation, supported by guidance such as the NIST Cybersecurity Framework 2.0 and the MITRE ATT&CK Enterprise Matrix, because attackers are chaining stealth, persistence, and exfiltration across the browser itself. Where payment and identity flows intersect, operational visibility becomes a fraud and security requirement at the same time.
For practitioners
- Tighten script-source controls for checkout pages Explicitly block blob: and data: sources in script-src, and remove wildcard allowances wherever payment flows do not require them.
- Restrict WebSocket destinations on commerce paths Limit connect-src to known payment, analytics, and support domains so unexpected WebSocket sessions from checkout code are visible and reviewable.
- Monitor runtime script behavior, not just static page content Use client-side integrity monitoring to detect blob creation, object URL use, and script mutations after page load, especially on pages handling card data.
- Review third-party script and plugin trust assumptions Inventory every script and plugin that can alter checkout or payment UI, then validate whether each one still needs write access to the browser runtime.
- Test full-redirect payment flows for integrity gaps Even where a PSP redirect is used, continuously verify the merchant page and related client-side logic for hidden script injection or session redirection.
Key takeaways
- Modern web skimmers are succeeding by hiding in runtime behaviors that static page inspection and permissive CSP configurations do not reliably catch.
- On-chain payload storage and WebSocket C2 give attackers persistence, updateability, and stealth that are difficult to neutralise with takedown-centric defenses.
- Practitioners need continuous client-side integrity monitoring, tighter script destinations, and explicit control over browser-executed payment logic.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK and OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| MITRE ATT&CK | TA0005 , Defense Evasion; TA0006 , Credential Access; TA0010 , Exfiltration | The campaign uses obfuscation, credential theft, and data exfiltration tactics. |
| NIST CSF 2.0 | PR.PT-1 | Browser integrity and protective technology are central to this campaign. |
| NIST SP 800-53 Rev 5 | SI-4 | The attack requires detection of malicious runtime behavior and outbound connections. |
| CIS Controls v8 | CIS-13 , Network Monitoring and Defense | Unexpected outbound WebSocket activity is a core detection signal in this campaign. |
| OWASP Non-Human Identity Top 10 | NHI-08 | The campaign exploits trusted third-party script behavior and runtime abuse near identity-linked payment flows. |
Treat checkout pages as protected runtime assets and validate that protective controls still operate at execution time.
Key terms
- Client-Side Integrity: Client-side integrity is the assurance that browser or app code has not been altered in ways that change security behaviour. In identity verification, it protects the trustworthiness of the capture, validation, and submission path before the server makes an authentication decision.
- Blob URL: A blob URL is a temporary browser reference to in-memory data, often used for legitimate dynamic content. Attackers can abuse it to keep malicious code out of the DOM and out of easy static inspection, which makes runtime monitoring more important than source review alone.
- Content Security Policy Bypass: A failure where an allowlist or browser content policy permits data to leave through a destination that should no longer be trusted. In AI agent attacks, this matters because outbound channels can be used to exfiltrate information after the model has already been steered into unsafe behavior.
- Smart contract hosting: Smart contract hosting in this context means using blockchain contracts as a storage or retrieval layer for malicious payloads. It gives attackers decentralised persistence and complicates takedown efforts because the code is no longer hosted on a single removable server.
What's in the full report
Jscrambler's full analysis covers the operational detail this post intentionally leaves for the source:
- Specific indicators of compromise, including the smart contract and domain patterns tied to the campaign.
- Detailed examples of the loader variants and the browser behaviors used to hide malicious execution.
- Campaign-level remediation guidance for CSP, connect-src, and runtime monitoring in checkout environments.
- The researchers' timeline of discovery and the chain of infrastructure changes across the campaign.
Deepen your knowledge
The NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, secrets management, workload identity, and agentic AI identity. It helps practitioners connect identity control to broader security and risk programmes.
Published by the NHIMG editorial team on August 20, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org