@swirls/cli@0.1.136
Swirls command line application
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe published postinstall clearly fetches and runs a first-party remote installer, which is unresolved install-time remote execution rather than a complete malware chain. Domain, global-only guards, and unobfuscated CLI structure make a publish block too likely to be a false positive.
Decision evidence
public snapshot- postinstall runs node scripts/install.js on install.
- Global installs pipe https://swirls.ai/install into bash through child_process execSync.
- After the remote script, the installer copies ~/.local/bin/swirls over the package bin/swirls binary.
- The shipped bin/swirls placeholder tells users to drop --ignore-scripts or run the same curl-to-bash installer.
- swirls.ai matches the scoped package name, author URL, and documented CLI product.
- The hook exits immediately unless the install is global npm or bun; CI and Windows are skipped.
- Published source is short and unobfuscated, with no secret harvesting, eval, agent-config writes, or runtime self-dependency.
- Scanner malware-fingerprint labels are not backed by extra hidden payload in this tarball.
Source & flagged code
10 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.
Findings
Affected versions and remediation
This report applies to @swirls/cli@0.1.136.
See all versions of @swirls/cli for other recorded verdicts.
- Review the evidence and your use of @swirls/cli@0.1.136 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.