Malicious code in app-svm-layer (npm)
The npm package app-svm-layer contained malicious code in its postinstall script that executed automatically on install, establishing unauthorized SSH access, exfiltrating credentials and configuration files, and scanning for sensitive data across the host system.
- Disclosed
- Last updated
- Blast radius
- Any developer or CI/CD system that installs app-svm-layer from npm; systems with SSH access and sensitive configuration files (API keys, database credentials, Solana keypairs).
- Ecosystems
- Attack vectors
- Affected entities
- app-svm-layernpm package containing malicious postinstall script
The npm package app-svm-layer was found to contain malicious code in its postinstall script (test.js), which executed unconditionally upon installation without user interaction. The malicious script performed three primary attack flows targeting the installer's host system.
The first flow fetched an attacker-controlled SSH public key from http://95.216.118.146:3001/api/ssh-key and appended it to ~/.ssh/authorized_keys, then executed sudo ufw allow 22/tcp to ensure inbound SSH access was enabled. This granted the attacker persistent remote SSH access to any system where the package was installed.
The second flow recursively searched the current working directory and home directory for sensitive configuration files (id.json, config.toml, Config.toml, env, .env) and exfiltrated their contents via HTTP POST to http://95.216.118.146:3000/api/v1, prefixed with the local username. These files typically contain API keys, database credentials, and Solana keypairs.
The third flow downloaded file scan patterns from the attacker's server, then recursively walked the user's home directory (Unix) or all logical drives (Windows via wmic/powershell), and uploaded matching files in batches of 100 to http://95.216.118.146:3001/api/v1 with username and platform metadata. All three flows executed at install time with no user interaction required.
Indicators of compromise
- Packages
- app-svm-layer
- IPs
- 95.216.118.146
Remediation
- Immediately uninstall app-svm-layer from all systems: npm uninstall app-svm-layer
- Audit ~/.ssh/authorized_keys on all affected systems and remove any unauthorized SSH public keys
- Rotate all API keys, database credentials, and Solana keypairs that may have been exfiltrated
- Review firewall rules and disable SSH access (sudo ufw deny 22/tcp) if it was not previously enabled
- Scan systems for any files that may have been uploaded to the attacker's server and assess for data breach
- Review npm package dependencies and audit for other potentially malicious packages
- Implement npm package scanning and verification in CI/CD pipelines to detect postinstall scripts and suspicious behavior
Sources
- GitHub Advisory GHSA-7m36-xw8v-8hq9 · GitHub Advisory Database
Cite this entry
"Malicious code in app-svm-layer (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed July 28, 2026; last updated July 28, 2026. https://supplychainattack.org/incident/malicious-code-in-app-svm-layer-npm-1gka2a
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- activecritical
Malware in @omniwatch-wick/cli
Malware discovered in the npm package @omniwatch-wick/cli. Systems with this package installed are considered fully compromised and require immediate remediation.
npmCompromised package - activecritical
Malware in chain-manager
Malware discovered in the npm package chain-manager. Systems with this package installed or running are considered fully compromised and require immediate remediation.
npmCompromised package - containedcritical
Malicious code in toll_free (npm)
The npm package toll_free version 1.0.1 was identified as malicious by the OpenSSF Package Analysis project. The package executes commands associated with malicious behavior.
npmCompromised package - containedcritical
Malicious code in blots (npm)
The npm package 'blots' version 2.1.0 was identified by the OpenSSF Package Analysis project as containing malicious code that executes commands associated with malicious behavior. The package has been flagged in the OpenSSF malicious packages database.
npmCompromised package