Security daily

Edition 2026-05-14 · read as Security

Shai-HuludWormTurnsTokenRotationIntoaWipeTrigger

Sources
32
Words
1,095
Read
5min

Topics AI Regulation Agentic AI AI Capital

◆ The signal

Shai-Hulud has weaponized your incident response playbook. The npm worm's new gh-token-monitor dead-man's switch wipes hosts the moment you revoke a compromised token — and its persistence lives in .claude/settings.json and .vscode/tasks.json, paths no SCA tool checks. If your SOC rotated credentials this week without isolating first, you may have already triggered destruction. Rewrite the IR runbook today: isolate → snapshot → enumerate persistence → only then rotate.

◆ INTELLIGENCE MAP

  1. 01

    Supply-Chain Worm Weaponizes Incident Response

    act now

    Shai-Hulud evolved a destructive trigger: token revocation now wipes the host. Persistence embeds in .claude/settings.json and .vscode/tasks.json, surviving package removal. Parallel RubyGems GemStuffer campaign hit 150+ gems as exfiltration channel. Standard IR sequence is now a foot-gun.

    400+
    compromised npm packages
    7
    sources
    • npm packages hit
    • RubyGems poisoned
    • TanStack variants
    • Persistence paths
    1. npm (Shai-Hulud)400
    2. RubyGems (GemStuffer)150
    3. TanStack variants84
    4. PyPI (crossover)5
  2. 02

    GhostLock: Ransomware Your EDR Cannot See

    act now

    GhostLock holds files hostage without encrypting them, without dropping a binary, from low-privilege domain accounts. EDR telemetry in reported cases: zero. No disk writes, no crypto operations, no process injection. It abuses Windows file-handle APIs and SMB oplocks. Signature-based detection will not help.

    0
    EDR alerts generated
    2
    sources
    • Privilege required
    • Binary dropped
    • Encryption used
    • EDR telemetry
    1. Traditional Ransomware85
    2. GhostLock0
  3. 03

    May Patch Tuesday + Nightmare Eclipse Zero-Days

    monitor

    Microsoft shipped 138 CVEs including 30 Critical — Netlogon RCE and DNS RCE echo Zerologon and SIGRed. None exploited yet, but historically these classes weaponize within 30 days. Nightmare Eclipse dropped GreenPlasma (LPE) and YellowKey (BitLocker bypass) within hours of Patch Tuesday. Exim RCE (Dead.Letter) is also live.

    138
    May Patch Tuesday CVEs
    5
    sources
    • Total CVEs
    • Critical severity
    • Nightmare Eclipse 0-days
    • Exim RCE (unauth)
    1. Critical30
    2. Important85
    3. Moderate/Low23
  4. 04

    CloakBrowser Commoditizes Bot Attacks

    monitor

    CloakBrowser open-sourced a 49-patch Chromium fork passing Cloudflare Turnstile and reCAPTCHA v3 at 0.9 score. Docker-ready, 3 lines of integration. What Multilogin charges thousands for is now free. Any endpoint using CAPTCHA as primary bot defense has no primary bot defense.

    0.9
    reCAPTCHA score achieved
    2
    sources
    • Source patches
    • reCAPTCHA v3 score
    • Commercial equivalent
    • CloakBrowser cost
    1. Multilogin/GoLogin2000
    2. CloakBrowser0
  5. 05

    Agent Identity and Authorization Gap Reaches Production

    background

    Amazon's MeshClaw deploys code autonomously; employees are gaming usage via 'tokenmaxxing,' poisoning UEBA baselines. SAP locks down unauthorized agents while wiring Claude directly into ERP. MCP tool calls log as generic HTTP — SOCs cannot distinguish agent intent from normal API traffic. The governance gap is now operational, not theoretical.

    79%
    IT leaders shipping AI without controls
    8
    sources
    • IT leaders citing risk
    • Shipping AI anyway
    • Companies rebuilt for agents
    • Claude adoption growth
    1. Ship AI despite security gaps79

◆ DEEP DIVES

  1. 01

    Your IR Runbook Is Now a Weapon: Shai-Hulud's Dead-Man Switch and Editor-Config Persistence

    The Escalation

    On Wednesday, Shai-Hulud was a credential-theft worm. On Thursday, the new variant ships a destructive-response component. It embeds a gh-token-monitor process that watches for token revocation events, and when a defender rotates a compromised GitHub, npm, or cloud token, the host is wiped. Revocation is the trigger for destruction; that is a design choice in the implant, not a side effect.

    Multiple sources independently confirm the behavior and warn that blanket revocation against an infected runner destroys the runner. The revised IR order is isolate → snapshot → enumerate persistence → remove persistence → only then rotate tokens.


    Persistence That Survives Uninstall

    Removing the malicious npm or PyPI package does not remediate the compromise. The implant writes to three agent-config paths:

    • .claude/settings.json — re-executes attacker config on every Claude Code launch
    • .vscode/tasks.json — re-executes on every VS Code session
    • .cursor/* — equivalent for Cursor users

    These paths sit outside SCA tool scope. npm audit returns clean. Dependabot sees nothing. The host stays compromised through the AI developer tooling engineers run daily, and every IDE launch re-executes attacker-controlled configuration with access to LLM API keys, GitHub PATs, cloud CLI tokens, and production kubeconfigs.


    Cross-Source Corroboration

    Seven independent sources reported the evolution today. The confirmed blast radius:

    EcosystemAffected PackagesNotable Victims
    npm400+ (84 malicious TanStack versions, 42 scoped packages)Mistral AI, UiPath, TanStack
    RubyGems (GemStuffer)150+ gemsUK Council Portal data exfiltrated
    PyPI5+ confirmedGuardrails AI (0.10.1), OpenSearch

    The TanStack kill chain was CI-native: pull_request_target abuse, GitHub Actions cache poisoning, OIDC token extraction from Runner.Worker memory, exfil via Session/Oxen, and P2P C2 via the GitHub commit-search index. npm 2FA is bypassed entirely.

    The attacker has weaponized the defender's revocation response. The incident-response playbook itself is now part of the kill chain.

    Detection Engineering for the Persistence Layer

    File-integrity monitoring on agent config paths catches what SCA cannot:

    • Alert on any write to .claude/settings.json, .vscode/tasks.json, .cursor/* outside known-good provisioning flows
    • Hunt for outbound Session/Oxen traffic from CI workers
    • Look for unexpected commits to org repos, which is the P2P beacon signal
    • Baseline lockfile diffs since May 11 across all repositories

    Action items

    • Rewrite IR runbook for Shai-Hulud-class threats: isolate → snapshot → enumerate persistence → remove persistence → then rotate. Push to all on-call engineers and tabletop today
    • Deploy FIM rules on .claude/settings.json, .vscode/tasks.json, and .cursor/* across all developer endpoints within 48 hours
    • Freeze npm and RubyGems dependency updates enterprise-wide; audit all installs between May 11 and today against known-malicious package lists from Aikido, Endor, JFrog, and Socket
    • Purge GitHub Actions caches and npm caches on all build agents; rotate AWS, GCP, Kubernetes, Vault, GitHub, and SSH credentials on any host that ran npm install against affected versions

    Sources:Risky.Biz · TLDR InfoSec · TLDR IT · AI Breakfast · CSO Security Leadership · AINews

  2. 02

    GhostLock: The Ransomware Class EDR Was Not Built to See

    What It Is

    GhostLock holds files hostage without encrypting them and without dropping a binary. It runs from low-privilege domain accounts, the kind every enterprise provisions by the thousand. The mechanism is native Windows file-handle APIs plus SMB oplock behavior. Files are locked out of reach of legitimate users while remaining bit-for-bit unmodified on disk.

    The detail that matters: EDR telemetry on reported cases is empty. No disk writes. No cryptographic operations. No process injection. No known-bad hash. The endpoint agent sees a domain user opening files, which is the definition of normal.


    Why This Is a Re-Pricing Event

    For five years, EDR has been the load-bearing control in enterprise security architectures. Board decks cite it as the ransomware mitigation. GhostLock is a category-level bypass. No new exploit. No privilege escalation. No zero-day. It requires only what a domain user already has: the ability to open a file.

    The approach is philosophically different from conventional ransomware:

    DimensionTraditional RansomwareGhostLock
    Privilege requiredAdmin/SYSTEM for full encryptionStandard domain user
    Binary on diskYes — encryptor droppedNo — lives in API calls
    File modificationYes — contents replaced/encryptedNo — files locked via handles/oplocks
    EDR signalFile modification, crypto API calls, process treeNone observed
    Backup recoveryEffective (if backups clean)Effective — but victim doesn't know files are intact
    A ransomware family that routinely slips past EDR is not a novelty item. It is a re-pricing event for every board deck that lists EDR as the mitigation.

    Detection Hypotheses

    Signature-based EDR will not help. The detection path is behavioral:

    • File-handle acquisition anomalies: a single low-privilege account opening hundreds or thousands of file handles in a short window
    • SMB oplock patterns: unusual oplock break behavior on file shares, specifically batch oplocks held without corresponding read or write operations
    • Domain account behavior: a domain user touching many files across multiple shares with no legitimate process tree behind the access
    • File accessibility monitoring: canary files that alert when they cannot be opened, not when they are modified

    None of these ship in vendor default rulesets. They require custom detection engineering written against hypotheses about the specific Windows API behavior being abused. Plan accordingly.

    Action items

    • Build detection engineering hypotheses for GhostLock: query for accounts opening >500 file handles in <60 seconds, SMB oplock anomalies on shares, and low-priv accounts touching file shares without process trees — deliver initial rules within 2-3 weeks
    • Deploy file-accessibility canary files on critical shares (finance, HR, exec, engineering) that alert when they cannot be opened — not when they are modified
    • Review and update board risk documentation: EDR is no longer a sufficient standalone control for ransomware. Present GhostLock as the evidence and request budget for behavioral detection engineering

    Sources:Risky.Biz · TLDR InfoSec

  3. 03

    Patch Tuesday's Hidden Payload: Netlogon and DNS RCE Demand Accelerated Deployment

    The Numbers

    Microsoft's May 2026 Patch Tuesday shipped 138 CVEs, 30 Critical. That is the heaviest month of the year. Composition matters more than the count. Two bugs sit on authentication and resolution paths enterprises cannot run without:

    • Netlogon RCE. Same class as Zerologon (CVE-2020-1472), which became one of the most weaponized bugs of the decade. Protocol-level RCE against domain controllers.
    • DNS RCE. Echoes SIGRed (CVE-2020-1350), wormable by design. Windows DNS servers, often co-located with domain controllers.

    Neither is under active exploitation as of today. Historically, Netlogon and DNS-class bugs moved from disclosure to mass exploitation in 7 to 30 days. Zero of 138 are currently exploited. The 7-to-30-day window is the planning horizon, not a reassurance.


    Nightmare Eclipse Makes It Worse

    The actor tracked as Nightmare Eclipse dropped two zero-days within hours of Patch Tuesday. The monthly pattern continues:

    Zero-DayImpactStatus
    GreenPlasmaLocal privilege escalationNo patch yet; monitor for OOB advisory
    YellowKeyBitLocker bypassNo patch yet; validate Credential Guard

    The Nightmare Eclipse cadence is deliberate. Exploits drop while defender attention is on the patch queue. The timing is tactical.


    Beyond Microsoft: Exim and the Multi-Vendor Queue

    CVE-2026-45185 (Dead.Letter) is an unauthenticated RCE in Exim's GnuTLS builds. Exim's install base on internet-facing mail infrastructure is large, and the bug is configuration-specific. Debian/Ubuntu defaults ship GnuTLS (vulnerable). RHEL-family uses OpenSSL (likely unaffected). Run exim -bV | grep GnuTLS to scope in under an hour. Historically, Exim flaws went from disclosure to mass scanning in under two weeks. Sandworm exploited CVE-2019-10149 at scale.

    The full vendor queue also includes patches from Adobe, Apple, Fortinet, Ivanti, Palo Alto, and Juniper. SAP S/4HANA and Dynamics 365 on-prem RCE add ERP-layer urgency.

    The interesting number in a Patch Tuesday is never the total. It is how many sit on the authentication path. This month, two of the biggest do.

    Action items

    • Deploy Netlogon and DNS RCE patches to all domain controllers and DNS servers on accelerated 7-day cycle — do not use standard 30-day soak period
    • Patch all GnuTLS-linked Exim instances within 72 hours; disable BDAT as interim mitigation where patching is delayed. Scope with `exim -bV | grep GnuTLS`
    • Validate Credential Guard and BitLocker attestation on all managed laptops in preparation for YellowKey (BitLocker bypass); monitor for Microsoft out-of-band advisory on GreenPlasma and YellowKey
    • Add post-patch verification scans as a mandatory gate before closing Critical CVE tickets — at minimum for the Netlogon, DNS, and Exim patches

    Sources:Risky.Biz · TLDR InfoSec · The Hacker News · CSO Security Leadership

◆ QUICK HITS

  • CloakBrowser open-sourced a 49-patch Chromium fork passing Turnstile and reCAPTCHA v3 at 0.9 — CAPTCHA as primary bot defense is now free to bypass; test your login and checkout endpoints against it in staging this sprint

    TLDR DevOps

  • Q-Day central estimate pulled forward to 2033 — start formal PQC inventory now targeting harvest-now-decrypt-later exposure on data with >5-year sensitivity (signing keys, customer PII, gov contracts)

    Risky.Biz

  • Update: Instructure/Canvas ransom — Congress is now involved; use this as the forcing function for a board-level ransom-payment policy covering OFAC screening and decision tree before your next incident

    Risky.Biz

  • Qwen-Image-2.0 achieves production-grade photorealistic typography — AI-generated invoices, letterheads, and signed memos now defeat visual inspection; enforce out-of-band callback on all wire transfers and vendor bank changes

    TLDR AI

  • Ransomware Violence-as-a-Service doubled in one year — physical threats now reach IR negotiators directly; brief exec-protection and add negotiator safety to incident planning

    Risky.Biz

  • Foxconn ransomware: Nitrogen crew claims 8TB including Apple and Nvidia chip drawings — issue TPRM query to any tier-2 supplier in that chain; expect spear-phishing themed as 'confidential supplier updates'

    Techpresso

  • SANS published AI Security Maturity Model mapped to NIST AI RMF, EU AI Act, ISO 42001, and OWASP — adopt as program scaffolding and run a baseline self-assessment this quarter

    TLDR AI

  • Russia likely to ban GitHub (Roskomnadzor denials + Duma taunts match YouTube/WhatsApp ban playbook) — prepare developer-continuity plan if any Russia-based contributors or contractors are in your dependency graph

    Risky.Biz

  • Google quietly removed Chrome TOS line guaranteeing local AI models won't send data to Google — DLP postures assuming browser-local AI is sandboxed from telemetry are no longer backed by policy language

    Risky.Biz

  • IBM Vault Enterprise 2.0 eliminates high-privilege master accounts from LDAP credential rotation — the pattern every vault incident report has requested; put the upgrade on the change calendar this quarter

    TLDR DevOps

◆ Bottom line

The take.

Your incident response playbook became a weapon this week: Shai-Hulud wipes hosts when you revoke the token it stole, persists in IDE configs that no scanner checks, and has already poisoned 400+ npm packages, 150+ RubyGems, and AI-developer tooling across Mistral, TanStack, and Guardrails AI — while GhostLock proved that ransomware can hold files hostage with zero EDR telemetry and Microsoft shipped Netlogon and DNS RCE bugs in the same class that produced Zerologon and SIGRed. Isolate before you rotate, build detections your vendor hasn't shipped, and patch domain controllers this week.

— Promit, reading as Security ·

◆ Same day, different angle

Read this day as…

◆ Recent in security

Keep reading.