Back to Intelligence

RMM Exploitation & Supply Chain Worms: TaskWeaver, Djinn Stealer, and npm Attacks

SA
Security Arsenal Team
July 29, 2026
6 min read

Threat Summary

Current OTX pulse data indicates a surge in credential theft campaigns utilizing diverse entry vectors targeting the technology sector and cloud infrastructure. Activity is split across three primary fronts:

  1. RMM Exploitation (CVE-2026-48558): Attackers are exploiting a critical authentication bypass in SimpleHelp RMM software to deploy "TaskWeaver," a Node.js loader, and "Djinn Stealer." This allows adversaries to bypass standard perimeter controls and utilize trusted remote management tools for initial access and data exfiltration.

  2. Software Supply Chain Attack (npm): A worm-like campaign has compromised over 50 npm packages across high-profile namespaces (@tanstack, @mistralai). The payload downloads the Bun runtime to harvest GitHub credentials and AWS secrets, specifically targeting the Instance Metadata Service (IMDS).

  3. Social Engineering (ClickFix): A sophisticated evolution of the ClickFix campaign uses WebDAV tunneled over HTTPS to execute payloads via rundll32.exe ordinal exports. This technique bypasses traditional mark-of-the-web (MotW) security controls and facilitates credential theft.

Threat Actor / Malware Profile

TaskWeaver & Djinn Stealer

  • Distribution: Exploitation of CVE-2026-48558 in SimpleHelp RMM.
  • Behavior: TaskWeaver acts as a heavily obfuscated Node.js loader. It establishes encrypted C2 communications (observed via a.dev-tunnels.com) to deploy Djinn Stealer.
  • Objective: Credential harvesting and persistent access within targeted environments.

npm Worm (Shai-Hulud-Style)

  • Distribution: Malicious npm packages in public repositories.
  • Behavior: Executes during npm install via postinstall scripts. It forces the download of the Bun runtime to execute a payload designed to query AWS IMDS and scan for cloud configuration files.
  • Objective: Theft of source code (GitHub) and cloud infrastructure keys (AWS).

ClickFix (WebDAV Variant)

  • Distribution: Social engineering tricking users into running commands via Windows Run dialog.
  • Behavior: Uses rundll32.exe with ordinal export #1 to load payloads hosted on WebDAV servers over port 443. Uses evasion techniques like caret (^) obfuscation and WMI process spawning.
  • Objective: Initial access leading to credential theft and malware delivery.

IOC Analysis

The provided indicators span multiple categories requiring different response actions:

  • File Hashes (SHA256/MD5/SHA1): Associated with the ClickFix payloads and npm malware. These should be blocked in EDR solutions and used to scan on-disk artifacts.
  • Domains: A mix of C2 infrastructure (a.dev-tunnels.com), typosquatting/phishing (git-tanstack.com, pasastesintag.pics), and WebDAV delivery infrastructure. These require immediate DNS sinkholing or firewall blocking.
  • CVE (CVE-2026-48558): A critical software vulnerability. Prioritize patching SimpleHelp RMM instances immediately.

SOC teams should operationalize these IOCs by ingesting them into SIEM correlation rules and EDR watchlists.

Detection Engineering

Sigma Rules

YAML
title: Potential ClickFix WebDAV Rundll32 Execution
description: Detects suspicious rundll32 execution with ordinal exports over WebDAV/HTTPS, indicative of ClickFix campaigns.
status: experimental
date: 2026/07/30
author: Security Arsenal
references:
    - https://otx.alienvault.com/pulse/6793a5b18f5f4c0d8c6b5f5f5f5f5f5f
tags:
    - attack.defense_evasion
    - attack.execution
    - attack.t1218.011
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith:
            - '\rundll32.exe'
        CommandLine|contains:
            - '.dll'
            - '.dat'
        CommandLine|contains|all:
            - 'https://'
            - 'ordinal'
    condition: selection
falsepositives:
    - Legitimate system administration (rare)
level: high
---
title: NPM Supply Chain Attack Bun Runtime Spawn
description: Detects npm or Node.js spawning the Bun runtime, a behavior observed in the Shai-Hulud npm worm campaign.
status: experimental
date: 2026/07/30
author: Security Arsenal
references:
    - https://otx.alienvault.com/pulse/6793a5b18f5f4c0d8c6b5f5f5f5f5f5f
tags:
    - attack.initial_access
    - attack.execution
    - attack.t1195.002
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith:
            - '\npm.cmd'
            - '\node.exe'
    selection_child:
        Image|endswith:
            - '\bun.exe'
    condition: all of selection_*
falsepositives:
    - Legitimate developer usage of Bun runtime
level: medium
---
title: TaskWeaver Node.js Suspicious Child Process
description: Detects Node.js spawningcmd or powershell, potentially indicative of TaskWeaver loader activity.
status: experimental
date: 2026/07/30
author: Security Arsenal
references:
    - https://otx.alienvault.com/pulse/6793a5b18f5f4c0d8c6b5f5f5f5f5f5f
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        Image|endswith:
            - '\node.exe'
    selection_child:
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
    filter_legit:
        CommandLine|contains:
            - 'npm'
            - 'yarn'
            - 'webpack'
            - 'vite'
    condition: selection_parent and selection_child and not filter_legit
falsepositives:
    - Legitimate development scripts
level: medium

KQL (Microsoft Sentinel)

KQL — Microsoft Sentinel / Defender
// Hunt for ClickFix related WebDAV connections and rundll32 activity
DeviceProcessEvents
| where Timestamp > ago(7d)
| where FileName in~ ("rundll32.exe")
| where ProcessCommandLine has "https://" and (ProcessCommandLine has ".dll" or ProcessCommandLine has "#1")
| project Timestamp, DeviceName, AccountName, ProcessCommandLine, InitiatingProcessFileName
| extend IOCHit = "ClickFix_WebDAV"
;
// Hunt for specific file hashes from OTX Pulses
DeviceFileEvents
| where Timestamp > ago(7d)
| where SHA256 in ("00cc86d1144020c24c8fbb3a8dc6b908926497ebd23be3bf854360f93d1c8f4c", "f4a72600a3735c2a4d843875ea61bbb6f935a1af51a81f2fbc992ce11ba94afc", "2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96", "f11057ab58bef936d98ba189829c64260a6a540cdaa046f93613138e820c98c6")
| project Timestamp, DeviceName, FolderPath, SHA256, InitiatingProcessAccountName
| extend IOCHit = "OTX_FileHash"
;
// Hunt for npm worm domains
DeviceNetworkEvents
| where Timestamp > ago(7d)
| where RemoteUrl has_any ("git-tanstack.com", "a.dev-tunnels.com")
| project Timestamp, DeviceName, RemoteUrl, RemoteIP, InitiatingProcessFileName
| extend IOCHit = "OTX_C2_Domain"

PowerShell Hunt Script

PowerShell
# IOC Hunter for TaskWeaver, ClickFix, and Phishing Domains
$IOC_Domains = @(
    "a.dev-tunnels.com",
    "git-tanstack.com",
    "gentletouchchiropracticclinicauroracol.com",
    "pasastesintag.pics"
)

$IOC_Hashes = @(
    "00cc86d1144020c24c8fbb3a8dc6b908926497ebd23be3bf854360f93d1c8f4c",
    "f4a72600a3735c2a4d843875ea61bbb6f935a1af51a81f2fbc992ce11ba94afc",
    "2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96",
    "f11057ab58bef936d98ba189829c64260a6a540cdaa046f93613138e820c98c6"
)

Write-Host "[*] Scanning for established network connections to malicious domains..." -ForegroundColor Cyan
Get-NetTCPConnection | ForEach-Object {
    $process = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
    if ($process) {
        try {
            $remoteHost = [System.Net.Dns]::GetHostEntry($_.RemoteAddress).HostName
        } catch {
            $remoteHost = $_.RemoteAddress
        }
        
        foreach ($domain in $IOC_Domains) {
            if ($remoteHost -like "*$domain*") {
                Write-Host "[!] Suspicious Connection Found: $($process.ProcessName) (PID: $($process.Id)) connected to $remoteHost" -ForegroundColor Red
            }
        }
    }
}

Write-Host "[*] Scanning recent files for known malicious hashes..." -ForegroundColor Cyan
$Drives = Get-PSDrive -PSProvider FileSystem
foreach ($Drive in $Drives) {
    Write-Host "Scanning $($Drive.Root)..."
    Get-ChildItem -Path $Drive.Root -Recurse -ErrorAction SilentlyContinue -File | 
    Where-Object { $_.Length -gt 0kb -and $_.Length -lt 10mb } | 
    ForEach-Object {
        $hash = (Get-FileHash -Path $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
        if ($IOC_Hashes -contains $hash) {
            Write-Host "[!] Malicious File Detected: $($_.FullName) (SHA256: $hash)" -ForegroundColor Red
        }
    }
}

Response Priorities

  • Immediate:

    • Block IOCs: Sinkhole or block all listed domains and IPs at the network perimeter.
    • Patch: Immediately patch SimpleHelp RMM instances to mitigate CVE-2026-48558.
    • Hunt: Scan environments for the listed file hashes and investigate processes spawning bun.exe or unusual rundll32.exe ordinal calls.
  • 24 Hours:

    • Audit: Audit GitHub and AWS credentials if your organization utilizes the affected npm packages (@tanstack, @mistralai, etc.). Rotate keys if compromise is suspected.
    • Review: Review RMM logs for unauthorized technician access correlating with the SimpleHelp exploitation timeline.
  • 1 Week:

    • Supply Chain: Implement software supply chain governance (e.g., dependency pinning, private npm registries).
    • Hardening: Restrict the use of WebDAV and rundll32.exe on endpoints where not business-critical.

Related Resources

Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub

darkwebotx-pulsedarkweb-credentialstaskweaver-stealernpm-supply-chainclickfix-campaigncredential-harvesting

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.