---
id: "nr-cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135"
slug: "cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135"
title: "Cloudflare Page Shield ML catches eight storefront payloads scanners missed"
observed_at: "2026-09-18T13:36:42.507001+00:00"
record_date: "2026-09-18"
date_kind: "observed_at"
novelty: "new"
source_platform: "blog.cloudflare.com"
topics: ["security","web-security","ml-detection"]
entities: ["Cloudflare","Page Shield","VirusTotal"]
related_patterns: []
source_url: "https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns"
source_urls: ["https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns"]
basket: {"id":"0325e6b8-f527-4f9b-bfa3-3f30e57f380b","revision":1,"cluster_id":"7711357b-dfb1-4eae-bf92-f89fe12453c7"}
type: "post"
description: "Cloudflare reports that its Page Shield ML flagged eight malicious JavaScript payloads on live storefronts, seven of which were absent from VirusTotal."
why_it_matters: "The post is a vendor report and does not disclose an overall false-positive rate or how many benign scripts were flagged. A useful signal will be whether Cloudflare publishes precision figures for Page Shield ML alongside its reported detections."
verification_level: "source-inspected"
signal_type: "field_note"
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135"
retrieval_nugget: "Cloudflare reports that its Page Shield ML flagged eight malicious JavaScript payloads on live storefronts, seven of which were absent from VirusTotal. Cloudflare described four malicious JavaScript operations, spanning eight payloads, that its Page Shield ML model flagged on live storefronts. The operations covered affiliate hijacking, clickless affiliate theft via an off-screen iframe, a remote code backdoor, and a mobile"
status: "published"
visuals: []
editorial_provenance: {"schema_version":"newruntime-editorial-copy-v1","content_status":"source_grounded_final","final_copy_sha256":"sha256:c36ea7256010fdc2e8a6668f0b25e638954a812a9b46b2b69bc7c4516dcc19f0","reviewed_at":"2026-09-24T13:28:46Z","source_evidence_count":1,"verified_claim_count":3,"site_analysis_schema_version":"newruntime-site-analysis-v1","site_object_kind":"field_note","observed_fact_count":3,"implication_count":2,"watch_condition_count":2,"related_record_count":0}
analysis: {"schema_version":"newruntime-site-analysis-v1","object_kind":"field_note","thesis":"Reputation scanners that judge a script by its hash or URL can miss client-side attacks that only reveal themselves through behaviour in live browser traffic.","observed_facts":[{"text":"Seven of the eight payloads were entirely absent from VirusTotal when Cloudflare reviewed them.","source_urls":["https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns"]},{"text":"URLScan returned no malicious verdict for any of the eight payloads.","source_urls":["https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns"]},{"text":"Scripts the GNN flags as malicious, under 0.3% of analyzed traffic, are sent to a lightweight LLM on Workers AI.","source_urls":["https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns"]}],"mechanism":"Cloudflare's graph neural network parses JavaScript as a syntax tree, so it can recognise suspicious call patterns across minification and renaming without relying on a known URL or byte signature.","why_now":"The four operations shared no common signature and stayed dormant until device, country, time, referrer, or browser state matched their conditions.","implications":["Teams running storefronts cannot treat a one-time dependency scan as proof that the scripts executing on their pages are safe.","Detection pipelines for web code increasingly pair a fast structural classifier with an LLM second opinion before alerting."],"evidence_boundary":"The post is a vendor report and does not disclose an overall false-positive rate or how many benign scripts were flagged.","watch_conditions":["A useful signal will be whether Cloudflare publishes precision figures for Page Shield ML alongside its reported detections.","Another signal is whether the automated feedback loop from frontier-model labels into GNN training becomes fully automated."],"related_records":[],"new_branch_reason":"It documents a concrete gap between reputation-based scanning and behavioural detection of client-side JavaScript on real storefronts."}
routes: {"html":"https://newruntime.com/posts/cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135/","markdown":"https://newruntime.com/posts/cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135.md","json":"https://newruntime.com/posts/cloudflare-page-shield-ml-catches-eight-storefront-payloads-scanners-771135.json"}
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
---

# Cloudflare Page Shield ML catches eight storefront payloads scanners missed

## Retrieval answer

Cloudflare reports that its Page Shield ML flagged eight malicious JavaScript payloads on live storefronts, seven of which were absent from VirusTotal. Cloudflare described four malicious JavaScript operations, spanning eight payloads, that its Page Shield ML model flagged on live storefronts. The operations covered affiliate hijacking, clickless affiliate theft via an off-screen iframe, a remote code backdoor, and a mobile

Cloudflare described four malicious JavaScript operations, spanning eight payloads, that its Page Shield ML model flagged on live storefronts. The operations covered affiliate hijacking, clickless affiliate theft via an off-screen iframe, a remote code backdoor, and a mobile cloaker that disables nine monitoring tools. When Cloudflare later checked the payloads, seven of the eight were absent from VirusTotal and URLScan returned no malicious verdict for any of them.

Reputation scanners that judge a script by its hash or URL can miss client-side attacks that only reveal themselves through behaviour in live browser traffic. Cloudflare's graph neural network parses JavaScript as a syntax tree, so it can recognise suspicious call patterns across minification and renaming without relying on a known URL or byte signature. Scripts flagged by the GNN, under 0.3% of analyzed traffic, go to a lightweight LLM on Workers AI for a second opinion, and customers are alerted when both agree.

The four operations shared no common signature and stayed dormant until device, country, time, referrer, or browser state matched their conditions. One Lnkr payload version sat indexed by URLScan with no classification for nearly two and a half years. Teams running storefronts cannot treat a one-time dependency scan as proof that the scripts executing on their pages are safe.

The post is a vendor report and does not disclose an overall false-positive rate or how many benign scripts were flagged. A useful signal will be whether Cloudflare publishes precision figures for Page Shield ML alongside its reported detections.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Security](https://newruntime.com/topics/security.md): Explore the security topic hub.
- topic hub: [Web Security](https://newruntime.com/topics/web-security.md): Explore the web-security topic hub.
- topic hub: [Ml Detection](https://newruntime.com/topics/ml-detection.md): Explore the ml-detection topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Source Ledger](https://newruntime.com/source-ledger.json): Inspect the public source evidence graph.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
