@hs-x/cli@0.4.12
HS-X CLI — init, validate, connect, dev, deploy, promote, rollback, doctor, sync. Installs the `hs-x` command.
AI Security Review
scanned 4d ago · by lpm-firewall-aiThe package’s deployment flow sends identifying project and worker metadata to the vendor control plane as runtime telemetry, beyond the fields described by its telemetry notice. The event is tied to a user-confirmed deploy and uses an HS-X machine credential, so this is a warning-level telemetry concern rather than credential exfiltration.
Decision evidence
public snapshot- After a successful, non-dry-run unlinked Cloudflare deployment, the CLI sends a deploy event.
- The event is POSTed to the configured HS-X control plane and authenticated with the machine secret.
- The event includes project and deploy identifiers, environment, and the deployed worker URL.
- The event uses an HS-X machine secret described as a local bearer capability.
- The event only runs after a user-triggered deployment succeeds; deploy mutations require consent or --yes.
- The machine secret is generated and stored locally for pre-link HS-X machine events; the inspected flow does not send a HubSpot or Cloudflare credential to a foreign host.
- The CLI discloses and provides opt-outs for its separate, basic command telemetry, but that notice does not describe the deploy event’s identifying fields.
Source & flagged code
6 flaggedPackage source references dynamic require/import behavior.
dist/dev/compat-shim.jsView on unpkg · L67Package source references a known benign dynamic code generation pattern.
dist/dev/compat-shim.jsView on unpkg · L71Findings
Affected versions and remediation
This report applies to @hs-x/cli@0.4.12.
See all versions of @hs-x/cli for other recorded verdicts.
- Review the evidence and your use of @hs-x/cli@0.4.12 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.