registry  /  soloforge  /  1.1.138

soloforge@1.1.138

AI-driven development workflow system - one person does the work of a five-person team

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 11 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
HighEntropyStrings
ManifestNo manifest risk signals triggered.
scanned 223 file(s), 1.37 MB of source

Source & flagged code

4 flagged · loading source
dist/context/engine/views/file_impact.jsView file
8* 被谁调用:管线上下文解析、视图查询 L9: * 调用谁:node:fs、node:path、node:child_process、view_registry、logger L10: *
High
Child Process

Package source references child process execution.

dist/context/engine/views/file_impact.jsView on unpkg · L8
dist/core/doctor_service.jsView file
28import { existsSync, readdirSync, readFileSync } from "node:fs"; L29: import { execa } from "execa"; L30: import { resolveConfig } from "../context/config/resolver.js";
High
Shell

Package source references shell execution.

dist/core/doctor_service.jsView on unpkg · L28
192* .mcp.json 硬编码 command:"soloforge",若 PATH 找不到(npx/nvm/finder 启动致子进程 PATH 与 shell 不同),MCP 连接会失败且难定位。 L193: * 复刻 checkProbes 的 execa 模式(跨平台、不经 shell)。 */ L194: async function checkCommand() { ... L201: ? `soloforge 命令可解析${result.version ? `(${result.version})` : ""}。` L202: : `⚠️ soloforge 命令在 PATH 中不可解析——Claude Code 启动 MCP 子进程可能找不到它,MCP 连接会失败。检查 npm install -g 安装或子进程 PATH。${result.error ? `(${result.error})` : ""}`, L203: };
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

dist/core/doctor_service.jsView on unpkg · L192
dist/gate/release/gate_checks/checkTemplateKnowledgeHygiene.jsView file
36throw new Error("dist/ 目录不存在"); L37: const contractMod = await import(path.join(distDir, "domain", "asset_registry", "template_asset_contract_registry.js")); L38: const contracts = contractMod.listTemplateAssetContracts?.() ?? [];
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/gate/release/gate_checks/checkTemplateKnowledgeHygiene.jsView on unpkg · L36

Findings

3 High4 Medium4 Low
HighChild Processdist/context/engine/views/file_impact.js
HighShelldist/core/doctor_service.js
HighRuntime Package Installdist/core/doctor_service.js
MediumDynamic Requiredist/gate/release/gate_checks/checkTemplateKnowledgeHygiene.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings