registry  /  nodemon-gulp  /  3.1.16

nodemon-gulp@3.1.16

OSV Malicious Advisory

scanned 1d ago · by OpenSSF/OSV

OpenSSF/OSV advisory MAL-2026-10065 confirms this npm version as malicious. Package is published as `nodemon-gulp` but its contents are a verbatim copy of the upstream `nodemon` project: `package.json` declares `author: Remy Sharp`, `homepage: https://nodemon.io`, and `bin: { "nodemon": "./bin/nodemon.js" }`, so installing this package places a `nodemon` shim on the user's PATH supplied by an unrelated publisher. `package.json` also declares `"ts-webplug": "3.0.5"` as a runtime dependency,...

Advisory
MAL-2026-10065
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in nodemon-gulp (npm)
Details
Package is published as `nodemon-gulp` but its contents are a verbatim copy of the upstream `nodemon` project: `package.json` declares `author: Remy Sharp`, `homepage: https://nodemon.io`, and `bin: { "nodemon": "./bin/nodemon.js" }`, so installing this package places a `nodemon` shim on the user's PATH supplied by an unrelated publisher. `package.json` also declares `"ts-webplug": "3.0.5"` as a runtime dependency, yet no file under lib/ or bin/ ever `require()`s `ts-webplug`. The only effect of declaring this dep is to silently pull `ts-webplug` into the installer's dependency tree on `npm install`, where its lifecycle and import-time code can execute. This is the canonical namespace-abuse + typosquat-loader shape: a clone of a well-known package, republished under a confusable name, used as a vehicle to deliver an otherwise-unjustified third-party dependency to anyone who installs it. ## Source: ghsa-malware (bf7d5e881aed308912128dc41892a1e12dbedfd29ced5195ff2078be80dc6302) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Decision reason
No blocking static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessDynamicRequireEnvironmentVarsFilesystemShell
Supply chain
UrlStrings
ManifestNo manifest risk signals triggered.
scanned 27 file(s), 82.2 KB of source, external domains: git.io, github.com

Source & flagged code

2 flagged · loading source
bin/nodemon.jsView file
2L3: const cli = require('../lib/cli'); L4: const nodemon = require('../lib/');
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/nodemon.jsView on unpkg · L2
bin/windows-kill.exeView file
path = bin/windows-kill.exe kind = native_binary sizeBytes = 80384 magicHex = [redacted]
Medium
Ships Native Binary

Package ships native binary artifacts.

bin/windows-kill.exeView on unpkg

Findings

4 Medium3 Low
MediumDynamic Requirebin/nodemon.js
MediumEnvironment Vars
MediumShips Native Binarybin/windows-kill.exe
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowUrl Strings