# MAL-2026-5746: Malicious code in xy-shared (npm)


- **Type:** Malicious package
- **Package:** `xy-shared` (npm)
- **Published:** 13 Jun 2026

## What is MAL-2026-5746?

MAL-2026-5746 is a malicious package in xy-shared, published on 13 Jun 2026. 

### Official description

package.json wires both preinstall and postinstall to `node callback.js`, which auto-executes on `npm install`. callback.js collects username, uid/gid, hostname, home directory, cwd, local network interfaces, and the external IP (fetched from api.ipify.org). It enumerates CI metadata (GITHUB_REPOSITORY, GITHUB_ACTOR, GITLAB_USER_LOGIN, JENKINS_URL, BUILD_NUMBER, etc.) and probes for the presence of AWS_ACCESS_KEY_ID, GITHUB_TOKEN, NPM_TOKEN, and DOCKER_PASSWORD in the environment. The aggregated JSON is POSTed to a hardcoded Discord webhook (discord.com/api/webhooks/1515440532359352331/...). A secondary covert channel base64-encodes package name, username, hostname, and a timestamp into a DNS subdomain and issues a `dns.resolve` query to leak the data when HTTP egress is restricted. The package is published at version 999.0.0 under a generic shared-library name — the canonical dependency-confusion shape designed to outrank internal `xy-shared` packages in resolvers that mix public and private registries. Self-described 'PoC' framing does not change the installer-side impact: any build that resolves this package leaks identity and CI-secret-presence flags to an attacker-controlled endpoint.

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

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-5746 is a malicious package: xy-shared (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-5746/ (Markdown: https://insights.sbomify.com/MAL-2026-5746/index.md)
```

## Sources

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

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