AI Security Review
scanned 3h ago · by lpm-firewall-aiThe package provides a powerful developer maintenance router with remote SQL, Redis, file transfer, log reading, forwarding, and shell command execution capabilities. This is dangerous if exposed or misconfigured, but the reviewed source does not show install-time execution, stealth persistence, or hardcoded exfiltration.
Static reason
One or more suspicious static signals were detected.
Trigger
Application calls drmTool.config() and mounts drmRouter, then an authenticated/accepted HTTP request invokes a maintenance command.
Impact
Possible remote code execution, database mutation, Redis mutation, and project file read/write if the maintenance endpoint is reachable and authorized checks are bypassed or misconfigured.
Mechanism
user-invoked remote maintenance API with command execution and file operations
Rationale
Static inspection shows a package-aligned developer remote maintenance tool with dangerous dual-use capabilities, including childProcess.exec and file read/write, but no lifecycle hook abuse, hidden import-time payload, hardcoded exfiltration, or AI-agent control-surface mutation. Warn rather than block because activation is explicit runtime router use and the README documents that purpose.
Evidence
package.jsonREADME.mddist/cjs/pp-util.jscert/drmPrivateKey.pemcert/drmPublicKey.pemlog/*.loguser-specified fileName paths
Decision evidence
public snapshotAI called this Suspicious at 86.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
- dist/cjs/pp-util.js exports an Express router with fixed maintenance routes under /AD42F6697B035B7580E4FEF93BE20B4D/:destEnvType/:command.
- dist/cjs/pp-util.js implements command dispatch for dbQuery/dbExec, redis, codeFile upload/download, loadLog, and exec.
- dist/cjs/pp-util.js execute() runs user-supplied params.cmd via childProcess.exec when invoked through the router.
- dist/cjs/pp-util.js uploadCodeFile/loadFileContent can write or read user-specified project paths via resolveFilePath().
- dist/cjs/pp-util.js forwards requests to configured hosts/URLs using urllib.request.
Evidence against
- package.json has no preinstall/install/postinstall lifecycle hooks.
- README.md describes the package as a developer remote maintenance tool and shows explicit Express router mounting.
- Importing the main file defines exports/routes but does not execute shell commands, scan files, or start networking by itself.
- Remote command paths call decryptReqParams/sureNoDangers and depend on application config/private-key flow rather than hidden install-time behavior.
- No hardcoded exfiltration host or credential harvesting loop was found.
- The child_process dependency squat is noisy because the code imports Node's built-in child_process directly.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystem
HighEntropyStrings
Source & flagged code
1 flagged · loading sourcepackage.jsonView file
•Runtime dependency names matching Node built-ins: child_process
High
Node Builtin Dependency Squat
Package declares a runtime dependency whose name matches a Node built-in module.
package.jsonView on unpkgFindings
1 High1 Medium3 Low
HighNode Builtin Dependency Squatpackage.json
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowHigh Entropy Strings