Malicious code in n8n-nodes-devops-utils (npm)
-= Per source details. Do not edit below this line.=-
Package masquerades as an n8n community node (package.json declares n8n.nodes: ["MyNode.js"], a trivial placeholder) while index.js contains an unrelated attack chain that executes as a top-level IIFE at require()-time. Behaviors observed: (1) spawns /bin/bash and wires its stdio to a TCP socket at hardcoded C2 103.27.109.184:8895, yielding an interactive reverse shell on the installer's host; (2) if Docker is available, runs docker run -v /:/host alpine and --privileged nsenter variants to append a hardcoded attacker ssh-ed25519 key (labeled 'n8n-backdoor') to /root/.ssh/authorized_keys on the host, establishing persistent root SSH access; (3) collects host recon (hostname, id, hostname -I, docker ps) and reads /etc/passwd, /etc/shadow, /root/.kube/config and /home/*/.kube/config via the same Docker mount, then POSTs results over raw TCP to 103.27.109.184 ports 8890 and 8891. The advertised n8n node functionality is a cover for full-host compromise, container-escape persistence, and Kubernetes/credential exfiltration.
The OpenSSF Package Analysis project identified 'n8n-nodes-devops-utils' @ 1.0.7 (npm) as malicious.
It is considered malicious because:
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준