registry  /  ruvnet-brain  /  2.4.1

ruvnet-brain@2.4.1

One-command installer for RuvNet Brain — a portable, source-grounded brain over rUv's RuvNet building blocks, delivered as a Claude Code plugin so Claude uses the stack instead of fighting it.

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 15 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
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsObfuscatedUrlStrings
ManifestNo manifest risk signals triggered.
scanned 7 file(s), 142 KB of source, external domains: api.github.com, github.com, nodejs.org, ruvnet-brain.vercel.app, www.apple.com

Source & flagged code

7 flagged · loading source
bin/install.mjsView file
17import path from 'node:path'; L18: import { spawnSync } from 'node:child_process'; L19: import { fileURLToPath, pathToFileURL } from 'node:url';
High
Child Process

Package source references child process execution.

bin/install.mjsView on unpkg · L17
129// fails with ENOENT even when the command works fine in any real terminal. shell:true routes the L130: // call through cmd.exe, which resolves .cmd shims the same way an interactive shell would. L131: const IS_WIN = process.platform === 'win32';
High
Shell

Package source references shell execution.

bin/install.mjsView on unpkg · L129
10// L11: // Design rules: dependency-free (Node built-ins + shelling to unzip/npm/claude only), idempotent L12: // (safe to re-run), and never a silent half-state (every failure explains the next step). L13: L14: import https from 'node:https'; L15: import fs from 'node:fs'; ... L17: import path from 'node:path'; L18: import { spawnSync } from 'node:child_process'; L19: import { fileURLToPath, pathToFileURL } from 'node:url'; ... L40: L41: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L42: const REPO_ROOT = path.resolve(__dirname, '..');
High
Sandbox Evasion Gated Capability

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

bin/install.mjsView on unpkg · L10
558if (!fs.existsSync(p)) return null; L559: try { return await import(pathToFileURL(p).href); } catch { return null; } L560: }
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/install.mjsView on unpkg · L558
10// L11: // Design rules: dependency-free (Node built-ins + shelling to unzip/npm/claude only), idempotent L12: // (safe to re-run), and never a silent half-state (every failure explains the next step). L13: L14: import https from 'node:https'; L15: import fs from 'node:fs'; ... L17: import path from 'node:path'; L18: import { spawnSync } from 'node:child_process'; L19: import { fileURLToPath, pathToFileURL } from 'node:url'; ... L40: L41: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L42: const REPO_ROOT = path.resolve(__dirname, '..');
Medium
Install Persistence

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

bin/install.mjsView on unpkg · L10
scripts/route-cheap.mjsView file
107const started = Date.now(); L108: const run = spawnSync('npx', ['agentic-flow@latest', '--agent', args.agent, '--model', args.model, '--task', args.task], { L109: encoding: 'utf8',
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

scripts/route-cheap.mjsView on unpkg · L107
scripts/codex-routed.shView file
path = scripts/codex-routed.sh kind = build_helper sizeBytes = 1815 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

scripts/codex-routed.shView on unpkg

Findings

4 High6 Medium5 Low
HighChild Processbin/install.mjs
HighShellbin/install.mjs
HighSandbox Evasion Gated Capabilitybin/install.mjs
HighRuntime Package Installscripts/route-cheap.mjs
MediumDynamic Requirebin/install.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencebin/install.mjs
MediumShips Build Helperscripts/codex-routed.sh
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowObfuscated
LowHigh Entropy Strings
LowUrl Strings