T08 · Insecure Dependencies
- Location
references/troubleshooting.md:17- Finding
Unpinned Global Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
references/troubleshooting.md, line 17
Vulnerability Type: Unpinned dependency installation from a mutable package registry
Risk Level: MediumVulnerable Code Snippet:
markdown If `rb` is not installed, report that prerequisite. Install it only within the user's authorization; the standard package command is `npm install -g recallbase`.Technical Analysis
The troubleshooting instructions recommend globally installing the latest available version of the
recallbasenpm package without specifying a reviewed version or verifying package integrity, provenance, publisher identity, or registry origin.Because an unversioned npm installation resolves to a mutable package release at execution time, the installed artifact may differ from the package that existed when this Skill was audited. A compromised publisher account, registry compromise, or malicious future release could introduce hostile package code. npm packages may execute lifecycle scripts during installation, and the resulting globally installed
rbexecutable subsequently receives access to local conversation-history data as part of the Skill's normal workflow.The requirement for user authorization reduces the likelihood of silent installation but does not address the dependency's integrity or the risks associated with global installation.
Attack Path
- An attacker compromises the
recallbasepackage, its publisher account, or its supply-chain release process. - The attacker publishes a malicious version as the package version selected by the unpinned installation command.
- A user encounters a missing
rbprerequisite and authorizes the documented command:npm install -g recallbase. - npm downloads and installs the malicious release. Malicious lifecycle code may execute during installation with the privileges of the invoking user.
- The globally installed executable may later b ...[truncated 800 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin installation instructions to an explicitly reviewed package version, for example:
bash npm install -g recallbase@<reviewed-version> - Publish and document the expected package integrity digest or another verifiable artifact signature.
- Specify the trusted npm registry explicitly and advise users to verify the package publisher, provenance attestations, and release metadata before installation.
- Prefer a project-local or isolated installation over a global installation where operationally feasible.
- Disable package lifecycle scripts during installation when the package does not require them:
bash npm install --ignore-scripts recallbase@<reviewed-version> - If lifecycle scripts are required, review them and all transitive dependencies before recommending execution.
- Maintain a lockfile or equivalent immutable dependency record where the installation model permits it, and periodically reassess the pinned release for known vulnerabilities.
- Pin installation instructions to an explicitly reviewed package version, for example:
