# MAL-2026-17668: Malicious code in @dransay/address-validation (npm)


- **Type:** Malicious package
- **Package:** `@dransay/address-validation` (npm)
- **Published:** 8 Oct 2026

## What is MAL-2026-17668?

MAL-2026-17668 is a malicious package in @dransay/address-validation, published on 8 Oct 2026. 

### Official description

@dransay/address-validation@99.0.0 is a dependency-confusion probe claiming the internal `@dransay/*` namespace, not an identified public package. Its `preinstall` hook runs on npm install as `node beacon.js` and sends a DNS lookup and an HTTPS GET to `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, using the package name in the request; npm account `0xamino_hunter` published it on 2026-10-08.

@dransay/address-validation@99.0.0 declares a preinstall script (`node beacon.js`) that fires on `npm install` and performs a DNS lookup plus HTTPS GET to a subdomain of the Interactsh collaborator service `oast.site` with the path `/address-validation`. The implausibly high version number (99.0.0) and the preinstall callback are consistent with a dependency-confusion probe: any environment resolving this name reveals its egress IP and the package name to the operator of the collaborator host. No installer secrets, environment variables, or filesystem contents are read; the beacon transmits only install metadata (source IP, package name, DNS resolver). No code is fetched or executed from the remote host, and no persistence is established.

The OpenSSF Package Analysis project identified '@dransay/address-validation' @ 99.0.0 (npm) as malicious.

It is considered malicious because:

- The package communicates with a domain associated with malicious activity.

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

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-17668 is a malicious package: @dransay/address-validation (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-17668/ (Markdown: https://insights.sbomify.com/MAL-2026-17668/index.md)
```

## Sources

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

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