@factory/cli@0.228.0
Factory Droid CLI - AI-powered software engineering agent
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe postinstall behavior matches a documented optional-binary CLI shim: it fetches only the matching @factory platform package from the npm registry and links it inside this package. Credential use is limited to NPM_TOKEN on npmjs.org hosts, and the PATH message does not write agent or shell config.
Decision evidence
public snapshot- postinstall runs node install.js to wire the droid CLI binary.
- If the platform optional dependency is missing, install.js downloads that same-version @factory platform package from registry.npmjs.org and writes it under the package bin directory.
- NPM_TOKEN is sent only as a Bearer header when the request hostname contains npmjs.org.
- On Unix the script replaces bin/droid with a hard link or symlink to that local platform binary and only prints a PATH hint without editing shell profiles.
- The registry client follows HTTP redirects, and the npmjs.org check is a substring match rather than an exact host allowlist.
- postinstall can execute the extracted platform binary with --version after writing it mode 0755.
Source & flagged code
7 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.228.0.
See all versions of @factory/cli for other recorded verdicts.
- Review the evidence and your use of @factory/cli@0.228.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.