T08 · Insecure Dependencies
- Location
template-filling-execution.md:76- Finding
Unpinned Global Installation of a Third-Party CLI
- Content
View full analysis
= 20. See the [README](https://github.com/open-agreements/open-agreements#use-with-claude-code) for details. ``` ### Technical Analysis The workflow tells users or agents to install the `open-agreements` package globally without specifying a reviewed version. This causes npm to resolve the current release at installation time, meaning the code ultimately installed can differ from the version available when the Skill was audited. This instruction is inconsistent with the safer pinned command documented in `SKILL.md`, which recommends `npm install -g open-agreements@0.7.5`. A global npm installation may also execute package lifecycle scripts under the privileges of the account performing the installation. ### Attack Path 1. An attacker compromises the upstream npm package, its publisher account, or a future package release. 2. A user or agent follows the workflow and runs `npm install -g open-agreements`. 3. npm resolves and downloads the attacker-controlled release rather than the previously reviewed version. 4. Malicious package code or lifecycle scripts execute during installation. 5. The installed global command can subsequently access or modify data available to the invoking user whenever the Skill uses it. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user performing the installation. Depending on that account's permissions, ...[truncated 385 chars]- Remediation
View remediation
