registry / @apilift/cli / 1.5.9
@apilift/cli@1.5.9
AI Security Review
scanned 12d ago · by lpm-firewall-aiThe static flags resolve to product-aligned runtime behavior and bundled validation or pricing code. Source inspection found no concrete malicious behavior warranting a warning or block.
Static reason
One or more suspicious static signals were detected.
Trigger
The commands and local helpers run when invoked by the user or started by the CLI; no install-time attack trigger was found.
Impact
No unauthorized credential disclosure, remote payload execution, destructive action, or agent control hijack was established.
Mechanism
The inspected code uses schema validation, authenticated loopback requests, and derived usage measurements. It did not establish an unrelated credential recipient or remote response execution.
AI rationale
The static flags resolve to product-aligned runtime behavior and bundled validation or pricing code. Source inspection found no concrete malicious behavior warranting a warning or block.
Decision evidence
public snapshotAI called this Clean at 87.0% confidence as Benign with low false-positive risk.
Evidence for AI clean decision
- The manifest lists build and test scripts and exposes four CLI entrypoints. [package.json]
- The capture server rejects requests without a bearer token; the native host sends its local requests to loopback with that token. [dist/apilift-capture-server.js, dist/apilift-native-host.js]
- The pricing dependency exports provider lookup, usage extraction, and price calculation, and its CLI source begins with a provider catalog. [dependency source]
- The session audit command accepts a user-supplied subject for its local audit. [dist/apilift-session-audit.js]
- The main bundle's worker uses a worker source and script value; the inspected definitions trace them to a Windows process-start check. The collector builds pseudonymous usage measurements with duration and token fields. [dist/apilift.js, dist/apilift-collector.js]
Evidence against
Behavioral surface
ChildProcessCryptoEnvironmentVarsEvalFilesystemNetwork
Source & flagged code
5 flaggeddist/apilift.jsView file
76const {workerData}=require('node:worker_threads');
L77: const {spawn}=require('node:child_process');
L78: const state=new Int32Array(workerData.memory,0,4), value=new Float64Array(workerData.memory,16,1);
High
23778sourceCode = this.opts.code.process(sourceCode, sch);
L23779: const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);
L23780: const validate2 = makeValidate(this, this.scope.get());
High
•Manifest-reachable source captures an API credential, sends it to a fixed unofficial gateway, and persists that redirection in agent or shell configuration.
dist/apilift.js:
script = `$ErrorActionPreference='Stop'; while ($null -ne ($line=[Console]::ReadLine())) { $parts=$line.Split('|'); try { $p=[System.Diagnostics.Process]::GetProcessById([int]$part...
import { mkdirSync as mkdirSync2, readFileSync as readFileSync2, rmSync, writeFileSync } from "node:fs";
writeFileSync(join(directory, "owner.json"), JSON.stringify(owner), { flag: "wx", mode: 384 });
transportDefinitionSchema = external_exports.strictObject({ title, description: requiredDescription, mode: external_exports.enum(["direct", "browser"]), baseUrl: requestUrlSchema.o...
if (v.mode === "direct" && !v.baseUrl)
ctx.addIssue({ cod
Findings
1 Critical4 High3 Medium6 Low
CriticalRemote Response Code Executiondist/apilift-capture-server.js
HighChild Processdist/apilift.js
HighEvaldist/apilift.js
HighCredential Redirect Persistencedist/apilift.js
HighCross File Remote Execution Contextdist/apilift.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowTelemetry
LowUrl Strings
LowNo License
Affected versions and remediation
This report applies to @apilift/cli@1.5.9.
See all versions of @apilift/cli for other recorded verdicts.
- Review the evidence and your use of @apilift/cli@1.5.9 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: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.