registry  /  neuromcp  /  0.29.1

neuromcp@0.29.1

⚠ Under review

Semantic memory for AI agents — local-first MCP server with hybrid search, governance, and consolidation

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 18 finding(s) at 93.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.; previous stored version diff introduced dangerous source

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
Manifest
CopyleftLicense
scanned 103 file(s), 608 KB of source, external domains: 127.0.0.1, api.openai.com, claude.com, github.com, huggingface.co, ollama.com

Source & flagged code

9 flagged · loading source
package.jsonView file
scripts.postinstall = node scripts/download-model.mjs || true
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node scripts/download-model.mjs || true
Medium
Ambiguous Install Lifecycle Script

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

package.jsonView on unpkg
bin/init-wiki.mjsView file
21import { homedir, platform } from 'node:os'; L22: import { execFileSync } from 'node:child_process'; L23: import { fileURLToPath } from 'node:url';
High
Child Process

Package source references child process execution.

bin/init-wiki.mjsView on unpkg · L21
13* Usage: L14: * npx neuromcp-init-wiki # auto-detect editors L15: * npx neuromcp-init-wiki --editor cursor # explicit editor ... L21: import { homedir, platform } from 'node:os'; L22: import { execFileSync } from 'node:child_process'; L23: import { fileURLToPath } from 'node:url';
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

bin/init-wiki.mjsView on unpkg · L13
bin/dedup-entity-names.mjsView file
19const __dirname = dirname(fileURLToPath(import.meta.url)); L20: const { openDatabase, closeDatabase } = await import( L21: resolve(__dirname, '..', 'dist', 'storage', 'database.js')
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/dedup-entity-names.mjsView on unpkg · L19
bin/enable-daemon.mjsView file
6* Goal: a single neuromcp daemon serves ALL MCP-capable clients on this L7: * Mac via HTTP Streamable transport on http://127.0.0.1:<PORT>/mcp. L8: * No more "each client spawns its own stdio neuromcp instance" — no more ... L37: import { homedir, platform } from 'node:os'; L38: import { execFileSync } from 'node:child_process'; L39: import { fileURLToPath } from 'node:url'; ... L41: L42: const __dirname = dirname(fileURLToPath(import.meta.url)); L43: const HOME = homedir(); ... L63: '/npm-cache/', L64: '/private/tmp/', // macOS tmp L65: '/var/folders/', // macOS user tmp
Medium
Install Persistence

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

bin/enable-daemon.mjsView on unpkg · L6
templates/hooks/neuromcp-critic.cjsView file
29const path = require('node:path'); L30: const http = require('node:http'); L31: const { spawnSync } = require('node:child_process'); L32: const crypto = require('node:crypto'); ... L34: const HOME = os.homedir(); L35: const DB_PATH = process.env.NEUROMCP_DB || path.join(HOME, '.neuromcp', 'memory.db'); L36: const LOG_PATH = path.join(HOME, '.neuromcp', 'critic.log');
High
Same File Env Network Execution

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

templates/hooks/neuromcp-critic.cjsView on unpkg · L29
scripts/launcher.shView file
path = scripts/launcher.sh kind = build_helper sizeBytes = 4034 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

scripts/launcher.shView on unpkg
bin/doctor.mjsView file
matchType = previous_version_dangerous_delta matchedPackage = neuromcp@0.28.0 matchedIdentity = npm:bmV1cm9tY3A:0.28.0 similarity = 0.737 summary = stored previous version shares package body but lacks this dangerous source file
Critical
Previous Version Dangerous Delta

This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.

bin/doctor.mjsView on unpkg

Findings

1 Critical5 High7 Medium5 Low
CriticalPrevious Version Dangerous Deltabin/doctor.mjs
HighInstall Time Lifecycle Scriptspackage.json
HighChild Processbin/init-wiki.mjs
HighShell
HighSame File Env Network Executiontemplates/hooks/neuromcp-critic.cjs
HighRuntime Package Installbin/init-wiki.mjs
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumDynamic Requirebin/dedup-entity-names.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencebin/enable-daemon.mjs
MediumShips Build Helperscripts/launcher.sh
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowCopyleft License