registry  /  total-recall-brain  /  3.10.0

total-recall-brain@3.10.0

⚠ Under review

Sovereign AI system — database-free, SSSS-powered personal intelligence engine deployable to any POSIX host.

Static Scan Results

scanned 13d ago · by rust-scanner

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

Static reason
High-risk behavior combination matched malicious policy.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNetworkShellWebSocket
Supply chain
HighEntropyStringsUrlStrings
Manifest
GitDependency
scanned 160 file(s), 1.92 MB of source, external domains: 127.0.0.1, api.digitalocean.com, api.duckduckgo.com, api.exa.ai, api.github.com, api.hetzner.cloud, api.linode.com, api.openai.com, api.search.brave.com, api.tavily.com, api.vultr.com, arxiv.org, brave.com, caddyserver.com, cloud.digitalocean.com, console.hetzner.cloud, console.vast.ai, deb.nodesource.com, developers.cloudflare.com, dl.cloudsmith.io, duckduckgo.com, en.wikipedia.org, exa.ai, example.com, export.arxiv.org, generativelanguage.googleapis.com, github.com, google.serper.dev, news.ycombinator.com, query.wikidata.org, raw.githubusercontent.com, registry.npmjs.org, serper.dev, tavily.com, www.apple.com, www.duckdns.org, www.google.com, www.npmjs.com, www.w3.org

Source & flagged code

15 flagged · loading source
src/cli/reset-password.mjsView file
70patternName = generic_password severity = medium line = 70 matchedText = console....)`);
Medium
Secret Pattern

Package contains a possible secret pattern.

src/cli/reset-password.mjsView on unpkg · L70
73patternName = generic_password severity = medium line = 73 matchedText = console....n`);
Medium
Secret Pattern

Hardcoded password in src/cli/reset-password.mjs

src/cli/reset-password.mjsView on unpkg · L73
src/core/sandbox.mjsView file
1import { spawn, spawnSync } from 'child_process'; L2: import path from 'path';
High
Child Process

Package source references child process execution.

src/core/sandbox.mjsView on unpkg · L1
src/server/index.mjsView file
146const util = await import('node:util'); L147: const execAsync = util.promisify(exec); L148: try {
High
Shell

Package source references shell execution.

src/server/index.mjsView on unpkg · L146
252const { execSync } = await import('node:child_process'); L253: execSync('npm install --no-audit --no-fund 2>/dev/null && npm run build', { L254: cwd: frontendDir,
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

src/server/index.mjsView on unpkg · L252
bin/total-recall.mjsView file
163if (command === '--version' || command === '-v') { L164: const pkg = await import(path.join(__dirname, '..', 'package.json'), { with: { type: 'json' } }); L165: console.log(`total-recall v${pkg.default.version}`);
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/total-recall.mjsView on unpkg · L163
src/core/import-rules.mjsView file
71export function detectRuleFiles(dirs) { L72: const searchDirs = dirs?.length ? dirs : [process.cwd(), os.homedir()]; L73: const seen = new Set(); ... L240: }, L241: body: content, L242: };
Low
Weak Crypto

Package source references weak cryptographic algorithms.

src/core/import-rules.mjsView on unpkg · L71
src/cli/uninstall.mjsView file
521package = total-recall-brain; repositoryIdentity = total-recall; dependency = yaml L521: try { L522: const { default: yaml } = await import('yaml'); L523: const securityObj = yaml.parse(fs.readFileSync(securityPath, 'utf8')) || {};
High
Copied Package Dependency Bridge

Package metadata claims a different repository identity while copied source loads a runtime dependency bridge.

src/cli/uninstall.mjsView on unpkg · L521
30import path from 'node:path'; L31: import { spawnSync, execFileSync } from 'node:child_process'; L32: import backup from './backup.mjs'; ... L92: L93: const HOME = os.homedir(); L94: console.error(` ... L121: if (remoteCheck.status === 0) { L122: detectedRemote = remoteCheck.stdout.toString().trim(); L123: } else { ... L203: log(`Unloading ${plist}...`); L204: runCommand('launchctl', ['unload', '-w', plistPath]); L205: try {
Medium
Install Persistence

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

src/cli/uninstall.mjsView on unpkg · L30
src/cli/setup.mjsView file
16import readline from 'node:readline'; L17: import { execSync, spawnSync } from 'node:child_process'; L18: import fs from 'node:fs'; ... L20: import path from 'node:path'; L21: import https from 'node:https'; L22: import { fileURLToPath } from 'node:url'; ... L24: L25: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L26: ... L48: function prompt(question) { L49: const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); L50: return new Promise(resolve => {
Critical
Credential Exfiltration

Source appears to send environment or credential material to an external endpoint.

src/cli/setup.mjsView on unpkg · L16
16import readline from 'node:readline'; L17: import { execSync, spawnSync } from 'node:child_process'; L18: import fs from 'node:fs'; ... L20: import path from 'node:path'; L21: import https from 'node:https'; L22: import { fileURLToPath } from 'node:url'; ... L24: L25: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L26: ... L48: function prompt(question) { L49: const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); L50: return new Promise(resolve => {
Critical
Command Output Exfiltration

Source executes local commands and sends command output to an external endpoint.

src/cli/setup.mjsView on unpkg · L16
src/cli/start.mjsView file
11Cross-file remote execution chain: src/cli/start.mjs spawns src/server/index.mjs; helper contains network access plus dynamic code execution. L11: L12: import { spawnSync } from 'node:child_process'; L13: import path from 'node:path'; ... L16: L17: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L18: const SERVER = path.join(__dirname, '..', 'server', 'index.mjs'); ... L52: env: { L53: ...process.env, L54: PORT: port,
High
Cross File Remote Execution Context

Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.

src/cli/start.mjsView on unpkg · L11
src/cli/deploy.mjsView file
36Detached bundled service listener: src/cli/deploy.mjs spawns src/server/index.mjs; helper exposes a broad-bound HTTP listener. L36: L37: import { execSync, execFileSync, spawnSync, spawn } from 'node:child_process'; L38: import fs from 'node:fs'; ... L47: L48: const __dirname = path.dirname(fileURLToPath(import.meta.url)); L49: ... L73: L74: const activePaths = process.env.PATH ? process.env.PATH.split(path.delimiter) : []; L75: const uniquePaths = Array.from(new Set([...activePaths, ...commonPaths])).filter(p => fs.existsSync(p)); ... L111: if (result.status !== 0 && !opts.ignoreErrors) { L112: const stderr = result.stderr?.toString().trim() || ''; L113: throw new Error(`Command failed (exit ${result.status}): ${cmd}\n${stderr}`);
High
Spawned Bundled Service Listener

Source launches a detached bundled service that exposes a broad-bound HTTP listener.

src/cli/deploy.mjsView on unpkg · L36
bin/oci-sniper.shView file
path = bin/oci-sniper.sh kind = build_helper sizeBytes = 2930 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

bin/oci-sniper.shView on unpkg
scaffold/.agent/skills/total-recall/skills/tr-skill/hooks/on-skill-delete.shView file
path = scaffold/.agent/skills/total-recall/skills/tr-skill/hooks/on-sk[redacted] kind = payload_in_excluded_dir sizeBytes = 534 magicHex = [redacted]
High
Payload In Excluded Dir

Package hides binary, compressed, or executable-looking payloads in test/fixture/hidden paths.

scaffold/.agent/skills/total-recall/skills/tr-skill/hooks/on-skill-delete.shView on unpkg

Findings

2 Critical7 High9 Medium5 Low
CriticalCredential Exfiltrationsrc/cli/setup.mjs
CriticalCommand Output Exfiltrationsrc/cli/setup.mjs
HighChild Processsrc/core/sandbox.mjs
HighShellsrc/server/index.mjs
HighCopied Package Dependency Bridgesrc/cli/uninstall.mjs
HighCross File Remote Execution Contextsrc/cli/start.mjs
HighSpawned Bundled Service Listenersrc/cli/deploy.mjs
HighRuntime Package Installsrc/server/index.mjs
HighPayload In Excluded Dirscaffold/.agent/skills/total-recall/skills/tr-skill/hooks/on-skill-delete.sh
MediumSecret Patternsrc/cli/reset-password.mjs
MediumDynamic Requirebin/total-recall.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencesrc/cli/uninstall.mjs
MediumShips Build Helperbin/oci-sniper.sh
MediumStructural Risk Force Deep Review
MediumGit Dependency
MediumSecret Patternsrc/cli/reset-password.mjs
LowScripts Present
LowWeak Cryptosrc/core/import-rules.mjs
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings