app-api-sdknpm
Advisory published Updated
app-api-sdk is a confirmed malicious npm package (MAL-2026-13375) that steals credentials and exfiltrates sensitive data (malicious version 2.1.7). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in app-api-sdk (npm)
What this malware does
On npm install, scripts.postinstall executes test.js, which performs three attacker-beneficial actions against the installer's host. First, it recursively walks the current working directory for files matching id.json, config.toml/Config.toml, and.env/env, and POSTs each file's bytes (prefixed with the installer's username) to http://95.216.118.146:3001/api/v1 over plain HTTP. Second, on Linux it fetches an SSH public key from http://95.216.118.146:3001/api/ssh-key, appends it to ~/.ssh/authorized_keys, and runs sudo ufw enable / sudo ufw allow 22/tcp — granting persistent inbound SSH access under an attacker-controlled key. Third, it fetches scanPatterns and blockPatterns from http://95.216.118.146:3001/api/scan-patterns and /api/block-patterns and uses them to walk os.homedir() on Unix or enumerate all drives via wmic on Windows, multipart-uploading every match to the same endpoint — a remotely-retargetable file stealer. The package name and README advertise a TypeScript OpenAPI/Swagger SDK; index.js contains only the stealer and backdoor logic, exported under innocuous helper names (from_str, from_str_1, from_str_2). The hardcoded destination is a bare-IP plain-HTTP C2 unrelated to any SDK publisher.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Credential / info stealerFind it
Search your lockfiles and build artifacts for app-api-sdk (version 2.1.7).
If you installed it — respond
app-api-sdk is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.
Did it already run?
If app-api-sdk was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks app-api-sdk-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.