AI Security Review
scanned 4d ago · by lpm-firewall-aiGlobal installation triggers an unpinned remote shell installer. The behavior is package-aligned but gives swirls.ai install-time code execution outside npm package integrity.
Decision evidence
public snapshot- package.json defines postinstall: node scripts/install.js
- scripts/install.js runs execSync('curl -fsSL https://swirls.ai/install | bash') on global non-CI Unix installs
- scripts/install.js copies $HOME/.local/bin/swirls over package bin/swirls and chmods it executable
- README.md documents this as a global CLI installer for Swirls
- bin/swirls is a placeholder telling users postinstall installs the real CLI
- No credential harvesting, persistence, destructive file operations, or unrelated exfiltration found in package source
- Network endpoint is swirls.ai, matching package author/docs
Source & flagged code
7 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgSource downloads or fetches remote code and executes it.
scripts/install.jsView on unpkg · L13A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
scripts/install.jsView on unpkg · L13Package source references child process execution.
scripts/install.jsView on unpkg · L13Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
scripts/install.jsView on unpkg · L13