AI Security Review
scanned 2h ago · by lpm-firewall-aiThe postinstall lifecycle downloads and installs a signed, digest-verified platform runtime in `~/.worldant`. No credential harvesting, exfiltration, broad persistence, destructive behavior, or AI-agent control-surface modification is present in the inspected source.
Static reason
One or more suspicious static signals were detected.
Trigger
`npm install` triggers the installer; explicit `worldant` invocation launches the installed runtime.
Impact
Installs a package-aligned external runtime, but source-side controls fail closed on invalid signatures, digests, origins, redirects, versions, and archive paths.
Mechanism
Pinned Sigstore manifest verification followed by allowlisted HTTPS artifact download and safe extraction.
Rationale
The install hook performs a package-aligned verified-runtime installation with explicit signature, origin, digest, version, redirect, and extraction safeguards. Static inspection found no concrete malicious behavior.
Evidence
package.jsoninstall.jsdownload.mjsverify-manifest.mjsinstaller-core.mjstrust-policy.jsonbin/worldant.jsuninstall.js~/.worldant/versions~/.worldant/current~/.worldant/installed.json
Network endpoints5
github.com/Midwess/worldant/releases/downloadgithub.comobjects.githubusercontent.comrelease-assets.githubusercontent.comtoken.actions.githubusercontent.com
Decision evidence
public snapshotAI called this Clean at 93.0% confidence as Benign with low false-positive risk.
Evidence for block
- `package.json` runs `node install.js` during `postinstall`.
- `install.js` downloads a platform artifact and stores it under `~/.worldant`.
Evidence against
- `install.js` verifies a signed manifest against the pinned Sigstore identity before artifact selection.
- `installer-core.mjs` requires HTTPS, an origin allowlist, version equality, and SHA-256 artifact integrity.
- `download.mjs` revalidates each redirect and limits redirect hops.
- `install.js` rejects archive traversal and non-file/directory archive entries.
- `bin/worldant.js` only launches the installed package-owned runtime when explicitly invoked.
- `uninstall.js` deletes only package-owned paths and retains `data`.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
UrlStrings
Source & flagged code
2 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node install.js
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkg•scripts.postinstall = node install.js
Medium
Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgFindings
1 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowUrl Strings