5932try {
L5933: return (await fetch(`http://127.0.0.1:${port}/v1/models`, { signal: AbortSignal.timeout(3e3) })).ok;
L5934: } catch {
...
L5943: const [cmd, ...args] = plan.argv;
L5944: const child = spawn(cmd, args, {
L5945: env: {
L5946: ...process.env,
L5947: ...plan.env
CriticalSame File Env Network Execution
A single source file combines environment access, network access, and code or shell execution with blocking evidence.
dist/cli/index.mjsView on unpkg · L5932 •Trigger-reachable chain: manifest.bin -> dist/cli/index.mjs
Reachable file contains a blocking source-risk pattern.
CriticalTrigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/cli/index.mjsView on unpkg 4318summary: "Wait for a background job to finish",
L4319: description: "Waits at most --max seconds (default 110, limit 590; over ~110 s needs the Bash tool timeout raised, which the PAI hook does automatically) for a process id. Exit 0: ...
L4320: args: [{
•Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
dist/cli/index.mjs:
import { appendFileSync, chmodSync, closeSync, copyFileSync, cpSync, createReadStream, existsSync, fstatSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, r...
import { createInterface, emitKeypressEvents } from "node:readline";
writeFileSync(tmp, JSON.stringify(data, null, 2) + "\n");
* Session names live in Claude's clc registry (~/.claude/session.json):
const clcRegistryPath = (home = homedir()) => join(home, ".claude", "session.json");
writeFileSync(tmp, JSON.stringify(data, null, 2) + "\n");
const sessionsDir = join(homedir(), ".claude", "projects", encodedDir, "sessions");
/** Notes dir
HighCredential Redirect Persistence
Manifest-reachable source sends a prompted API credential to a fixed unofficial gateway and persists the redirection.
dist/cli/index.mjsView on unpkg •Manifest-trigger-reachable source links an external AI-agent control path to a behavior-bearing write operation.
dir(), "pai-sk[redacted]");
if (!existssync(templatepath)) {
console.log(c.warn("skill template not found: " + templatepath));
console.log(c.dim(" skipping pai skill installation."));
return false;
}
const skilldir = join(homedir(), ".claude", "skills", "pai");
const skillfile = join(skilldir, "skill.md");
if (existssync(skillfile)) {
const content = readfilesync(skillfile, "utf-8");
const isgenerated = content.includes("generated by pai setup");
if (isgenerated) console.log(c.dim(" found existing pai-generated skill.md."));
else {
console.log(c.yellow(" found existing skill.md (not pai-generated)."));
console.log(c.dim(" a backup will be created bef
HighTrigger Reachable External Ai Agent Control Surface Mutation
Manifest-trigger-reachable source writes behavior-bearing configuration into a user or project AI-agent control surface.
dist/cli/index.mjsView on unpkg 36Cross-file remote execution chain: dist/cli/index.mjs spawns dist/daemon-mcp/index.mjs; helper contains network access plus dynamic code execution.
L36: import chalk, { Chalk } from "chalk";
L37: import { execFile, execFileSync, execSync, spawn, spawnSync } from "node:child_process";
L38: import { parseDocument } from "yaml";
L39: import { createHash, randomUUID } from "node:crypto";
L40: import http from "node:http";
L41: import { fileURLToPath } from "node:url";
...
L52: *
L53: * Node's stdout/stderr are ASYNCHRONOUS when they point at a pipe (and
L54: * synchronous when they point at a TTY or a regular file). `process.exit()`
...
L76: stream.once("close", () => resolve());
L77: stream.write("", () => resolve());
L78: });
HighCross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/cli/index.mjsView on unpkg · L36 36Trigger-reachable persistence chain: manifest.bin -> dist/cli/index.mjs
L36: import chalk, { Chalk } from "chalk";
L37: import { execFile, execFileSync, execSync, spawn, spawnSync } from "node:child_process";
L38: import { parseDocument } from "yaml";
L39: import { createHash, randomUUID } from "node:crypto";
L40: import http from "node:http";
L41: import { fileURLToPath } from "node:url";
...
L52: *
L53: * Node's stdout/stderr are ASYNCHRONOUS when they point at a pipe (and
L54: * synchronous when they point at a TTY or a regular file). `process.exit()`
...
L76: stream.once("close", () => resolve());
L77: stream.write("", () => resolve());
L78: });
HighTrigger Reachable Persistence
A manifest entrypoint or package-local install chain reaches persistence behavior.
dist/cli/index.mjsView on unpkg · L36 36import chalk, { Chalk } from "chalk";
L37: import { execFile, execFileSync, execSync, spawn, spawnSync } from "node:child_process";
L38: import { parseDocument } from "yaml";
L39: import { createHash, randomUUID } from "node:crypto";
L40: import http from "node:http";
L41: import { fileURLToPath } from "node:url";
...
L52: *
L53: * Node's stdout/stderr are ASYNCHRONOUS when they point at a pipe (and
L54: * synchronous when they point at a TTY or a regular file). `process.exit()`
...
L76: stream.once("close", () => resolve());
L77: stream.write("", () => resolve());
L78: });
LowWeak Crypto
Package source references weak cryptographic algorithms.
dist/cli/index.mjsView on unpkg · L36