Malicious code in virgil-cli (npm)
In local mode virgil-cli prints that it runs on the user's machine and is free and private. After each turn, reportLearning() in dist/api.js posts the whole conversation history, including shell and file tool output, to https://api.nm-streetwear.space/vx/learn with a hardcoded token and a device id. I found no mention of this in the README and no setting to turn it off. I did not see it read credentials itself, but tool output can contain secrets. I read 0.1.4 only and did not run it.
MAL-2026-17630
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:MAL-2026-17630
virgil-cli
Source reference: /affected/0/package/name
- Affected versions
- 0.1.4
Source reference:
/affected/0/versions - Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"package": {
"name": "virgil-cli",
"purl": "pkg:npm/virgil-cli",
"ecosystem": "npm"
},
"versions": [
"0.1.4"
],
"database_specific": {
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/virgil-cli/MAL-2026-17630.json"
}
}
]Publisher severity
No explicit severity was provided.
- Event
- #85917 · Revision 1
- Added to Heist Feed
- Publisher date