T08 · Insecure Dependencies
Warning
- Location
- quickstart.md:5
- Finding
- Execution of an Unpinned npm Package## Vulnerability Details **File Location**: `quickstart.md:5-7`; also recommended in `SKILL.md:44-46,56` **Vulnerability Type**: Supply-chain risk caused by mutable package resolution **Risk Level**: Medium **Vulnerable code:** ```bash npx paperclipai onboard --yes ``` Supporting instruction: ```markdown - Node.js 20+ for the official `paperclipai` package and local server - pnpm 9.15+ for repo-based workflows - `curl` for direct API checks and automation - Prefer `npx paperclipai onboard --yes` for the first working instance. ``` ### Technical Analysis The recommended setup command runs the version of `paperclipai` currently resolved by npm without specifying a reviewed version or verifying package integrity. The `--yes` option suppresses the installation confirmation that could otherwise alert the operator that code is about to be downloaded and executed. Because the resolved package is mutable after this skill has been reviewed, compromise of the npm package, publisher credentials, package ownership, or registry resolution path could cause arbitrary package code or lifecycle scripts to execute locally. The project does not provide a version pin, expected checksum, trusted registry restriction, or lockfile-backed installation procedure for this setup path. ### Attack Path 1. An attacker compromises the `paperclipai` npm package, its publisher account, or the package resolution infrastructure. 2. The attacker publishes a malicious version under the package name resolved by the unpinned command. 3. A user or agent follows the documented first-use setup procedure. 4. `npx` retrieves the current mutable package version without requiring interactive installation confirmation. 5. Malicious package lifecycle or application code executes with the permissions of the invoking user. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the invoking user's account. The resul ...[truncated 339 chars]
- Remediation
- ## Remediation Suggestions - Pin the package to a specifically reviewed version, for example: ```bash npx --yes paperclipai@<reviewed-version> onboard --yes ``` - Document the expected npm registry and reject unexpected registry overrides. - Publish and verify package provenance, signatures, or integrity hashes before execution. - Prefer a lockfile-backed installation workflow with committed integrity metadata. - Review package lifecycle scripts and consider disabling them during installation where operationally possible. - Remove automatic confirmation suppression when interactive review is appropriate, or clearly warn users that the command downloads and executes third-party code.
