Loading npm security reports…
@rubytech/create-maxy-code@0.1.644: AI-agent capability abuse | LPM Firewall
Flagged as AI-agent capability risk
Allowed by default with warning: agent-facing configuration or capability changes need review before use.
AI Security Reviewscanned 8d ago · by lpm-firewall-ai The installer’s automatic permission bypass is a real dangerous capability, but it is triggered by an explicit CLI setup command and does not establish malicious behavior. The package also has guarded account-specific agent operations and an explicit uninstall path.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
The operator runs the package’s installer CLI.
Impact
Claude sessions using that configuration may perform tool actions without the usual permission checks.
Mechanism
Installer setup seeds the brand-scoped Claude settings with a bypass permission mode and a replacement permissions block.
AI rationale
The installer’s automatic permission bypass is a real dangerous capability, but it is triggered by an explicit CLI setup command and does not establish malicious behavior. The package also has guarded account-specific agent operations and an explicit uninstall path.
Evidence
dist/index.js dist/permissions-seed.js CLAUDE_CONFIG_DIR/settings.json
Decision evidencepublic snapshot AI called this Suspicious at 94.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
The manifest exposes the launcher as a CLI and lists a prepublish-only script. During installer setup, the launcher seeds permissions in its Claude configuration directory. The seed sets the default permission mode to bypass checks and replaces the permissions block while retaining other settings. The server-side agent configuration hit concerns account-specific specialist routing; its admin handler resolves an account write target for disable operations. Uninstall can remove shared Claude and Ollama directories when no peer brand is present; it is reached by an explicit uninstall flag and normally requires confirmation. Evidence against
The reviewed agent configuration writes are tied to account-specific admin operations or the explicit uninstall path; they do not establish an npm install-time attack. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell
Source & flagged code31 flagged · loading source payload/platform/scripts/smoke-boot-services.sh View file 349 patternName = generic_password
severity = medium
line = 349
Medium Secret Pattern
Package contains a possible secret pattern.
payload/platform/scripts/smoke-boot-services.sh View on unpkg · L349 1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERSIST_DIR = resolve(process.env.HOME ?? "/root", BRAND.co
Critical Download Execute
Source downloads or fetches remote code and executes it.
dist/index.js View on unpkg · L1 Findings3 Critical 22 High 8 Medium 9 Low
Critical Credential Exfiltration payload/server/server.js
Critical Download Execute dist/index.js
Critical Trigger Reachable Dangerous Capability dist/index.js
High Child Process dist/index.js
High Shell dist/index.js
High Same File Env Network Execution payload/server/server.js
High Command Output Exfiltration payload/server/server.js
High Sandbox Evasion Gated Capability dist/index.js
High Cross File Remote Execution Context payload/platform/plugins/admin/mcp/dist/index.js
High Trigger Reachable Persistence dist/index.js
High Runtime Package Install dist/index.js
Affected versions and remediation This report applies to @rubytech/create-maxy-code@0.1.644 .
See all versions of @rubytech/create-maxy-code for other recorded verdicts.
Review the evidence and your use of @rubytech/create-maxy-code@0.1.644 before allowing it. Restrict the permissions described in this report. Choose an independently verified alternative or release. This report does not establish that other versions are safe. Evidence last updated: 2026-10-15 05:49:20.761Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
WebSocket
Supply chain HighEntropyStrings Minified PossibleObfuscation Telemetry UrlStrings
scanned 1,065 file(s), 16.7 MB of source, external domains: 0.0.0.0, 127.0.0.1, account.microsoft.com, accounts.google.com, acme.example.com, api.cloudflare.com, api.replicate.com, api.telegram.org, appcenter.intuit.com, astral.sh, brew.sh, chevrotain.io, claude.ai, core.telegram.org, deb.nodesource.com, debian.neo4j.com, dl.google.com, docs.getmaxy.com, docs.realagent.network, en.wikipedia.org, fonts.googleapis.com, fonts.gstatic.com, getmaxy.com, github.com, graph.microsoft.com, langium.org, llmstxt.org, login.microsoftonline.com, maxy.bot, maxy.institute, ns.adobe.com, oauth.platform.intuit.com, oauth2.googleapis.com, ollama.ai, one.dash.cloudflare.com, platform.claude.com, player.vimeo.com, quickbooks.api.intuit.com, raw.githubusercontent.com, react.dev, registry.npmjs.org, sandbox-quickbooks.api.intuit.com, schema.org, tile.openstreetmap.org, www.anthropic.com, www.apple.com, www.googleapis.com, www.linkedin.com, www.openstreetmap.org, www.w3.org
1 Trigger-reachable chain: manifest.bin -> dist/index.js
L1: #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERS
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/index.js View on unpkg · L1 1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
High Child Process
Package source references child process execution.
dist/index.js View on unpkg · L1 554 // Fetch + dearmor the signing key, write to /etc/apt/trusted.gpg.d/. Pipe
L555: // composition runs through bash -c so the curl|gpg pipeline is one
L556: // privileged command rather than two separate sudo escalations.
1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERSIST_DIR = resolve(process.env.HOME ?? "/root", BRAND.co
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/index.js View on unpkg · L1 1 Trigger-reachable persistence chain: manifest.bin -> dist/index.js
L1: #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54
High Trigger Reachable Persistence
A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/index.js View on unpkg · L1 302 function canSudo() {
L303: const result = spawnSync("sudo", ["-n", "true"], { stdio: "pipe", timeout: 5_000 });
L304: return result.status === 0;
...
L306: /** True when the npm global prefix's node_modules dir is writable by the current
L307: * user (nvm/Homebrew installs) — meaning `npm install -g` needs no sudo. */
L308: function npm[redacted]() {
High Runtime Package Install
Package source invokes a package manager install command at runtime.
dist/index.js View on unpkg · L302 1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERSIST_DIR = resolve(process.env.HOME ?? "/root", BRAND.co
Medium Install Persistence
Source writes installer persistence such as shell profile or service configuration.
dist/index.js View on unpkg · L1 payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js View file 8 * server: Claude Code runs `node <this> <real-entry>`, and the shim runs the
L9: * real entry IN ITS OWN PROCESS via dynamic import() — one node runtime, not
L10: * two. Before importing, it replaces process.stderr.write with a tee so every
Medium Dynamic Require
Package source references dynamic require/import behavior.
payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js View on unpkg · L8 payload/platform/plugins/admin/skills/flow-page/build.mjs View file 99 const LOG_FILE =
L100: process.env.LOG_DIR && existsSync(process.env.LOG_DIR)
L101: ? join(process.env.LOG_DIR, "flow-page.log")
...
L178: let model;
L179: try { model = JSON.parse(readFileSync(contentPath, "utf8")); }
L180: catch (e) { die(`[flow-page] op=bad-content slug=${slug} file=${contentPath} error=${e.message}`); }
...
L209: FONT_DISPLAY: fonts.display,
L210: FONT_BODY: fonts.body,
L211: ACCENT: palette.accent,
Low Weak Crypto
Package source references weak cryptographic algorithms.
payload/platform/plugins/admin/skills/flow-page/build.mjs View on unpkg · L99 359 try {
L360: out.push(JSON.parse(line));
L361: } catch {
...
L470: function telegramStoreRoot2(platformRoot5) {
L471: const brandDir = process.env.MAXY_DIR_OVERRIDE ?? (0, node_path_1.resolve)((0, node_os_1.homedir)(), configDirName2(platformRoot5));
L472: return (0, node_path_1.join)(brandDir, "data", "telegram-messages");
...
L567: var node_path_1 = __require("path");
L568: var TELEGRAM_API2 = "https://api.telegram.org";
L569: function refusalReason(body, status) {
...
L751: });
L752: process.stderr.write(`[trash:marked] accountId=${accountId} elementId=${elementId} labels=${baseLabels.join(",")} by=${by} reason=${reason ?? "null"}
L753: `);
Critical Credential Exfiltration
Source appears to send environment or credential material to an external endpoint.
payload/server/server.js View on unpkg · L359 5412 // app/lib/vnc.ts
L5413: import { spawnSync, execFileSync } from "child_process";
L5414: import { createConnection } from "net";
L5415: import { mkdirSync as mkdirSync2, readFileSync as readFileSync4, rmSync as rmSync2, writeFileSync as writeFileSync3 } from "fs";
L5416: import { resolve as resolve5 } from "path";
L5417: var PLATFORM_ROOT2 = process.env.MAXY_PLATFORM_ROOT ?? resolve5(process.cwd(), "..");
L5418: var VNC_SCRIPT = resolve5(PLATFORM_ROOT2, "scripts/vnc.sh");
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
payload/server/server.js View on unpkg · L5412 359 try {
L360: out.push(JSON.parse(line));
L361: } catch {
...
L470: function telegramStoreRoot2(platformRoot5) {
L471: const brandDir = process.env.MAXY_DIR_OVERRIDE ?? (0, node_path_1.resolve)((0, node_os_1.homedir)(), configDirName2(platformRoot5));
L472: return (0, node_path_1.join)(brandDir, "data", "telegram-messages");
...
L567: var node_path_1 = __require("path");
L568: var TELEGRAM_API2 = "https://api.telegram.org";
L569: function refusalReason(body, status) {
...
L751: });
L752: process.stderr.write(`[trash:marked] accountId=${accountId} elementId=${elementId} labels=${baseLabels.join(",")} by=${by} reason=${reason ?? "null"}
L753: `);
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
payload/server/server.js View on unpkg · L359 payload/platform/plugins/admin/mcp/dist/index.js View file 6 Cross-file remote execution chain: [redacted].js spawns dist/index.js; helper contains network access plus dynamic code execution.
L6: import { resolve, join } from "node:path";
L7: import { execFile, execFileSync } from "node:child_process";
L8: import { appendFileSync, cpSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from "node:fs";
...
L19: import { createHash, randomInt, randomUUID } from "node:crypto";
L20: import { createConnection } from "node:net";
L21: import { homedir, hostname as osHostname } from "node:os";
...
L61: });
L62: const PLATFORM_ROOT = process.env.PLATFORM_ROOT ?? resolve(import.meta.dirname, "../../../..");
L63: // Plugin-system boot tolerance — see Task 202.
...
L67: const ACCOUNT_ID = process.env.ACCOUNT_ID ?? null;
L
High Cross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
payload/platform/plugins/admin/mcp/dist/index.js View on unpkg · L6 payload/platform/plugins/memory/bin/conversation-archive-ingest.sh View file • path = [redacted]-archive-ingest.sh
kind = build_helper
sizeBytes = 4369
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
payload/platform/plugins/memory/bin/conversation-archive-ingest.sh View on unpkg payload/server/public/assets/src-BvINb2fL.js.gz View file • path = [redacted]-BvINb2fL.js.gz
kind = high_entropy_blob
sizeBytes = 15903
magicHex = [redacted]
High Ships High Entropy Blob
Package ships high-entropy non-source blobs.
payload/server/public/assets/src-BvINb2fL.js.gz View on unpkg • path = [redacted]-BvINb2fL.js.gz
kind = compressed_blob
sizeBytes = 15903
magicHex = [redacted]
Medium Ships Compressed Blob
Package ships compressed or archive-like blobs.
payload/server/public/assets/src-BvINb2fL.js.gz View on unpkg payload/platform/lib/account-enumeration/dist/index.js#virtual:normalized:round1 View file • stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 43
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
payload/platform/lib/account-enumeration/dist/index.js#virtual:normalized:round1 View on unpkg • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = dist/uninstall.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/uninstall.js View on unpkg payload/platform/lib/mcp-spawn-tee/dist/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/lib/mcp-spawn-tee/dist/index.js View on unpkg payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/admin/skills/_lib/headless.mjs View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]_lib/headless.mjs
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/skills/_lib/headless.mjs View on unpkg payload/platform/plugins/admin/skills/video-production/render.mjs View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-production/render.mjs
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/skills/video-production/render.mjs View on unpkg payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/dispatch/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/dispatch/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/email/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/email/lib/mcp-spawn-tee/index.js View on unpkg • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = dist/brew-install.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/brew-install.js View on unpkg High
Ships High Entropy Blob
payload/server/public/assets/src-BvINb2fL.js.gz
High Semantic Analysis Limited payload/platform/lib/account-enumeration/dist/index.js#virtual:normalized:round1
High Known Malware Source Similarity dist/uninstall.js
High Known Malware Source Similarity payload/platform/lib/mcp-spawn-tee/dist/index.js
High Known Malware Source Similarity payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/admin/skills/_lib/headless.mjs
High Known Malware Source Similarity payload/platform/plugins/admin/skills/video-production/render.mjs
High Known Malware Source Similarity payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/dispatch/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity payload/platform/plugins/email/lib/mcp-spawn-tee/index.js
High Known Malware Source Similarity dist/brew-install.js
Medium Secret Pattern payload/platform/scripts/smoke-boot-services.sh
Medium Dynamic Require payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js
Medium Install Persistence dist/index.js
Medium Ships Build Helper payload/platform/plugins/memory/bin/conversation-archive-ingest.sh
Medium Ships Compressed Blob payload/server/public/assets/src-BvINb2fL.js.gz
Medium Structural Risk Force Deep Review
Low Non Install Lifecycle Scripts
Low Weak Crypto payload/platform/plugins/admin/skills/flow-page/build.mjs
node >=22.6.0
Artifact 35.8 MB · 4,288 files 2 signature(s)
Install lifecycle prepublishOnly
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket HighEntropyStrings Minified PossibleObfuscation Telemetry UrlStrings NoLicense
Source & flagged code31 flagged payload/platform/scripts/smoke-boot-services.sh View file Lines 329-369 shell
329 local required = "${ SMOKE_CYPHER_SCHEMA :- optional }"
331 skip_msg () { # $1=reason
332 if [ " $required " = "required" ]; then
333 echo "[smoke-boot] cypher-schema=fail err= $1 (SMOKE_CYPHER_SCHEMA=required)" >&2
336 echo "[smoke-boot] cypher-schema=skip reason= $1 (export SMOKE_CYPHER_SCHEMA=required to fail hard; provision a disposable Neo4j to run the check)"
340 if ! command -v cypher-shell > /dev/null 2>&1 ; then
341 skip_msg cypher-shell-not-on-path ; return $?
344 if [ -z "${ NEO4J_URI :- }" ]; then
345 skip_msg neo4j-uri-unset ; return $?
348 local neo4j_user = "${ NEO4J_USER :- neo4j }"
349 local neo4j_password = "${ NEO4J_PASSWORD :- }"
Medium Secret Pattern
Package contains a possible secret pattern.
payload/platform/scripts/smoke-boot-services.sh View on unpkg · L349 350 if [ -z " $neo4j_password " ]; then
351 # Fall back to the same password-file convention seed-neo4j.sh uses.
352 local pw_file = " $REPO_ROOT /platform/config/.neo4j-password"
353 if [ -f " $pw_file " ]; then
354 neo4j_password = "$( cat " $pw_file ")"
357 if [ -z " $neo4j_password " ]; then
358 skip_msg neo4j-password-unset ; return $?
361 # Live probe: if the credentials don't authenticate, the check would fail
362 # for reasons unrelated to schema syntax (rotated password, etc.). Skip
363 # rather than fail so the maintainer's own install's Neo4j — whose password
364 # they own — can't block publish.
365 if ! cypher-shell -u " $neo4j_user " -p " $neo4j_password " -a " $NEO4J_URI " \
366 --non-interactive "RETURN 1" > /dev/null 2>&1 ; then
367 skip_msg neo4j-auth-failed ; return $?
Lines 1-21 javascript
2 import { execFileSync, spawn, spawnSync } from "node:child_process" ;
3 import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, constants as fsConstants } from "node:fs" ;
High Child Process
Package source references child process execution.
dist/index.js View on unpkg · L1 payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js View file Lines 1-28 javascript
4 * MCP spawn-tee — in-process stderr capture + lifecycle observability.
6 * Claude Code spawns each MCP server itself; the platform never holds a
7 * ChildProcess handle. This shim sits between Claude Code and the real MCP
8 * server: Claude Code runs `node <this> <real-entry>`, and the shim runs the
9 * real entry IN ITS OWN PROCESS via dynamic import() — one node runtime, not
payload/platform/plugins/admin/skills/flow-page/build.mjs View file Lines 79-119 javascript
80 const argv = process.argv. slice ( 2 );
81 const arg = ( flag , fallback = null )
359 try {
L360: out.push(JSON.parse(line));
L361: } catch {
...
L470: function telegramStoreRoot2(platformRoot5) {
L471: const brandDir = process.env.MAXY_DIR_OVERRIDE ?? (0, node_path_1.resolve)((0, node_os_1.homedir)(), configDirName2(platformRoot5));
L472: return (0, node_path_1.join)(brandDir, "data", "telegram-messages");
...
L567: var node_path_1 = __require("path");
L568: var TELEGRAM_API2 = "https://api.telegram.org";
L569: function refusalReason(body, status) {
...
L751: });
L752: process.stderr.write(`[trash:marked] accountId=${accountId} elementId=${elementId} labels=${baseLabels.join(",")} by=${by} reason=${reason ?? "null"}
L753: `);
Critical Credential Exfiltration
Source appears to send environment or credential material to an external endpoint.
payload/server/server.js View on unpkg · L359 5412 // app/lib/vnc.ts
L5413: import { spawnSync, execFileSync } from "child_process";
L5414: import { createConnection } from "net";
L5415: import { mkdirSync as mkdirSync2, readFileSync as readFileSync4, rmSync as rmSync2, writeFileSync as writeFileSync3 } from "fs";
L5416: import { resolve as resolve5 } from "path";
L5417: var PLATFORM_ROOT2 = process.env.MAXY_PLATFORM_ROOT ?? resolve5(process.cwd(), "..");
L5418: var VNC_SCRIPT = resolve5(PLATFORM_ROOT2, "scripts/vnc.sh");
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
payload/server/server.js View on unpkg · L5412 359 try {
L360: out.push(JSON.parse(line));
L361: } catch {
...
L470: function telegramStoreRoot2(platformRoot5) {
L471: const brandDir = process.env.MAXY_DIR_OVERRIDE ?? (0, node_path_1.resolve)((0, node_os_1.homedir)(), configDirName2(platformRoot5));
L472: return (0, node_path_1.join)(brandDir, "data", "telegram-messages");
...
L567: var node_path_1 = __require("path");
L568: var TELEGRAM_API2 = "https://api.telegram.org";
L569: function refusalReason(body, status) {
...
L751: });
L752: process.stderr.write(`[trash:marked] accountId=${accountId} elementId=${elementId} labels=${baseLabels.join(",")} by=${by} reason=${reason ?? "null"}
L753: `);
payload/platform/plugins/admin/mcp/dist/index.js View file 6 Cross-file remote execution chain: [redacted].js spawns dist/index.js; helper contains network access plus dynamic code execution.
L6: import { resolve, join } from "node:path";
L7: import { execFile, execFileSync } from "node:child_process";
L8: import { appendFileSync, cpSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, statSync, writeFileSync } from "node:fs";
...
L19: import { createHash, randomInt, randomUUID } from "node:crypto";
L20: import { createConnection } from "node:net";
L21: import { homedir, hostname as osHostname } from "node:os";
...
L61: });
L62: const PLATFORM_ROOT = process.env.PLATFORM_ROOT ?? resolve(import.meta.dirname, "../../../..");
L63: // Plugin-system boot tolerance — see Task 202.
...
L67: const ACCOUNT_ID = process.env.ACCOUNT_ID ?? null;
L
High Cross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
payload/platform/plugins/admin/mcp/dist/index.js View on unpkg · L6 payload/platform/plugins/memory/bin/conversation-archive-ingest.sh View file • path = [redacted]-archive-ingest.sh
kind = build_helper
sizeBytes = 4369
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
payload/platform/plugins/memory/bin/conversation-archive-ingest.sh View on unpkg payload/server/public/assets/src-BvINb2fL.js.gz View file • path = [redacted]-BvINb2fL.js.gz
kind = high_entropy_blob
sizeBytes = 15903
magicHex = [redacted]
High Ships High Entropy Blob
Package ships high-entropy non-source blobs.
payload/server/public/assets/src-BvINb2fL.js.gz View on unpkg • path = [redacted]-BvINb2fL.js.gz
kind = compressed_blob
sizeBytes = 15903
magicHex = [redacted]
Medium Ships Compressed Blob
Package ships compressed or archive-like blobs.
payload/server/public/assets/src-BvINb2fL.js.gz View on unpkg payload/platform/lib/account-enumeration/dist/index.js#virtual:normalized:round1 View file • stage = ast_semantic_analysis; reason = ast_parse_error; limitedFiles = 43
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
payload/platform/lib/account-enumeration/dist/index.js#virtual:normalized:round1 View on unpkg • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = dist/uninstall.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/uninstall.js View on unpkg payload/platform/lib/mcp-spawn-tee/dist/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/lib/mcp-spawn-tee/dist/index.js View on unpkg payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/admin/skills/_lib/headless.mjs View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]_lib/headless.mjs
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/skills/_lib/headless.mjs View on unpkg payload/platform/plugins/admin/skills/video-production/render.mjs View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-production/render.mjs
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/admin/skills/video-production/render.mjs View on unpkg payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/aeo/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/browser/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/connector/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/contacts/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/dispatch/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/dispatch/lib/mcp-spawn-tee/index.js View on unpkg payload/platform/plugins/email/lib/mcp-spawn-tee/index.js View file • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = [redacted]-spawn-tee/index.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
payload/platform/plugins/email/lib/mcp-spawn-tee/index.js View on unpkg • matchType = normalized_sha256
matchedPackage = @rubytech/create-maxy-code@0.1.632
matchedPath = dist/brew-install.js
matchedIdentity = npm:[redacted]:0.1.632
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist/brew-install.js View on unpkg { clearBrandAgentRoot }
from
"./brand-agent-root.js"
;
5 import { seedBypassPermissionsSettings, assertBypassPermissionsSeed } from "./permissions-seed.js" ;
6 import { resolve, join, dirname, basename } from "node:path" ;
7 import { randomBytes } from "node:crypto" ;
8 import { resolveInstallPortFromFs, buildMaxyUnitFile, buildClaudeSessionManagerUnitFile, buildEmailSamplerUnitFile, buildClaudePtysSliceUnitFile, buildCloudflaredSliceUnitFile, buildDarwinServiceEnvPath } from "./port-resolution.js" ;
9 import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js" ;
10 import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js" ;
11 import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js" ;
Medium Install Persistence
Source writes installer persistence such as shell profile or service configuration.
dist/index.js View on unpkg · L1 12 import { findPeerBrandOnDefaultNeo4jPort } from "./peer-brand-detect.js" ;
13 import { seedPublicInstructionFiles } from "./public-instruction-seed.js" ;
14 import { backupHouseCloudflare, restoreHouseCloudflare, } from "./preserve-house-cloudflare.js" ;
15 import { resolveNeo4jPidfileScrub } from "./neo4j-pidfile-scrub.js" ;
16 import { runInitLogging } from "./init-logging.js" ;
17 import { requireSupportedPlatform, detectPlatform } from "./platform-detect.js" ;
18 import { decideClaudeUpgradePrivilege } from "./claude-upgrade-privilege.js" ;
19 import { resolveNeo4jDataDir } from "./neo4j-datadir.js" ;
20 import { protectCommands, unprotectCommands, lsattrShowsImmutable } from "./install-immutability.js" ;
21 import { renderPlist, buildSessionManagerWrapper, buildHeartbeatWrapper, buildNeo4jWrapper } from "./launchd-plist.js" ;
Lines 534-574 javascript
538 const whichChromium = which ( "chromium" );
539 const whichGoogleChrome = which ( "google-chrome-stable" );
540 const decision = decideChromiumAction ({
543 realpathChromium: realpath (whichChromium),
545 realpathGoogleChrome: realpath (whichGoogleChrome),
547 logFile ( ` [snap-chromium] decision: ${ decision . action } reason="${ decision . reason }"` );
548 if (decision.action === "fail" ) {
549 throw new Error ( `ensureNonSnapChromium: ${ decision . reason }. apt install of \` chromium \` ran in installAptGroup(VNC stack) above; if its post-check passed but no chromium binary is on PATH, the system PATH is misconfigured.` );
551 if (decision.action === "install-google-chrome" ) {
552 console. log ( " Detected snap-confined Chromium — installing Google Chrome stable..." );
553 logFile ( ` [snap-chromium] installing google-chrome-stable from Google's signed apt repo` );
554 // Fetch + dearmor the signing key, write to /etc/apt/trusted.gpg.d/. Pipe
555 // composition runs through bash -c so the curl|gpg pipeline is one
556 // privileged command rather than two separate sudo escalations.
557 console. log ( " [privileged] curl + gpg --dearmor (Google Chrome signing key)" );
559 "set -euo pipefail; " +
560 "curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | " +
561 "gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/google-chrome.gpg" ,
563 // Add the apt source list with `signed-by=` scoping so the key only
564 // verifies google-chrome-* packages, not arbitrary repo overrides. arch
565 // pinned to amd64 — Google does not ship arm64 Chrome for Linux.
566 console. log ( " [privileged] tee /etc/apt/sources.list.d/google-chrome.list" );
568 "echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/google-chrome.gpg] " +
569 "http://dl.google.com/linux/chrome/deb/ stable main' " +
570 "> /etc/apt/sources.list.d/google-chrome.list" ,
572 console. log ( " [privileged] apt-get update" );
573 shell ( "apt-get" , [ "update" ], { sudo: true });
574 installAptGroup ( "Google Chrome stable" , [ "google-chrome-stable" ]);
1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERSIST_DIR = resolve(process.env.HOME ?? "/root", BRAND.co
Critical Download Execute
Source downloads or fetches remote code and executes it.
dist/index.js View on unpkg · L1 1 Trigger-reachable chain: manifest.bin -> dist/index.js
L1: #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERS
Critical Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/index.js View on unpkg · L1 1 #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54: const PERSIST_DIR = resolve(process.env.HOME ?? "/root", BRAND.co
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/index.js View on unpkg · L1 1 Trigger-reachable persistence chain: manifest.bin -> dist/index.js
L1: #!/usr/bin/env node
L2: import { execFileSync, spawn, spawnSync } from "node:child_process";
L3: import { existsSync, mkdirSync, writeFileSync, cpSync, readFileSync, rmSync, readdirSync, appendFileSync, openSync, closeSync, chmodSync, statSync, realpathSync, accessSync, consta...
...
L9: import { buildBrandCronBlock, mergeBrandCronBlock } from "./cron-registration.js";
L10: import { validateTierFlag, validateEntitlementBase64, applyTierToAccountConfig, entitlementPath } from "./tier-flag.js";
L11: import { parseOsRelease, isUbuntuLike as isUbuntuLikePure, parseAptCacheCandidate, decideAptResolution, } from "./apt-resolve.js";
...
L52: }
L53: const INSTALL_DIR = resolve(process.env.HOME ?? "/root", BRAND.installDir);
L54
High Trigger Reachable Persistence
A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/index.js View on unpkg · L1 302 function canSudo() {
L303: const result = spawnSync("sudo", ["-n", "true"], { stdio: "pipe", timeout: 5_000 });
L304: return result.status === 0;
...
L306: /** True when the npm global prefix's node_modules dir is writable by the current
L307: * user (nvm/Homebrew installs) — meaning `npm install -g` needs no sudo. */
L308: function npm[redacted]() {
High Runtime Package Install
Package source invokes a package manager install command at runtime.
dist/index.js View on unpkg · L302 10 * two. Before importing, it replaces process.stderr.write with a tee so every
Medium Dynamic Require
Package source references dynamic require/import behavior.
payload/platform/plugins/ledger/lib/mcp-spawn-tee/index.js View on unpkg · L8 11 * stderr byte the server writes is mirrored to the log sinks; stdin and stdout
12 * (the JSON-RPC channel) are never touched.
14 * Claude Code CLI → shim (this file) = node running <real-entry> in-process
15 * stdin/stdout : untouched (JSON-RPC channel)
16 * stderr : process.stderr.write teed → raw sink + passthrough
19 * - `${LOG_DIR}/mcp-<name>-<SESSION_ID>.log` — raw stderr + lifecycle lines.
20 * The sole raw sink. Task 1721 retired the per-date twin: its date was
21 * pinned at spawn, no reader ever parsed it, and a since-removed stderr
22 * tee wrote the same file, so every line landed twice.
23 * - `${LOG_DIR}/mcp-<name>-nosession.log` — the same, for a spawn with
24 * no SESSION_ID (enumeration). One fixed file per server.
25 * - `server.log` via the loopback log-ingest route — best-effort mirror of
26 * the [mcp-helper] lifecycle lines.
28 * Lifecycle lines, correlation key `session=<id8> server=<name>`:
=>
{
82 const i = argv. indexOf (flag);
83 return i >= 0 && i + 1 < argv. length ? argv[i + 1 ] : fallback;
86 // Nothing below runs on import, so the two functions above stay unit-testable.
87 const isMain = process.argv[ 1 ] && resolvePath (process.argv[ 1 ]) === resolvePath ( fileURLToPath ( import . meta .url));
88 if (isMain) await main ();
90 async function main () {
91 const archetype = arg ( "--archetype" );
92 const contentPath = arg ( "--content" );
93 const slug = arg ( "--slug" );
94 const outRoot = arg ( "--out" );
95 const brandArg = arg ( "--brand" );
96 const port = arg ( "--port" , "9334" );
97 const T0 = Date. now ();
100 process.env. LOG_DIR && existsSync (process.env. LOG_DIR )
101 ? join (process.env. LOG_DIR , "flow-page.log" )
Low Weak Crypto
Package source references weak cryptographic algorithms.
payload/platform/plugins/admin/skills/flow-page/build.mjs View on unpkg · L99 104 const log = line => {
105 const s = `${ new Date (). toISOString () } ${ line }` ;
107 if ( LOG_FILE ) { try { appendFileSync ( LOG_FILE , s + " \n " ); } catch { /* fail open */ } }
111 const die = line => {
113 if (emitted && existsSync (emitted)) {
114 rmSync (emitted, { force: true });
115 log ( `[flow-page] op=emit-removed slug=${ slug } file=${ emitted }` );
117 log ( `[flow-page] op=exit slug=${ slug } ranMs=${ Date . now () - T0 } outcome=refused` );
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
payload/server/server.js View on unpkg · L359