registry  /  loommcp-cli  /  2.0.4

loommcp-cli@2.0.4

Model-independent local runtime for files, terminal, memory, skills, browser control, and remote MCP access.

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 12 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 3 file(s), 141 KB of source, external domains: registry.npmjs.org, your-tunnel-host.example.com

Source & flagged code

4 flagged · loading source
dist/chunks/chunk-H22JHHY4.jsView file
1039import { dirname as dirname2, isAbsolute as isAbsolute2, join as join7, relative as relative3, sep as sep3 } from "node:path"; L1040: import { execFile, spawn } from "node:child_process"; L1041: import { promisify, stripVTControlCharacters } from "node:util";
High
Child Process

Package source references child process execution.

dist/chunks/chunk-H22JHHY4.jsView on unpkg · L1039
4function expandHomePath(path3) { L5: if (path3 === "~") return homedir(); L6: if (path3.startsWith("~/") || path3.startsWith("~\\")) { ... L22: import { join, resolve as resolve2 } from "node:path"; L23: function loomConfigDir(env = process.env) { L24: return resolve2(expandHomePath(env.LOOM_CONFIG_DIR ?? join(homedir2(), ".loom"))); ... L74: function generateOwnerToken() { L75: return randomBytes(32).toString("base64url"); L76: } ... L210: const localHost = host === "0.0.0.0" || host === "::" ? "127.0.0.1" : host; L211: const localUrl = `http://${localHost.includes(":") ? `[${localHost}]` : localHost}:${port}`; L212: const publicBaseUrl = normalizePublicBaseUrl(env.LOOM_PUBLIC_BASE_URL ?? files.config.publicBaseUrl ?? localUrl);
High
Cloud Metadata Access

Source reaches cloud instance metadata or link-local credential endpoints.

dist/chunks/chunk-H22JHHY4.jsView on unpkg · L4
dist/cli.jsView file
201// packages/engine/src/update.ts L202: import { spawnSync } from "node:child_process"; L203: import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs"; ... L207: var CACHE_TTL_MS = 12 * 60 * 60 * 1e3; L208: var DEFAULT_REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`; L209: async function handleStartupUpdate(currentVersion, autoUpdate, env = process.env) { L210: if (env.LOOM_DISABLE_UPDATE_CHECK === "1") return false;
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

dist/cli.jsView on unpkg · L201
18// packages/engine/src/cli.ts L19: import { spawn as spawn2 } from "node:child_process"; L20: import { createRequire } from "node:module"; L21: import { stdin as input, stdout as output } from "node:process"; L22: import { resolve } from "node:path"; ... L32: try { L33: const response = await fetch(url, { signal: AbortSignal.timeout(3e3) }); L34: return response.ok; ... L84: if (input2 === "c") { L85: const clipboard = spawn("/usr/bin/pbcopy", [], { stdio: ["pipe", "ignore", "ignore"] }); L86: clipboard.stdin.end(props.endpoint); L87: setNote("endpoint copied");
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

dist/cli.jsView on unpkg · L18

Findings

5 High3 Medium4 Low
HighChild Processdist/chunks/chunk-H22JHHY4.js
HighShell
HighSame File Env Network Executiondist/cli.js
HighSandbox Evasion Gated Capabilitydist/cli.js
HighCloud Metadata Accessdist/chunks/chunk-H22JHHY4.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings