T08 · Insecure Dependencies
- Location
README.md:9- Finding
Unpinned Installation Tools and Mutable Skill Source
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 9-17
Vulnerability Type: Supply-chain risk caused by unpinned dependencies and mutable remote sources
Risk Level: MediumVulnerable Code
bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/cross-chain-arbitrageOr via Clawhub:
bash npx clawhub@latest install cross-chain-arbitrageTechnical Analysis
The documented installation commands retrieve and run npm-distributed installation tools without pinning them to reviewed, immutable versions. The second command explicitly uses
clawhub@latest, while the first invokesskillswithout an exact package version. Depending on npm resolution behavior, both may execute a release different from the one reviewed.The GitHub installation source also references the mutable
mainbranch rather than a specific commit. Consequently, the content installed by a future invocation can differ from the content covered by this audit.This creates a time-of-review versus time-of-installation discrepancy. Compromise of the npm packages, package-publisher accounts, registry distribution path, GitHub repository, or repository maintainer account could cause users to retrieve and install attacker-controlled content.
The commands appear in installation documentation and are not automatically executed by the audited skill. Exploitation therefore requires a user or automation system to follow the documented installation procedure.
Attack Path
- An attacker compromises an upstream npm publisher, npm package, GitHub repository, or associated maintainer account.
- The attacker publishes a malicious release under the unpinned package name, changes the release selected by
@latest, or modifies content on the GitHubmainbranch. - A user follows the installation instructions in
README.md. npxdownloads and executes the currently resolved installer package rat ...[truncated 1194 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every npm installation tool to an exact reviewed version, for example
package-name@X.Y.Z; do not use@latestor an omitted version. - Pin the GitHub source to a specific reviewed commit hash instead of the mutable
mainbranch. - Generate and publish integrity hashes or signed release artifacts for the installer and skill package.
- Verify package signatures, provenance attestations, and integrity metadata before execution.
- Use a lockfile or an equivalent reproducible installation mechanism for all transitive dependencies.
- Run installation in a sandbox or minimally privileged environment without wallet secrets, production credentials, or unnecessary filesystem access.
- Review updates before changing pinned versions, and document the commit and package versions covered by each security audit.
- Avoid invoking downloaded packages directly through
npxin sensitive environments. Prefer a separately verified installer artifact or install the pinned package without lifecycle scripts before executing it.
- Pin every npm installation tool to an exact reviewed version, for example
