@factory/cli@0.222.0
Factory Droid CLI - AI-powered software engineering agent
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe install script is the usual optional-binary fallback: it fetches the pinned @factory platform tarball from the npm registry and links it inside this package. Credential use, shell checks, and file writes stay aligned with that installer and do not show exfiltration or agent-control mutation.
Decision evidence
public snapshot- postinstall only runs node install.js; optionalDependencies are same-version @factory platform packages, not this package name.
- If the platform binary is missing, install.js requests that package packument from registry.npmjs.org and downloads the returned tarball.
- The extracted binary is written only under this package bin directory with mode 0o755.
- NPM_TOKEN is added as a Bearer header only when the request hostname includes npmjs.org.
- On Unix the postinstall replaces bin/droid with a hard link to that binary; the PATH check only prints a shell hint and does not edit profile files.
- Redirect responses are followed without a second host allowlist, though the token header is rechecked on each URL.
- The native droid binary is supplied by optional platform packages and is not present in this package, so its runtime behavior cannot be inspected here.
Source & flagged code
6 flaggedPackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time source downloads a native archive from a fixed external host without transport verification, extracts it, and installs an executable payload.
package.jsonView on unpkg · L9Install-time lifecycle script is not statically allowlisted and needs review.
Findings
Affected versions and remediation
This report applies to @factory/cli@0.222.0.
See all versions of @factory/cli for other recorded verdicts.
- Review the evidence and your use of @factory/cli@0.222.0 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.