84const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
CriticalRemote Asset Decode Execute
Source fetches a remote non-code asset, decodes its contents, and dynamically executes the decoded payload.
dist/atlisp-mcp.jsView on unpkg · L84 84Trigger-reachable chain: manifest.main -> dist/atlisp-mcp.js
L84: const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
CriticalTrigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/atlisp-mcp.jsView on unpkg · L84 •matchType = previous_version_dangerous_delta
matchedPackage = @atlisp/mcp@1.9.2
matchedIdentity = npm:QGF0bGlzcC9tY3A:1.9.2
similarity = 0.619
summary = stored previous version shares package body but lacks this dangerous source file
CriticalPrevious Version Dangerous Delta
This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
dist/atlisp-mcp.jsView on unpkg 6855});
L6856: import { spawn } from "child_process";
L6857: import path5 from "path";
27108const base = `& '${process.execPath}' '${process.argv[1]}' --transport http`;
L27109: return `powershell -WindowStyle Hidden -Command "${base}"`;
L27110: }
84const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
HighCommand Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/atlisp-mcp.jsView on unpkg · L84 84Detached bundled service listener: dist/atlisp-mcp.js launches a Node helper and exposes a broad-bound HTTP listener.
L84: const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
HighSpawned Bundled Service Listener
Source launches a detached bundled service that exposes a broad-bound HTTP listener.
dist/atlisp-mcp.jsView on unpkg · L84 84Trigger-reachable persistence chain: manifest.main -> dist/atlisp-mcp.js
L84: const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
HighTrigger Reachable Persistence
A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/atlisp-mcp.jsView on unpkg · L84 1077try {
L1078: const { NodeTracerProvider, BatchSpanProcessor } = await import("@opentelemetry/sdk-trace-node");
L1079: const { OTLPTraceExporter } = await import("@opentelemetry/exporter-trace-otlp-http");
MediumDynamic Require
Package source references dynamic require/import behavior.
dist/atlisp-mcp.jsView on unpkg · L1077 84const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
MediumInstall Persistence
Source writes installer persistence such as shell profile or service configuration.
dist/atlisp-mcp.jsView on unpkg · L84 84const raw = fs.readFileSync(filePath, "utf-8");
L85: const parsed = JSON.parse(raw);
L86: const result2 = configSchema.safeParse(parsed);
...
L184: // 会先剥掉 scheme 与端口再比较(getHost)。所以 `localhost` 这条已经覆盖
L185: // http://localhost:8100 / :8110 等本机所有端口;加了 https:// 反而看不出这一点,
L186: // 容易被后人「修正」成逐个端口枚举。* 开头按子域后缀匹配。
...
L342: cliArgs = parseArgs();
L343: envResult = envSchema.safeParse(process.env);
L344: if (!envResult.success) {
...
L348: env = envResult.data;
L349: configFilePath = env.CONFIG_FILE || cliArgs.configFile || path.join(os.homedir(), ".atlisp", "atlisp.config.json");
L350: fileConfig = loadConfigFile(configFilePath);
LowWeak Crypto
Package source references weak cryptographic algorithms.
dist/atlisp-mcp.jsView on unpkg · L84