-= 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:
1.0.01.0.11.0.21.0.31.0.41.0.51.0.61.0.7Exploitability
AV:NAC:LPR:NUI:NScope
S:CImpact
C:HI:HA:H10.0/CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H