A guide to the suspected North Korean cyber attack—and how SentinelOne defends against it at machine speed
On March 31, 2026, a North Korean state actor hijacked the npm credentials of the primary Axios maintainer and published two backdoored releases that deployed a cross-platform remote access trojan (RAT) to Windows, macOS, and Linux systems. Axios is the most widely used HTTP client in the JavaScript ecosystem, with approximately 100 million weekly downloads and a presence in roughly 80% of cloud and code environments. The malicious versions were live for approximately three hours. An estimated 600,000 downloads occurred during that window with no user interaction required beyond a routine npm install.
SentinelOne protects against this attack, demonstrating why autonomous, layered defense at machine speed is not optional when adversaries operate at this velocity. In this attack, the first infection was observed 89 seconds after publication. At that pace, manual workflows do not have a response window. They have a spectator seat.
For SentinelOne’s customers and partners, here’s a quick overview of the compromise, SentinelOne’s response, and steps you can take to further protect your environment.
The attacker, tracked as UNC1069 by Google Threat Intelligence and Sapphire Sleet by Microsoft, compromised maintainer credentials and published [email protected] (tagged “latest”) and [email protected] (tagged “legacy”). Each version introduced a single new dependency: [email protected], a purpose-built trojan. The malicious package’s postinstall hook silently deployed a cross-platform RAT communicating over HTTP to C2 infrastructure at sfrclak[.]com (142.11.206[.]73), commonly being referred to as WAVESHAPER.V2.
The operational sophistication was striking. The attacker pre-staged a clean version of plain-crypto-js 18 hours before detonation to evade novelty-based detection. Publication occurred just after midnight UTC on a Sunday to maximize the response window. The malware self-deleted after execution, swapping its malicious package.json for a clean stub, leaving forensic evidence only in lockfiles and audit logs.
Most critically, Axios had adopted OIDC Trusted Publishing, the post-Shai-Hulud hardening measure npm promoted as the solution to credential-based attacks. But the OIDC configuration coexisted with a long-lived npm access token. npm’s authentication logic prioritizes environment variable tokens over OIDC when both are present. The attacker stole the legacy token and bypassed every modern control the project had in place.
The issue is architectural: security controls that coexist with the mechanisms they are meant to replace provide a false sense of protection. Axios had Trusted Publishing, SLSA provenance, and GitHub Actions workflows. None of it mattered because the old key was still under the mat.
SentinelOne’s Lunar behavioral engine detects the renamed binary execution technique central to the Windows attack chain, in which PowerShell is copied to %PROGRAMDATA%\wt.exe and executed under a disguised process. The RenamedBinExecution logic catches this behavior regardless of the specific payload hash, providing durable detection against variants.
All known stage payloads, malicious npm package tarballs, and RAT binaries across Windows, macOS, and Linux have been added to the SentinelOne Cloud blocklist with a globally blocked reputation status. This provides immediate protection for all customers with cloud-connected agents.
The Wayfinder Threat Hunting team executed proactive hunts across all MDR regions and operating systems using Axios-specific IOCs, including DNS queries to sfrclak[.]com, file artifacts (com.apple.act.mond, /tmp/ld.py, wt.exe), and consolidated hash sets. All true positive findings generate console alerts, with MDR customers receiving direct analyst engagement and escalation.
SentinelLabs has tracked BlueNoroff, the DPRK-linked threat cluster with significant overlap to UNC1069, across multiple campaigns targeting macOS and credential theft operations. The WAVESHAPER.V2 macOS binary recovered from the Axios compromise carries the internal project name “macWebT,” a direct lineage marker to BlueNoroff’s documented webT module. SentinelLabs published detailed analysis of this tooling family in 2023 when RustBucket first emerged as a macOS-targeted campaign, and again in 2024 when BlueNoroff shifted to fake cryptocurrency news as a delivery mechanism with novel persistence techniques.
The initial access vector matters here, too. In March 2026, Google Threat Intelligence reported that UNC1069 leverages ClickFix, a social engineering technique that weaponizes user verification fatigue, as an initial access vector for credential harvesting. SentinelLabs had already published a detailed analysis of ClickFix techniques and their use in delivering RATs and infostealers before Google’s attribution dropped.
The behavioral detections that caught the Axios compromise were built on this accumulated intelligence, not written after the fact.
Customers with LSU enabled receive real-time detection updates without waiting for agent releases, ensuring coverage evolves as fast as the threat intelligence does. This is critical for rapidly evolving supply chain campaigns where new IOCs emerge hourly.
Supply chain compromise exploits the inherent trust enterprises place in their software delivery infrastructure. When that trust is weaponized by a state-level actor, the response must be both immediate and structural.
[email protected] and [email protected]. Treat any system that installed either version during the exposure window as fully compromised. Rebuild from known-good images rather than attempting in-place cleanup.npm ci (not npm install) in all CI/CD pipelines. Commit and audit lockfiles. Organizations using strict lockfile discipline were protected even during the three-hour exposure window. This is the single most actionable control.node.exe or npm. Enable LSU for real-time detection updates.sfrclak[.]com, connections to 142.11.206[.]73, and the presence of plain-crypto-js in any node_modules directory. SentinelOne’s 2025 Annual Threat Report documents how supply chain attacks are part of a broader pattern where adversaries are “shifting left” to subvert the build process itself, compromising software before it ever reaches production.In addition to the strategic recommendations above, here are some specific queries, file paths, and commands you can execute now to protect your environment.
Your first job is to answer one question: did any system in my environment pull a compromised Axios version during the March 31 exposure window (00:21 – 03:25 UTC)?
In the SentinelOne Console:
node → setup.js under plain-crypto-js → curl download from sfrclak[.]com:8000/6202033 → OS-specific payload executionDeep Visibility / Event Search hunts to run immediately:
| What You’re Looking For | Query Pattern |
| C2 DNS resolution | #dns contains:anycase 'sfrclak.com' |
| C2 IP connection | #ip contains '142.11.206.73' |
| Malicious dependency on disk | File path contains
|
| macOS RAT binary | File path: /Library/Caches/com.apple.act.mond |
| Linux loader | File path: /tmp/ld.py |
| Windows payload | File path: %PROGRAMDATA%\wt.exe |
| Renamed PowerShell execution | Lunar detection: RenamedBinExecution |
Run hash hunts against consolidated IOC lists even if the global blocklist is already active. Historic hits help you quantify which systems were exposed and when.
For every system with confirmed Axios-related activity:
sfrclak[.]com or 142.11.206[.]73). Check for any secondary tooling or persistence beyond the initial RAT.sfrclak[.]com142.11.206[.]7380006202033.vbs or 6202033.ps1/Library/Caches/com.apple.act.mond, AppleScript execution from /var/folders/.../6202033python3 processes running /tmp/ld.py, nohup wrappersAssume every credential accessible from a confirmed-compromised endpoint is stolen. The RAT was built to harvest them.
Credential rotation checklist:
authorized_keys on all targets).env file contentsDependency cleanup (all environments):
[email protected] (1.x branch) or [email protected] (legacy branch)node_modules/plain-crypto-js/ wherever it existsnpm cache clean --force (or equivalent for Yarn/pnpm) on all affected build environmentsnpm ci --ignore-scripts during the cleanup period to prevent any other postinstall hooks from executingpackage-lock.json / yarn.lock / pnpm-lock.yaml for any reference to plain-crypto-js. Its presence in a lockfile is a forensic indicator that the compromised version was resolved, even if the malware self-deleted.Policy hardening:
node.exe, npm, yarn, python3, or developer IDEsValidation sweep:
Keep this card accessible for your team during the response.
Malicious packages:
C2 infrastructure:
| Indicator | Value |
| Domain | sfrclak[.]com |
| IP | 142.11.206[.]73 |
| Port | 8000 |
| URL pattern | hxxp[://]sfrclak[.]com:8000/6202033 |
| RAT User-Agent | mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0) |
File artifacts by OS:
| OS | Artifact | Path |
| macOS | RAT binary | /Library/Caches/com.apple.act.mond |
| macOS | Temp script | /var/folders/.../6202033 |
| Windows | Renamed PowerShell | %PROGRAMDATA%\wt.exe |
| Windows | Stage 1 | system.bat |
| Windows | Stage 2 | 6202033.ps1 |
| Windows | VBS launcher | 6202033.vbs |
| Linux | Python loader | /tmp/ld.py |
RAT beacon behavior: HTTP POST every 60 seconds, Base64-encoded JSON, two-layer obfuscation (reversed Base64 + XOR with key OrDeR_7077, constant 333). The IE8/Windows XP User-Agent string is anachronistic and serves as a strong network-level detection indicator.
SentinelLabs Expanded Indicators:
| Indicator | Value | Note |
| nrwise@proton[.]me | Involved in supply chain compromise. | |
| ifstap@proton[.]me | Involved in supply chain compromise. | |
| Domain | callnrwise[.]com | Domain overlaps with email scheme and infrastructure design from confirmed C2 domain. |
| Domain | focusrecruitment[.]careers | Overlapping domain registration details and timeline. Medium Confidence |
| Domain | chickencoinwin[.]website | Overlapping domain registration details and timeline. Medium Confidence |
The progression from event-stream (2018, individual actor) to Shai-Hulud (2025, self-replicating worm across 500+ packages) to Axios (2026, DPRK state actor with multi-vendor attribution from SentinelOne, Google, and Microsoft) is not a series of isolated incidents. It is a clear escalation in adversary sophistication and strategic intent. North Korean threat actors stole $2.02 billion in cryptocurrency in 2025 alone, a 51% increase year-over-year, and the Axios RAT harvests exactly the credential types that feed that revenue pipeline.
Developer environments are now a Tier 1 attack surface. The organizations that treat them as anything less are operating with a structural blind spot that state-level adversaries have already mapped.
SentinelOne’s Autonomous Security Intelligence framework delivers what this moment requires: AI-native protection that detects and contains threats at machine speed, human expertise through Wayfinder MDR that translates alerts into confident action, and a unified platform that eliminates the fragmented visibility where supply chain attacks hide. When the next three-hour window opens, the question is whether your defense moves faster than the attacker. With SentinelOne, it does.
Disclaimer: All third-party product names, logos, and brands mentioned in this publication are the property of their respective owners and are for identification purposes only. Use of these names, logos, and brands does not imply affiliation, endorsement, sponsorship, or association with the third party.