T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Third-Party npm Executable Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 10–19
Vulnerability Type: Unpinned executable dependency
Risk Level: MediumVulnerable Code:
json "install": [ { "id": "npm", "kind": "node", "package": "cashclaw", "bins": ["cashclaw"], "label": "Install CashClaw via npm" } ]Technical Analysis
The installation metadata requests the npm package
cashclawwithout an exact version, package integrity hash, lockfile, verified source repository, or publisher identity. Consequently, the code installed and executed can change independently of the reviewed skill.npm packages can execute lifecycle scripts during installation and expose executable binaries, as this package does through the
cashclawbinary. Although the audited file does not establish that the current package is malicious, this configuration creates an avoidable supply-chain exposure. Package publisher compromise, account takeover, malicious future releases, or registry substitution could cause arbitrary code to run under the installing user's account.Attack Path
- An attacker compromises the npm publisher account, package repository, or release pipeline associated with
cashclaw. - The attacker publishes a malicious version under the same package name.
- A user or agent installs the dependency using the unversioned package declaration.
- npm resolves the declaration to the attacker-controlled release.
- Malicious installation lifecycle code or the installed
cashclawexecutable runs locally. - The payload accesses or modifies resources available to the installing user, including CashClaw configuration, mission records, client data, and credentials readable by that account.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the user installing or invoking the package. The affected scope may incl ...[truncated 525 chars]
- An attacker compromises the npm publisher account, package repository, or release pipeline associated with
- Remediation
View remediation
Remediation Suggestions
- Pin
cashclawto a specifically reviewed version rather than allowing npm to resolve the latest release. - Enforce a lockfile and verify the package tarball using an expected integrity hash.
- Document and validate the canonical source repository and expected npm publisher.
- Review the pinned package's lifecycle scripts, executable entry points, dependencies, and transitive dependencies before deployment.
- Disable npm lifecycle scripts during installation where operationally feasible, for example by using an appropriate
ignore-scriptspolicy. - Install and execute the package inside a sandbox or restricted service account with minimal filesystem, credential, subprocess, and network access.
- Use dependency monitoring and require manual security review before updating the pinned version.
- Pin
