AI Security Review
scanned 3d ago · by lpm-firewall-aiNo confirmed malicious attack surface was found. The risky primitives are command-invoked CLI behavior for WordPress/Loopress sync, browser login, and Composer integration.
Static reason
One or more suspicious static signals were detected.; previous stored version diff introduced dangerous source
Trigger
User runs explicit CLI commands such as lps login, plugin add, plugin push, snippets push, or composer push.
Impact
Expected CLI effects: writes loopress.json or ~/.loopress config, syncs snippets/plugins/composer data to configured WordPress or Loopress endpoints.
Mechanism
User-invoked network sync and local config management.
Rationale
Static inspection shows a normal oclif CLI for managing Loopress/WordPress configuration and sync operations; scanner findings map to expected user-invoked network, local file, and Composer behaviors. There are no lifecycle hooks or hidden execution paths indicating malware.
Evidence
package.jsonbin/run.jsdist/commands/login.jsdist/commands/plugin/add.jsdist/lib/push-command.jsdist/config/auth.manager.jsdist/config/project-config.manager.jsdist/commands/snippet/push.jsdist/commands/composer/push.js~/.loopress/auth.json~/.loopress/config.jsonloopress.jsoncomposer.jsoncomposer.lock<configured snippets directory>
Network endpoints5
console.loopress.devapi.loopress.devapi.wordpress.org/plugins/info/1.2/<configured WordPress URL>/wp-json/loopress/v1/*<configured WordPress URL>/wp-json/code-snippets/v1/snippets
Decision evidence
public snapshotAI called this Clean at 90.0% confidence as Benign with low false-positive risk.
Evidence for block
- dist/lib/push-command.js posts deployment status and site URL to https://api.loopress.dev after push commands.
- dist/commands/login.js uses child_process.exec only to open the Loopress console login URL in a browser.
- dist/commands/plugin/add.js can spawn composer require for user-supplied Composer package names when explicitly invoked.
Evidence against
- package.json has no install/preinstall/postinstall lifecycle hooks.
- bin/run.js only delegates to oclif command execution; no import-time payload found.
- Network use is aligned with CLI functions: Loopress console/API, WordPress REST endpoints, and WordPress.org plugin metadata.
- Credentials are stored locally under ~/.loopress by explicit login/project config commands and used as auth headers for configured endpoints.
- No evidence of credential harvesting, hidden persistence, destructive filesystem behavior, eval/vm usage, or AI-agent control-surface writes.
Behavioral surface
ChildProcessDynamicRequireEnvironmentVarsFilesystemNetworkShell
UrlStrings
CopyleftLicense
Source & flagged code
3 flagged · loading sourcedist/commands/login.jsView file
1import { Command } from '@oclif/core';
L2: import { exec } from 'node:child_process';
L3: import { createServer } from 'node:http';
L4: import { authManager } from '../config/auth.manager.js';
...
L20: };
L21: const cmd = cmds[process.platform];
L22: if (cmd)
...
L33: res.writeHead(400, { 'Content-Type': 'text/plain' });
L34: res.end('Missing token');
L35: return;
High
Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/commands/login.jsView on unpkg · L1bin/dev.cmdView file
•path = bin/dev.cmd
kind = build_helper
sizeBytes = 86
magicHex = [redacted]
Medium
dist/commands/plugin/add.jsView file
•matchType = previous_version_dangerous_delta
matchedPackage = @loopress/cli@0.5.0
matchedIdentity = npm:QGxvb3ByZXNzL2NsaQ:0.5.0
similarity = 0.880
summary = stored previous version shares package body but lacks this dangerous source file
Critical
Previous Version Dangerous Delta
This package version adds a dangerous source file absent from the previous stored version.
dist/commands/plugin/add.jsView on unpkgFindings
1 Critical1 High5 Medium4 Low
CriticalPrevious Version Dangerous Deltadist/commands/plugin/add.js
HighSandbox Evasion Gated Capabilitydist/commands/login.js
MediumDynamic Require
MediumNetwork
MediumEnvironment Vars
MediumShips Build Helperbin/dev.cmd
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowUrl Strings
LowCopyleft License