registry  /  @runecraft/spawn  /  0.0.5

@runecraft/spawn@0.0.5

Spawn tmux integration: automatically opens subagent panes and renders real-time agent execution with smart layouts

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 14 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
ChildProcessEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 4 file(s), 314 KB of source, external domains: 127.0.0.1

Source & flagged code

5 flagged · loading source
package.jsonView file
scripts.postinstall = test -f dist/scripts/install.js && node dist/scripts/install.js || echo 'Skipping postinstall setup (dist not found)'
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = test -f dist/scripts/install.js && node dist/scripts/install.js || echo 'Skipping postinstall setup (dist not found)'
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg
dist/bin/spawn.jsView file
13// src/bin/spawn.ts L14: import { spawn, execSync as execSync2 } from "node:child_process"; L15: import { createServer } from "node:net";
High
Child Process

Package source references child process execution.

dist/bin/spawn.jsView on unpkg · L13
dist/scripts/install.jsView file
8var __filename2 = fileURLToPath(import.meta.url); L9: var __dirname2 = path.dirname(__filename2); L10: var HOME = os.homedir(); L11: function detectShell() { L12: const shell = process.env.SHELL || ""; L13: const platform = process.platform; L14: if (platform === "win32") { L15: const documents = path.join(HOME, "Documents"); L16: const psDir = path.join(documents, "PowerShell"); L17: const psProfile = path.join(psDir, "Microsoft.PowerShell_profile.ps1"); ... L24: if (shell.includes("zsh")) { L25: return { name: "zsh", rcFile: path.join(HOME, ".zshrc") };
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/scripts/install.jsView on unpkg · L8
dist/index.jsView file
515Cross-file remote execution chain: dist/index.js spawns dist/bin/spawn.js; helper contains network access plus dynamic code execution. L515: issueData, L516: data: ctx.data, L517: path: ctx.path, ... L957: var ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}... L958: var base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/; L959: var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/; ... L4235: // src/utils/tmux.ts L4236: import { spawn } from "node:child_process"; L4237: ... L4401: const proc = spawn(cmd, args, { stdio: "pipe" }); L4402: let stdout = ""; L4403: let stderr = "";
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/index.jsView on unpkg · L515

Findings

4 High5 Medium5 Low
HighInstall Time Lifecycle Scriptspackage.json
HighChild Processdist/bin/spawn.js
HighShell
HighCross File Remote Execution Contextdist/index.js
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/scripts/install.js
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings