VORANT. Threat Intelligence Research Sign in Create a free account

Nx build system supply-chain compromise steals credentials

routine threat technology

Free public brief. The indicators, the detections with Splunk SPL already written (plus Elastic and KQL where they apply), and a Slack alert the next time this touches a vendor you run are in the app — free account, no card.

Malicious code in Nx npm packages exfiltrates developer credentials, SSH keys, and wallet data via post-install hooks.

A supply-chain attack compromised multiple Nx build-system packages and related plugins published to npm, injecting malicious post-install hooks that execute on developer machines. The attacker-controlled telemetry.js script targets non-Windows systems, collecting host information, cryptocurrency wallets, development credentials, SSH keys, npm tokens, and .gitconfig data. The malware weaponizes local AI assistant CLIs (Claude, Gemini, q) to aid reconnaissance and data collection. After exfiltration, the malware triple-base64 encodes stolen data, uploads it to a public GitHub repository named s1ngularity-repository created with compromised GitHub tokens, and causes disruption by triggering system shutdowns and terminal DoS conditions. Affected versions span nx/devkit, nx/enterprise, nx/eslint, nx/js, nx/key, nx/node, and nx/workspace across versions 20.9.0, 21.5.0, and 3.2.0. This represents an active, in-the-wild threat to developers using compromised package versions.

Mentioned in this report

Vulnerabilities CVE-2025-10894
Malware telemetry.js

Detection guidance

AI Assistant CLI Launched With Permission-Bypass Flags (Linux)

ATT&CK T1005

Claude, Gemini or Amazon Q CLI run with flags that disable approval prompts, as used by the Nx supply-chain malware to harvest files and secrets. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: AI Assistant CLI Launched With Permission-Bypass Flags (Linux)
description: 'Detects Claude, Gemini or Amazon Q CLIs started with flags that disable
  user approval (--dangerously-skip-permissions, --yolo, --trust-all-tools). The Nx
  supply-chain malware weaponised local AI CLIs this way for reconnaissance and credential/file
  discovery. Review the parent process: npm/node post-install chains are the strongest
  signal.'
tags:
- attack.collection
- attack.t1005
- attack.initial-access
- attack.t1195
logsource:
  category: process_creation
  product: linux
detection:
  selection_claude:
    CommandLine|contains: --dangerously-skip-permissions
  selection_gemini:
    CommandLine|contains|all:
    - gemini
    - --yolo
  selection_q:
    CommandLine|contains: --trust-all-tools
  condition: 1 of selection_*
falsepositives:
- Developers intentionally running AI coding assistants in auto-approve mode inside
  sandboxes or containers
- Internal automation or CI jobs that drive AI CLIs non-interactively
level: medium
id: dfc6c375-65cb-5f5b-8cfa-31f843127923
status: experimental
author: Vorant
references:
- https://www.cisecurity.org/advisory/a-vulnerability-in-nx-build-system-package-could-allow-for-sensitive-data-exfiltration_2025-090

AI Assistant CLI Launched With Permission-Bypass Flags (macOS)

ATT&CK T1005

Claude, Gemini or Amazon Q CLI run with flags that disable approval prompts on macOS developer machines, as in the Nx supply-chain attack. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: AI Assistant CLI Launched With Permission-Bypass Flags (macOS)
description: Detects Claude, Gemini or Amazon Q CLIs started on macOS with flags that
  disable user approval (--dangerously-skip-permissions, --yolo, --trust-all-tools).
  The Nx supply-chain malware weaponised local AI CLIs this way to enumerate and collect
  sensitive files. Review the parent process for npm/node post-install activity.
tags:
- attack.collection
- attack.t1005
- attack.initial-access
- attack.t1195
logsource:
  category: process_creation
  product: macos
detection:
  selection_claude:
    CommandLine|contains: --dangerously-skip-permissions
  selection_gemini:
    CommandLine|contains|all:
    - gemini
    - --yolo
  selection_q:
    CommandLine|contains: --trust-all-tools
  condition: 1 of selection_*
falsepositives:
- Developers intentionally running AI coding assistants in auto-approve mode
- Internal automation that drives AI CLIs non-interactively
level: medium
id: 7537d1a2-e67b-54ae-b8ba-02756490538e
status: experimental
author: Vorant
references:
- https://www.cisecurity.org/advisory/a-vulnerability-in-nx-build-system-package-could-allow-for-sensitive-data-exfiltration_2025-090

Node Executing telemetry.js Spawned From npm Install Hook

ATT&CK T1195

npm lifecycle script launching node to run telemetry.js, matching the malicious post-install hook in the compromised Nx packages. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: Node Executing telemetry.js Spawned From npm Install Hook
description: Detects node executing a script named telemetry.js on Linux, with an
  npm or shell parent as seen in package post-install hooks. The compromised Nx packages
  ran telemetry.js on install to collect credentials, SSH keys, npm tokens and wallets.
tags:
- attack.initial-access
- attack.t1195
- attack.collection
- attack.t1005
logsource:
  category: process_creation
  product: linux
detection:
  selection_img:
    Image|endswith: /node
    CommandLine|contains: telemetry.js
  selection_parent:
    ParentCommandLine|contains:
    - npm
    - postinstall
    - node_modules
  condition: selection_img and selection_parent
falsepositives:
- Legitimate npm packages that ship their own telemetry.js install script
level: medium
id: 7f2c5ce9-3294-546a-be05-2bf18c8fa3f8
status: experimental
author: Vorant
references:
- https://www.cisecurity.org/advisory/a-vulnerability-in-nx-build-system-package-could-allow-for-sensitive-data-exfiltration_2025-090

1 more detection for this report is in the app — the rules that match its indicators, plus the Sigma rules already converted to Splunk SPL, to Elastic where their fields map onto Elastic's integrations and to Microsoft Defender XDR KQL wherever Defender records the activity, and the YARA and Suricata. Three days of it free, no card.

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://www.cisecurity.org/advisory/a-vulnerability-in-nx-build-system-package-could-allow-for-sensitive-data-exfiltration_2025-090

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators, its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply), the actors and CVEs it names as live profiles, and the vendor research on the same campaign — the primary source the news paraphrased, cited and read directly.

It sits in a corpus of 13,854 reports from 146 sources, 616 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Name the vendors you run and Slack hears about the reports that touch them — about forty a week that are yours, not the four hundred that are not.

Create a free account   What it costs