# MAL-2026-10997: Malicious code in n8n-nodes-http-probe (npm)


- **Type:** Malicious package
- **Package:** `n8n-nodes-http-probe` (npm)
- **Published:** 22 Jul 2026

## What is MAL-2026-10997?

MAL-2026-10997 is a malicious package in n8n-nodes-http-probe, published on 22 Jul 2026. 

### Official description

index.js executes a top-level IIFE on module load that (1) spawns /bin/bash wired to a TCP socket connecting to 103.27.109.184:8895, giving the attacker an interactive shell on the installer's host; (2) runs multiple `docker run` variants (bind-mount `/:/host` and `--privileged --pid=host nsenter -t 1`) to append an attacker-controlled ssh-ed25519 key labeled 'n8n-backdoor' into /root/.ssh/authorized_keys on the underlying Docker host, establishing persistent root SSH access that survives package removal; (3) collects host reconnaissance via `hostname`, `id`, `hostname -I`, and `docker ps` and POSTs it to 103.27.109.184:8890 over raw TCP; (4) reads /etc/kubernetes/kubelet.conf and /root/.kube/config from the host via Docker bind-mount and ships them to 103.27.109.184:8891; and (5) attempts authentication against an adjacent WhatsApp Evolution API container (172.18.0.2:8080, hardcoded container id 7c28aaf2eca2) with default admin credentials for lateral movement. Behavior fires automatically on `require('n8n-nodes-http-probe')`.

## What should I do about MAL-2026-10997?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-10997 is a malicious package: n8n-nodes-http-probe (npm). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-10997/ (Markdown: https://insights.sbomify.com/MAL-2026-10997/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-10997

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-10997/
Summaries are generated and may contain mistakes; the official description above is the record.
