T08 · Insecure Dependencies
- Location
SKILL.md:64- Finding
Unpinned Global Installation of an External npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 64 and 406
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: HighVulnerable Code Snippet
bash npm install -g quick-context-saverThe dependency table repeats the same global installation command:
text | quick-context-saver | npm package | Required | `npm install -g quick-context-saver` |Technical Analysis
The Skill requires users to retrieve and globally install
quick-context-saverfrom the npm registry. The dependency is not pinned to an exact version, and the project provides no lockfile, integrity hash, bundled implementation, package provenance, or publisher-verification procedure.Consequently, the code reviewed in this project does not determine the code that will execute. npm resolves the package version and contents at installation time. A compromised publisher account, malicious replacement release, dependency compromise, or future unsafe update could introduce arbitrary JavaScript. npm lifecycle scripts can also execute during installation under the privileges of the user running npm.
The global
-ginstallation increases exposure by placing executable commands into the user's global npm environment. The package's claimed local-only and zero-external-dependency behavior cannot be verified because its implementation is absent from the audited project.Attack Path
- An attacker compromises the npm package, its publisher account, or one of its transitive dependencies.
- The attacker publishes a malicious version containing an installation lifecycle script or modified CLI implementation.
- A user follows the Skill instructions and runs
npm install -g quick-context-saver. - npm resolves the mutable package version and downloads the attacker-controlled content.
- Malicious lifecycle code executes during installation, or malicious behavior executes when a
memory-*com ...[truncated 846 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed, immutable version rather than installing the latest release.
- Record and verify the package integrity hash before installation.
- Include a lockfile and publish verifiable npm provenance or signed release artifacts.
- Bundle the auditable implementation with the Skill where licensing permits.
- Avoid global installation; use a project-local dependency with a narrowly scoped execution command.
- Disable npm lifecycle scripts during installation where compatible, and explicitly audit any scripts that must run.
- Document the expected npm publisher identity, package checksum, source repository, and verification procedure.
- Execute the CLI with least privilege in a sandbox that restricts filesystem and network access.
- Audit the package and its complete transitive dependency tree before recommending it as required software.
