T08 · Insecure Dependencies
- Location
README.md:12- Finding
Unpinned Installation Tools and Mutable Remote Skill Sources
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 12–18
Vulnerability Type: Unpinned third-party dependencies and mutable remote sources
Risk Level: MediumVulnerable Code
bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/submit-limit-orderOr via Clawhub:
bash npx clawhub@latest install submit-limit-orderTechnical Analysis
The documented installation procedures use remotely resolved npm packages without pinning them to reviewed versions. The second command explicitly requests the mutable
latestrelease ofclawhub. The first command invokes the unversionedskillspackage and installs Skill content from the mutable GitHubmainbranch.Neither procedure specifies a package version, immutable commit hash, artifact checksum, digital signature, or integrity-verification step. Therefore, the components executed or installed by these commands can change after this project has been audited.
This creates a supply-chain trust boundary in which compromise of the npm package, package publisher, registry account, GitHub repository, or upstream maintainer could replace reviewed behavior with attacker-controlled content.
Attack Path
- An attacker compromises an upstream npm publisher account, the relevant GitHub account, repository write access, or another part of the distribution infrastructure.
- The attacker publishes a malicious package version under the package resolved by
npx, changes the package tagged aslatest, or modifies content on the GitHubmainbranch. - A user follows the installation instructions in
README.md. npxdownloads and invokes the currently resolved package rather than a previously reviewed immutable version.- The installer retrieves or installs the attacker-modified Skill content.
- Malicious installation-time behavior may execute with the invoking user's privileges, or altered Skill instructi ...[truncated 907 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every npm command to an exact, reviewed version rather than relying on implicit resolution or
@latest. - Replace the GitHub
mainbranch URL with an immutable, reviewed commit hash or a signed release tag whose underlying commit is protected against modification. - Publish and verify cryptographic checksums for downloaded Skill artifacts before installation.
- Prefer signed packages or releases and document how users should verify publisher identity and signatures.
- Use lockfiles or an equivalent reproducible dependency manifest where supported.
- Disable or review package lifecycle scripts during installation, and perform installation in a sandbox or least-privileged environment.
- Add a documented update process requiring security review before changing pinned versions or commit hashes.
- Provide the expected package versions, commit identifier, and artifact digest directly in
README.mdso users can verify that they are installing the audited release.
- Pin every npm command to an exact, reviewed version rather than relying on implicit resolution or
