Malicious code in @bitwardne/cli (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (cf7d0b3168a3a56cb6208688970e6109a964ccfb99a97fe7061d57e007b67ca6) package.json declares a preinstall lifecycle script of the form 'curl -L | 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.
- Products
- @bitwardne/cli
- Affected versions
- 1.0.1
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 10:01 UTC · Revision 1
Source evidence
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (cf7d0b3168a3a56cb6208688970e6109a964ccfb99a97fe7061d57e007b67ca6) package.json declares a preinstall lifecycle script of the form 'curl -L | 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.
osv:MAL-2026-17693
@bitwardne/cli
Fixed versions: Not specified
Complete source record
{
"id": "a7d813b0e56ed683a7f024d49df18c4e63e31fff47718c99320743dda8602bea",
"url": "https://osv.dev/vulnerability/MAL-2026-17693",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in @bitwardne/cli (npm)",
"summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (cf7d0b3168a3a56cb6208688970e6109a964ccfb99a97fe7061d57e007b67ca6) package.json declares a preinstall lifecycle script of the form 'curl -L | 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.",
"evidence": "osv:MAL-2026-17693",
"products": [
{
"name": {
"value": "@bitwardne/cli",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-17693",
"aliases": [
"MAL-2026-17693"
],
"affected": [
{
"package": {
"name": "@bitwardne/cli",
"purl": "pkg:npm/%40bitwardne/cli",
"ecosystem": "npm"
},
"versions": [
"1.0.1"
],
"database_specific": {
"cwes": [
{
"name": "Embedded Malicious Code",
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@bitwardne/cli/MAL-2026-17693.json",
"indicators": {
"evidence_files": [
{
"path": "package.json",
"tlsh": "1201c06607ed9c752f819fc8fdfebcc498fa121286d8c48ba0a6dd0882551c6745f1e4",
"sha256": "006c8facf58a8c21b5564c575bcbefb5375e1f5f7df0a9e25d6a473a57679e8f"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "c475ed5a8e7787ce4285f9f88fc09c7c7445c78e",
"sha512_sri": "sha512-9lepiqc0snkDE4JLMAZ7VEEYb6qgDpQ3UT7ejpuk2c0c8JWE3Eu/oZT63CjpiY+pgYSB3820FxDv8I2tTTRI5A=="
},
"filename": "cli-1.0.1.tgz"
}
]
}
}
}
],
"modified": "2026-10-08T17:25:14.092218020Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/@bitwardne/cli/v/1.0.1"
],
"provider_metadata": {
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021212",
"sha256": "cf7d0b3168a3a56cb6208688970e6109a964ccfb99a97fe7061d57e007b67ca6",
"source": "amazon-inspector",
"versions": [
"1.0.1"
],
"import_time": "2026-10-08T17:17:19.186538972Z",
"modified_time": "2026-10-08T16:53:40Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 104254,
"published_at": "2026-10-08T16:53:40+00:00"
}