# MAL-2026-12329: Malicious code in @shiftmarkets/shift-sdk-v4 (npm)


- **Type:** Malicious package
- **Package:** `@shiftmarkets/shift-sdk-v4` (npm)
- **Published:** 5 Aug 2026

## What is MAL-2026-12329?

MAL-2026-12329 is a malicious package in @shiftmarkets/shift-sdk-v4, published on 5 Aug 2026. 

### Official description

The package declares a postinstall script `node dist/recon.js` that runs automatically on `npm install`. The script collects installer-side reconnaissance data — hostname, username, SUDO_USER, home directory, current working directory, all local IPv4 addresses (including internal interfaces), DNS domain (via `dnsdomainname`), CI-provider flags, the full sorted list of `process.env` variable names, and a filtered subset of environment variable names matching secret/credential regex patterns — and POSTs the JSON payload over plain HTTP to the hardcoded bare IPv4 endpoint `http://138.68.108.20:80/cb`. An in-file comment frames the beacon as 'NON-SENSITIVE telemetry', but the destination is a bare IP with no publisher affiliation and the payload includes internal network topology and credential-shaped env variable names. The package presents itself as a scoped Shift Forex build compatible with the public `shift-sdk-v4` package and ships a minimal API-compatible stub in `dist/index.js`, consistent with a dependency-confusion lure against consumers who reference `shift-sdk-v4` from an internal registry.

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

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-12329 is a malicious package: @shiftmarkets/shift-sdk-v4 (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-12329/ (Markdown: https://insights.sbomify.com/MAL-2026-12329/index.md)
```

## Sources

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

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