Loading npm security reports…
socket@1.1.169: Suspicious npm security report (Warn) | LPM Firewall
Flagged — allowed with a warning
Allowed by default policy, but 26 finding(s) warrant review before installing.
socket@1.1.169 CLI for Socket.dev
AI Security Reviewscanned 2mo ago · by lpm-firewall-ai The source supports a user-invoked project-analysis CLI, not an automatic malicious installation chain. Because a bundled executable JAR remains outside complete source-level verification, the package should be warned rather than marked clean.
Static reason
High-risk behavior combination matched malicious policy.
Trigger
A user runs a socket CLI command that performs manifest or reachability analysis.
Impact
The invoked analysis may run build tooling against the selected project and communicate with the Socket API.
Mechanism
User-invoked subprocess and Maven-extension execution.
AI rationale
The source supports a user-invoked project-analysis CLI, not an automatic malicious installation chain. Because a bundled executable JAR remains outside complete source-level verification, the package should be warned rather than marked clean.
Evidence
bin/cli.js dist/cli.js dist/manifest-scripts/maven-extension/coana-maven-extension.jar
Decision evidencepublic snapshot AI called this Suspicious at 74.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
The user-invoked CLI launches a child Node process with the caller's arguments and environment. The manifest workflow can invoke Maven and load the bundled extension into that build process. A bundled JAR is a non-source executable artifact, so static source inspection cannot fully establish its behavior. The package contains dynamic Function construction in a vendored terminal library. Evidence against
package.json has no preinstall, install, or postinstall lifecycle hook. The package declares command-line binaries rather than import-time execution. The observed API endpoint is package-aligned. No source evidence showed credential harvesting, stealth persistence, or unsolicited project mutation. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem NativeBindings Network Shell
Supply chain
Source & flagged code18 flagged 19 L20: const spawnPromise = spawn(
L21: constants.execPath,
1152 if (this.options.stringify && code.indexOf('return ') === 0) {
L1153: return new Function('', code)();
L1154: }
4 void (async () => {
L5: const Module = require('node:module')
L6: const path = require('node:path')
Findings2 Critical 10 High 8 Medium 6 Low
Critical Credential Exfiltration external/@socketsecurity/registry/external/libnpmpack.js
Critical Trigger Reachable Dangerous Capability dist/vendor.js
High Child Process bin/cli.js
High Shell
High Eval external/blessed/lib/tput.js
High Credential Redirect Persistence dist/vendor.js
High Command Output Exfiltration dist/vendor.js
High Cross File Remote Execution Context dist/cli.js
High Trigger Reachable Credential Exfiltration dist/vendor.js
High Trigger Reachable Persistence dist/cli.js
High Ships High Entropy Blob dist/manifest-scripts/maven-extension/coana-maven-extension.jar
Affected versions and remediation This report applies to socket@1.1.169 .
See all versions of socket for other recorded verdicts.
Review the evidence and your use of socket@1.1.169 before allowing it. Restrict the permissions described in this report. Choose an independently verified alternative or release. This report does not establish that other versions are safe. Evidence last updated: 2026-09-07 12:23:05.008Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
HighEntropyStrings PossibleObfuscation UrlStrings
Manifest No manifest risk signals triggered.
scanned 247 file(s), 7.71 MB of source, external domains: 127.0.0.1, api.github.com, api.socket.dev, codeload.github.com, cve.mitre.org, cyclonedx.github.io, developer.mozilla.org, docs.github.com, docs.proxyman.io, docs.socket.dev, ecma-international.org, eev.ee, en.wikipedia.org, example.com, feross.org, gist.githubusercontent.com, github.com, mathiasbynens.be, npm.im, npms.io, registry.npmjs.org, socket.dev, tuf-repo-cdn.sigstore.dev, www.apache.org, www.scala-sbt.org
Oversized source lightweight scan
dist/vendor.js 6.59 MB file, sampled 256 KB
Filesystem Network ChildProcess EnvironmentVars NativeBindings Crypto DynamicRequire HighEntropyStrings UrlStrings github.com
external/@socketsecurity/registry/external/libnpmpack.js 3.25 MB file, sampled 256 KB
Filesystem Network ChildProcess EnvironmentVars Crypto HighEntropyStrings UrlStrings codeload.github.com gist.githubusercontent.com
external/@socketsecurity/registry/external/pacote.js 2.25 MB file, sampled 256 KB
Filesystem Network ChildProcess EnvironmentVars Crypto HighEntropyStrings UrlStrings codeload.github.com gist.githubusercontent.com registry.npmjs.org tuf-repo-cdn.sigstore.dev www.apache.org
Package source references dynamic require/import behavior.
bin/npm-cli.js
external/@socketsecurity/registry/external/libnpmpack.js View file 13 const require$$0$a = require('path')
L14: const require$$0$b = require('child_process')
L15: const require$$0$c = require('os')
...
L30: const require$$0$l = require('crypto')
L31: const require$$0$m = require('http')
L32: const require$$2$4 = require('https')
L33: const require$$0$n = require('dns')
L34: const require$$0$o = require('net')
...
L65: const hexify = char => {
L66: const h = char.charCodeAt(0).toString(16).toUpperCase()
L67: return `0x${h.length % 2 ? '0' : ''}${h}`
...
L233:
Critical Credential Exfiltration
Source appears to send environment or credential material to an external endpoint.
external/@socketsecurity/registry/external/libnpmpack.js View on unpkg · L13 13 const require$$0$a = require('path')
L14: const require$$0$b = require('child_process')
L15: const require$$0$c = require('os')
...
L30: const require$$0$l = require('crypto')
L31: const require$$0$m = require('http')
L32: const require$$2$4 = require('https')
L33: const require$$0$n = require('dns')
L34: const require$$0$o = require('net')
...
L65: const hexify = char => {
L66: const h = char.charCodeAt(0).toString(16).toUpperCase()
L67: return `0x${h.length % 2 ? '0' : ''}${h}`
...
L233:
Low Weak Crypto
Package source references weak cryptographic algorithms.
external/@socketsecurity/registry/external/libnpmpack.js View on unpkg · L13 22 Cross-file remote execution chain: dist/cli.js spawns dist/vendor.js; helper contains network access plus dynamic code execution.
L22: var bin = require('../external/@socketsecurity/registry/lib/bin');
L23: var childProcess = require('node:child_process');
L24: var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
...
L84: if (!result.ok) {
L85: process.exitCode = result.code ?? 1;
L86: }
...
L186: titles: Object.keys(data.top_five_alert_types),
L187: data: Object.values(data.top_five_alert_types)
L188: });
...
L1078: const {
L1079: cwd = process.cwd(),
L1080: defaultBranch,
High Cross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/cli.js View on unpkg · L22 22 Trigger-reachable persistence chain: manifest.exports -> dist/cli.js
L22: var bin = require('../external/@socketsecurity/registry/lib/bin');
L23: var childProcess = require('node:child_process');
L24: var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
...
L84: if (!result.ok) {
L85: process.exitCode = result.code ?? 1;
L86: }
...
L186: titles: Object.keys(data.top_five_alert_types),
L187: data: Object.values(data.top_five_alert_types)
L188: });
...
L1078: const {
L1079: cwd = process.cwd(),
L1080: defaultBranch,
High Trigger Reachable Persistence
A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/cli.js View on unpkg · L22 22 var bin = require('../external/@socketsecurity/registry/lib/bin');
L23: var childProcess = require('node:child_process');
L24: var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
...
L84: if (!result.ok) {
L85: process.exitCode = result.code ?? 1;
L86: }
...
L186: titles: Object.keys(data.top_five_alert_types),
L187: data: Object.values(data.top_five_alert_types)
L188: });
...
L1078: const {
L1079: cwd = process.cwd(),
L1080: defaultBranch,
Medium Install Persistence
Source writes installer persistence such as shell profile or service configuration.
dist/cli.js View on unpkg · L22 11 Trigger-reachable chain: manifest.exports -> dist/cli.js -> dist/vendor.js
L11: var require$$0$a = require('node:buffer');
L12: var require$$2$4 = require('node:https');
L13: var require$$1$7 = require('node:http');
...
L32: var node_buffer = require$$0$a;
L33: var childProcess = require('node:child_process');
L34: var require$$1$a = require('node:path/win32');
...
L46: var require$$12$1 = require$$6$4;
L47: var require$$0$o = require('node:dns');
L48: var require$$0$p = require('node:net');
...
L941: var _a$1, _b$1, _c$1;
L942: const minNodeVersion$1 = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 12;
L943: const nodeVersion$1 = (_b$1 = (_a$1 = process === null || process === void 0 ? void 0 : process.versions) === null || _a$1
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/vendor.js View on unpkg · L11 • Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
dist/vendor.js:
var readline = true;
readline: readline,
"node:readline": [">= 14.18 && < 15", ">= 16"],
"readline/promises": ">= 17",
"node:readline/promises": ">= 17",
requestOptions.headers['proxy-authorization'] = `Basic ${base64}`;
requestOptions.headers['proxy-authorization'] = `Basic ${base64}`;
var require_fs=/* @__PURE__ */__commonJSMin(exports=>{Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const nodeFs=require_runtime$12().IS_NODE?fs$5:void 0;funct...
High Credential Redirect Persistence
Manifest-reachable source sends a prompted API credential to a fixed unofficial gateway and persists the redirection.
dist/vendor.js View on unpkg 11 var require$$0$a = require('node:buffer');
L12: var require$$2$4 = require('node:https');
L13: var require$$1$7 = require('node:http');
...
L32: var node_buffer = require$$0$a;
L33: var childProcess = require('node:child_process');
L34: var require$$1$a = require('node:path/win32');
...
L46: var require$$12$1 = require$$6$4;
L47: var require$$0$o = require('node:dns');
L48: var require$$0$p = require('node:net');
...
L941: var _a$1, _b$1, _c$1;
L942: const minNodeVersion$1 = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 12;
L943: const nodeVersion$1 = (_b$1 = (_a$1 = process === null || process === void 0 ? void 0 : process.versions) === null || _a$1 === void 0 ? void 0 : _a$1.node) !== null && _b$1 !== voi...
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/vendor.js View on unpkg · L11 11 Trigger-reachable credential exfiltration chain: manifest.exports -> dist/cli.js -> dist/vendor.js
L11: var require$$0$a = require('node:buffer');
L12: var require$$2$4 = require('node:https');
L13: var require$$1$7 = require('node:http');
...
L32: var node_buffer = require$$0$a;
L33: var childProcess = require('node:child_process');
L34: var require$$1$a = require('node:path/win32');
...
L46: var require$$12$1 = require$$6$4;
L47: var require$$0$o = require('node:dns');
L48: var require$$0$p = require('node:net');
...
L941: var _a$1, _b$1, _c$1;
L942: const minNodeVersion$1 = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 12;
L943: const nodeVersion$1 = (_b$1 = (_a$1 = process === null || process === void 0 ? void 0 : process.ve
High Trigger Reachable Credential Exfiltration
A manifest entrypoint or package-local install chain reaches credential exfiltration behavior.
dist/vendor.js View on unpkg · L11 • stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 13
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
dist/vendor.js View on unpkg • path = dist/vendor.js
kind = oversized_source_file
sizeBytes = 6912520
magicHex = [redacted]
Medium Oversized Source File
Package contains source files above the normal full-analysis size ceiling.
dist/vendor.js View on unpkg • path = dist/socket-completion.bash
kind = build_helper
sizeBytes = 8951
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
dist/socket-completion.bash View on unpkg dist/manifest-scripts/maven-extension/coana-maven-extension.jar View file • path = dist/manifest-scripts/maven-extension/coana-maven-extension.jar
kind = high_entropy_blob
sizeBytes = 26510
magicHex = [redacted]
High Ships High Entropy Blob
Package ships high-entropy non-source blobs.
dist/manifest-scripts/maven-extension/coana-maven-extension.jar View on unpkg • path = dist/manifest-scripts/maven-extension/coana-maven-extension.jar
kind = compressed_blob
sizeBytes = 26510
magicHex = [redacted]
Medium Ships Compressed Blob
Package ships compressed or archive-like blobs.
dist/manifest-scripts/maven-extension/coana-maven-extension.jar View on unpkg • path = dist/manifest-scripts/maven-extension/coana-maven-extension.jar
kind = nested_archive_needs_inspection
sizeBytes = 26510
magicHex = [redacted]
Low Nested Archive Needs Inspection
Package ships a nested archive or MCP bundle that was inventoried but not recursively analyzed.
dist/manifest-scripts/maven-extension/coana-maven-extension.jar View on unpkg High
Semantic Analysis Limited
dist/vendor.js
Medium Dynamic Require bin/npm-cli.js
Medium Install Persistence dist/cli.js
Medium Ships Build Helper dist/socket-completion.bash
Medium Ships Compressed Blob dist/manifest-scripts/maven-extension/coana-maven-extension.jar
Medium Oversized Source File dist/vendor.js
Medium Structural Risk Force Deep Review
Low Weak Crypto external/@socketsecurity/registry/external/libnpmpack.js
Low Nested Archive Needs Inspection dist/manifest-scripts/maven-extension/coana-maven-extension.jar
node >=18.20.8 pnpm >=10.33.0
Artifact 21.9 MB · 1,011 files 1 signature(s) · provenance
Install lifecycle No install hooks · other: //lint:dist:fix:eslint, //lint:external:fix:eslint, bs, build +8
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem NativeBindings Network Shell HighEntropyStrings PossibleObfuscation UrlStrings Manifest: clean