T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Global Installation of an Unreviewed npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:15-18
Vulnerability Type: Supply-chain risk from an unpinned third-party dependency
Risk Level: MediumComplete Code Snippet:
bash npm install -g @clawdactual/bookwormTechnical Analysis
The installation instructions retrieve and globally install the latest version of
@clawdactual/bookwormwithout a version pin, lockfile, or integrity constraint. The executable package source is not present in the audited project, so its implementation—including lifecycle scripts, file access, network behavior, API-key handling, and session persistence—cannot be verified from the available artifact.Because npm packages may execute lifecycle scripts during installation, following this command can run package-controlled code immediately. Global installation also exposes the resulting executable broadly within the user's environment. A later malicious or compromised package release could therefore alter the effective behavior without any change to this reviewed
SKILL.md.The instruction does not itself prove that the current npm package is malicious. The vulnerability is the unsafe trust and installation model, which unnecessarily delegates execution to mutable, unaudited third-party content.
Attack Path
- An attacker compromises the package publisher account, npm registry credentials, or the package's release pipeline.
- The attacker publishes a malicious version under the existing
@clawdactual/bookwormpackage name. - A user follows the documented unpinned command, causing npm to select the malicious latest version.
- Malicious lifecycle scripts may execute during installation, or malicious CLI logic may execute when the user invokes
bookworm. - The payload operates with the privileges of the installing or invoking user and can access resources available to that account.
Impact Assessment
Successful exploitation could execute arbitrar ...[truncated 886 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specific, reviewed version, for example
@clawdactual/bookworm@0.1.1, rather than implicitly installing the latest release. - Prefer a project-local installation with a committed lockfile over global installation, reducing executable scope and preserving reproducible dependency resolution.
- Publish or include the executable source and dependency manifest in the audited repository so reviewers can assess network access, file handling, lifecycle scripts, and secret processing.
- Verify package provenance and registry integrity metadata before installation. Where supported, use npm provenance attestations and checksum validation.
- Disable lifecycle scripts during installation when they are not required, such as by using
npm install --ignore-scripts, after confirming that the package remains functional. - Run the CLI under a dedicated, least-privileged account or sandbox. Provide only the specific book files and output directories needed for the reading task.
- Supply
ANTHROPIC_API_KEYonly at runtime, avoid persisting it in configuration or session files, and use a narrowly scoped key with appropriate usage limits. - Document the reviewed package version and establish a controlled update process that performs source review and testing before adopting newer releases.
- Pin the dependency to a specific, reviewed version, for example
