T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned npm Package Installation Executes Untrusted Lifecycle Code
- Content
View full analysis
- If set, the package's postinstall skips automatic skill installation. Leave unset for normal setup; this skill installs the operating skill explicitly via `skills install --path`. ``` ```markdown ## Step 1 — Ensure the CLI is installed If your host already installed the `install: node` dependency, the binary is present. Otherwise install it globally: ```bash npm install -g refacil-pay-cli ``` Verify (if this fails, install is not complete — do not continue): ```bash refacil-pay-cli --version ``` > No global write access (sandbox)? Use `npx refacil-pay-cli ` instead, or > install into a prefix you control and add it to `PATH`. ``` ### Technical Analysis The installation commands do not specify an exact package version or integrity hash. Consequently, each installation may retrieve a different release from the npm registry. Both global npm installation and `npx` can execute package-controlled JavaScript, including npm lifecycle hooks. The configuration explicitly documents that the package has a `postinstall` behavior capable of automatically installing skills unless `REFACIL_PAY_CLI_NO_SKILLS` is set. The recommended normal setup leaves that variable unset. This gives an externally maintained and mutable package an execution path during installation and allows it to modify the agent environment before its contents are reviewed. Although the audited file contains no embedded malicious payload, its dependency handling creates a supply-chain trust boundary. A compromised publisher account, registry response, or future package release could change the code executed by the same instructions without requiring any modification t ...[truncated 1371 chars]- Remediation
View remediation
