Securing the Supply Chain: How SentinelOne®’s AI EDR Stops the Axios Attack Autonomously
嗯,用户让我帮忙总结一篇文章的内容,控制在100个字以内,而且不需要用特定的开头。首先,我得通读一下这篇文章,了解主要讲了什么。 文章主要讲的是一个来自朝鲜的网络攻击事件,他们通过劫持npm的凭证,发布了两个带有后门的Axios版本。Axios是一个非常流行的HTTP客户端库,每周下载量高达1亿次。攻击者利用了旧的npm令牌,绕过了现代的安全措施。SentinelOne作为一家安全公司,在攻击发生后迅速做出了反应,利用他们的行为检测引擎和全球哈希黑名单等技术来保护客户。文章还详细介绍了攻击的技术细节和SentinelOne的防御措施,并给出了企业应对这类攻击的具体建议。 接下来,我需要将这些信息浓缩到100字以内。要抓住关键点:朝鲜黑客、劫持npm、发布恶意Axios版本、SentinelOne的防御措施以及对企业的影响。 可能的结构是:首先说明事件的基本情况,然后提到SentinelOne如何应对,最后指出企业需要采取的措施。 比如:“朝鲜黑客通过劫持npm凭证发布恶意Axios版本,植入跨平台远程访问木马。SentinelOne利用行为检测和全球哈希黑名单快速防御。企业需审计环境、旋转凭证并加强安全策略。” 这样大约70字左右,符合要求。 </think> 朝鲜黑客通过劫持npm凭证发布恶意Axios版本,植入跨平台远程访问木马。SentinelOne利用行为检测和全球哈希黑名单快速防御。企业需审计环境、旋转凭证并加强安全策略。 2026-4-2 19:50:56 Author: www.sentinelone.com(查看原文) 阅读量:2 收藏

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.

What Happened: The Anatomy of a State-Level Supply Chain Weapon

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.

How SentinelOne Is Protecting Customers

Behavioral Detection via the Lunar Engine

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.

Global Hash Blocklist

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.

Wayfinder Threat Hunting

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.

Sustained Research on This Threat Actor

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.

Live Security Updates (LSU)

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.

What You Should Do Now

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.

  1. Audit and contain. Search all environments for [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.
  2. Rotate every credential the endpoint could reach. npm tokens, SSH keys, CI/CD secrets, cloud provider keys, and API tokens accessible from impacted systems must be rotated immediately. The RAT was designed to harvest exactly these credential types.
  3. Pin dependencies and enforce lockfiles. Use 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.
  4. Eliminate legacy npm tokens. Inventory all long-lived tokens across the organization. Migrate to OIDC Trusted Publishing and revoke legacy tokens entirely. Do not leave them as fallbacks. The coexistence of old and new authentication is what this attack exploited.
  5. Harden detection policy. Ensure Behavioral AI and Documents & Scripts engines are set to Protect (On Execute). Avoid broad exclusions for developer tools like node.exe or npm. Enable LSU for real-time detection updates.
  6. Extend endpoint coverage to developer workstations and CI runners. These environments have access to production secrets, deployment credentials, and code signing infrastructure. They are typically less monitored than production servers. DPRK has recognized this asymmetry and is systematically exploiting it.
  7. Hunt proactively. Use Deep Visibility to search for DNS queries to 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.

Practitioner Investigative Guide

In addition to the strategic recommendations above, here are some specific queries, file paths, and commands you can execute now to protect your environment.

Determine Blast Radius

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:

  • Open the Wayfinder alert queue. Look for the alert name “Axios NPM Supply Chain Compromise” (Wayfinder retroactive rule). If these alerts are not visible under default filters, switch the alert type from “EDR” to “All”, as these surface as Custom/STAR alerts.
  • For each alert, review the Storyline and process tree. The typical chain looks like this:
    • Developer process (VS Code, Electron, Node, Yarn, npx) → nodesetup.js under plain-crypto-jscurl download from sfrclak[.]com:8000/6202033 → OS-specific payload execution
  • Classify the affected asset: developer workstation, CI/CD runner, or production server. This drives urgency. Shared CI runners imply wider blast radius because multiple teams and credential sets may be exposed.

Deep 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

node_modules/plain-crypto-js/ or */plain-crypto-js/setup.js

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.

Contain and Kill

For every system with confirmed Axios-related activity:

  • Mark the Storyline as Threat in the SentinelOne Console. Confirm that remediation commands (Kill + Quarantine) executed successfully.
  • Network-isolate the endpoint if the C2 connection succeeded (outbound to sfrclak[.]com or 142.11.206[.]73). Check for any secondary tooling or persistence beyond the initial RAT.
  • Block at the perimeter. Add the following to your firewall, proxy, and DNS blocklists:
    • Domain: sfrclak[.]com
    • IP: 142.11.206[.]73
    • Port: 8000
  • Check for persistence mechanisms:
    • Windows: Registry key “Microsoft Update” (used by the RAT for persistence), presence of 6202033.vbs or 6202033.ps1
    • macOS: Any process spawned from /Library/Caches/com.apple.act.mond, AppleScript execution from /var/folders/.../6202033
    • Linux: Active python3 processes running /tmp/ld.py, nohup wrappers

Credential Rotation and Dependency Cleanup

Assume every credential accessible from a confirmed-compromised endpoint is stolen. The RAT was built to harvest them.

Credential rotation checklist:

  • npm access tokens (revoke and reissue)
  • SSH keys (regenerate keypairs, update authorized_keys on all targets)
  • CI/CD pipeline secrets (GitHub Actions secrets, GitLab CI variables, Jenkins credentials)
  • Cloud provider keys (AWS access keys, GCP service account keys, Azure SPN secrets)
  • API keys and .env file contents
  • Git signing keys and code signing certificates if accessible from the endpoint

Dependency cleanup (all environments):

  • Pin Axios to known-good versions: [email protected] (1.x branch) or [email protected] (legacy branch)
  • Delete node_modules/plain-crypto-js/ wherever it exists
  • Run npm cache clean --force (or equivalent for Yarn/pnpm) on all affected build environments
  • Reinstall cleanly using npm ci --ignore-scripts during the cleanup period to prevent any other postinstall hooks from executing
  • Audit your package-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.

Harden and Validate

Policy hardening:

  • Confirm Behavioral AI engine is set to Protect (On Execute), not Detect-only
  • Confirm Documents & Scripts engine is set to Protect (On Execute)
  • Review and remove any broad exclusions for node.exe, npm, yarn, python3, or developer IDEs
  • Verify LSU (Live Security Updates) is enabled. Customers on Fed/OnPrem environments without LSU access should confirm they are on the latest Service Pack
  • Confirm the SentinelOne agent is deployed on all developer workstations and CI/CD runners, not just production servers

Validation sweep:

  • Run a full disk scan on every endpoint that was in the blast radius
  • Verify no new users, services, or scheduled tasks were created during the exposure window
  • Confirm that network blocks for C2 infrastructure are active and logging hits
  • Re-run the Deep Visibility hunts from Hour 0-1 to verify no new activity has appeared

Key IOC Reference Card

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
Email nrwise@proton[.]me Involved in supply chain compromise.
Email 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 Structural Problem Is Bigger Than Axios

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.


文章来源: https://www.sentinelone.com/blog/securing-the-supply-chain-how-sentinelones-ai-edr-stops-the-axios-attack-autonomously/
如有侵权请联系:admin#unsafe.sh