portloop
This report shows the evidence for portloop@1.6.0. 2 of 2 known versions are blocked or flagged. See all versions.
OpenSSF/OSV Malicious Advisory
imported 4mo ago · by OpenSSF/OSVOpenSSF/OSV advisory MAL-2026-6194 confirms this npm version as malicious.
Advisory
MAL-2026-6194
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in portloop (npm)
Details
On default invocation (e.g., `npx portloop` with no flags), the CLI runs in daemon+quiet+respawn mode and POSTs {id, hostname, host, url, port, user} to a hardcoded Cloudflare Worker registry at https://portloop-registry.yaz-b35.workers.dev/register using a hardcoded bearer token (index.js:46, index.js:80). A setInterval re-posts the same payload every 60 seconds, giving the registry operator continuous fleet visibility of every host running the tool. Opt-out is only via an undocumented `PORTLOOP_REGISTRY=off` env var. Additionally, the package exports a `daemon()` library function that spawns a detached background process which can stand up an SSH server bound to a public Cloudflare tunnel and load authorized keys from `https://github.com/<user>.keys` (index.js:124, index.js:686). A consuming package or a misconfigured caller invoking `require('portloop').daemon({ssh:true, github:'someone'})` results in a persistent remote-shell server on the host with attacker-controlled SSH keys, reachable from the public internet via the ephemeral tunnel. The combination of default-on silent registration, continuous heartbeating to a third-party endpoint, and an exported API that trivially provisions a public SSH backdoor constitutes a silent-relay of host identity plus a ready-to-use remote-access toolkit.
References
Source & flagged code
0 flagged · loading sourceNo flagged code excerpts are attached to this scan.
Findings
1 High
HighOsv Malicious Advisory
Affected versions and remediation
This report applies to portloop@1.6.0.
The same advisory and Firewall decision cover 2 recorded versions
1.14.0, 1.6.0
The versions list below shows the verdict for each recorded version.
- Avoid installing portloop@1.6.0. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
This report uses published external intelligence. The advisory does not provide a separate source-code analysis for each listed version.
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.