T08 · Insecure Dependencies
- Location
template-filling-execution.md:78- Finding
Unpinned Global npm Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
template-filling-execution.md:78-83, with related instructions inSKILL.md:72-77andCONNECTORS.md:15-19
Vulnerability Type: Supply-chain exposure through inconsistent dependency pinning
Risk Level: MediumVulnerable Code Snippets
template-filling-execution.md:78-83:markdown - Easiest: configure the remote MCP (see Step 1) - Alternative: install Node.js 20+ and `npm install -g open-agreements`CONNECTORS.md:15-19:markdown ### Alternative: Local CLI For fully local execution (no network calls during fills), install [`open-agreements` from npm](https://www.npmjs.com/package/open-agreements). Requires Node.js >= 20. See the [README](https://github.com/open-agreements/open-agreements#use-with-claude-code) for details.This conflicts with the pinned instruction in
SKILL.md:72-77:markdown 2. **Pin the CLI version** (`npm install -g open-agreements@0.7.5`, not `@latest`) to avoid surprises from unpinned upstream changes.Technical Analysis
The primary security guidance explicitly requires version
0.7.5, but the executable workflow tells users to run an unpinned global npm installation. The connector documentation also directs users to install the package without specifying a reviewed version.An unpinned command resolves the package version associated with the registry's current default distribution tag at installation time. Consequently, the code installed and any npm lifecycle scripts executed can differ from the version reviewed when this Skill was published. A compromised maintainer account, malicious release, or unexpected upstream change could therefore introduce arbitrary code into the installation process.
Global installation increases the potential scope because the package is made available system-wide for the current Node.js installation. The precise privileges depend on how npm is configured and whether th ...[truncated 1327 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace every installation instruction with the reviewed version:
bash npm install -g open-agreements@0.7.5 - Update
CONNECTORS.mdto state the exact approved package version rather than referring only to the package landing page. - Centralize the approved version in one authoritative workflow and validate documentation consistency in CI.
- Verify the package integrity and provenance before installation, and document the expected registry and integrity digest where practical.
- Review new releases before changing the pinned version.
- Warn users not to use
sudoor another elevated account for installation unless it is strictly required. - Prefer a project-local, locked dependency over a global installation when the runtime architecture permits it.
- Replace every installation instruction with the reviewed version:
