T08 · Insecure Dependencies
- Location
SKILL.md:9- Finding
Unpinned Executable npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 9–18
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable Code
json "requires": { "bins": ["node"] }, "install": [ { "id": "npm", "kind": "node", "package": "cashclaw", "bins": ["cashclaw"], "label": "Install CashClaw via npm" } ]Technical Analysis
The skill instructs its host to install the
cashclawpackage from npm without specifying an exact version, integrity hash, lockfile, or verified source revision. The audited project does not contain the dependency's source code, so its effective behavior cannot be assessed from the repository.Package resolution can therefore select a mutable release that differs from the version originally intended or reviewed. npm packages may also define lifecycle scripts that execute during installation. If the registry package, publisher account, or release process is compromised, attacker-controlled code could run with the privileges of the account performing the installation.
Attack Path
- An attacker compromises the npm package, its publisher account, or its release pipeline.
- The attacker publishes a malicious version under the existing
cashclawpackage name. - A user installs this skill, and the unversioned dependency resolves to the malicious release.
- npm downloads the package and may execute attacker-controlled lifecycle scripts during installation.
- The user or agent subsequently invokes the installed
cashclawbinary through the documented workflow, providing an additional code-execution opportunity.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the process installing or running the package. Depending on those privileges and the host environment, the malicious dependency could access local files and environment variables, modify user-owned data, make network requests, or execute additional proce ...[truncated 308 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
cashclawto an exact, reviewed version rather than allowing mutable package resolution. - Record and verify the package's registry integrity hash using a committed lockfile or equivalent trusted metadata.
- Verify package ownership, provenance, signatures, and release history before installation.
- Install with lifecycle scripts disabled, such as
npm install --ignore-scripts, unless those scripts are required and have been separately audited. - Prefer bundling reviewable source code or referencing an immutable, version-locked source commit.
- Run installation and CLI execution under a least-privileged account in a sandbox with restricted filesystem and network access.
- Add automated dependency monitoring and require security review before updating the pinned version.
- Pin
