droid@0.224.1
Factory Droid CLI - AI-powered software engineering agent
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThe postinstall script is a package-aligned native-binary shim, the same pattern used by other published CLIs, and it only downloads the pinned Factory platform package from the npm registry. It does not harvest secrets, write foreign agent configuration, or persist outside its own bin path.
Decision evidence
public snapshot- postinstall only runs local node install.js, and optionalDependencies pin same-version @factory/cli platform packages.
- The fallback downloader requests https://registry.npmjs.org for the selected platform package and this package version.
- The extracted file is written only under this package bin directory, then bin/droid is replaced with a hard link or symlink to that binary.
- The global PATH helper only prints a shell hint and does not write profile or agent config files.
- postinstall may run the platform binary with --version and may run npm prefix -g to locate the global bin directory.
- NPM_TOKEN is sent only when the request hostname string contains npmjs.org, including on followed redirects.
- AVX2 detection on Windows runs a local PowerShell feature check and does not send the result off-box.
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 droid@0.224.1.
See all versions of droid for other recorded verdicts.
- Review the evidence and your use of droid@0.224.1 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.