Detection rules › Sigma
Axios NPM Compromise Indicators - macOS
Detects the macOS-specific execution chain of the plain-crypto-js malicious npm dependency in Axios NPM Package, including AppleScript execution via osascript, payload download, permission modification, execution, and cleanup.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Initial Access | T1195.002 Supply Chain Compromise: Compromise Software Supply Chain |
| Execution | T1059.002 Command and Scripting Interpreter: AppleScript, T1059.004 Command and Scripting Interpreter: Unix Shell |
| Command & Control | T1105 Ingress Tool Transfer |
Event coverage
| Provider | Event | Title |
|---|---|---|
| ESF | exec | Process Execution (Notify) |
Rule body yaml
title: Axios NPM Compromise Indicators - macOS
id: a09ee860-31b3-4586-8a68-0ebd74ce0e5f
status: experimental
description: |
Detects the macOS-specific execution chain of the plain-crypto-js malicious npm dependency in Axios NPM Package, including AppleScript execution via osascript, payload download, permission modification, execution, and cleanup.
author: Swachchhanda Shrawan Poudel (Nextron Systems)
references:
- https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
- https://www.derp.ca/research/axios-npm-supply-chain-rat/
- https://www.trendmicro.com/zh_hk/research/26/c/axios-npm-package-compromised.html
- https://www.elastic.co/security-labs/axios-supply-chain-compromise-detections
- https://www.virustotal.com/gui/file/e10b1fa84f1d6481625f741b69892780140d4e0e7769e7491e5f4d894c2e0e09
date: 2026-04-01
tags:
- attack.initial-access
- attack.t1195.002
- attack.execution
- attack.command-and-control
- attack.t1059.002
- attack.t1059.004
- attack.t1105
- detection.emerging-threats
logsource:
category: process_creation
product: macos
detection:
selection_osascript:
CommandLine|contains|all:
- 'nohup '
- 'osascript '
- '/tmp/6202033'
selection_curl_download:
CommandLine|contains|all:
- 'curl '
- 'packages.npm.org/product'
- '/Library/Caches/com.apple.act.mond'
selection_cleanup:
CommandLine|contains|all:
- 'rm '
- '-rf '
- '/tmp/6202033'
condition: 1 of selection_*
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
1 of selection_*Stage 1: selection_osascript
selection_osascript:
CommandLine|contains|all:
- 'nohup '
- 'osascript '
- '/tmp/6202033'
Stage 2: selection_curl_download
selection_curl_download:
CommandLine|contains|all:
- 'curl '
- 'packages.npm.org/product'
- '/Library/Caches/com.apple.act.mond'
Stage 3: selection_cleanup
selection_cleanup:
CommandLine|contains|all:
- 'rm '
- '-rf '
- '/tmp/6202033'
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
CommandLine | match |
|