T08 · Insecure Dependencies
- Location
README.md:12- Finding
Unpinned Installation from a Mutable GitHub Branch
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 12
Vulnerability Type: Unpinned third-party dependency and mutable remote source
Risk Level: MediumComplete Code Snippet:
bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/cross-chain-swapTechnical Analysis
The documented installation command invokes the
skillspackage throughnpxwithout pinning that package to an exact, reviewed version. It also installs skill content from the mutablemainbranch of an external GitHub repository rather than an immutable commit.The effective package code and skill content can therefore change after this audit. Security depends on the continued integrity of the package registry, the
skillspackage, the referenced GitHub account, and the repository. This constitutes an insecure software supply-chain boundary.Attack Path
- An attacker compromises the upstream npm package, its publisher account, the GitHub account, or the referenced repository.
- The attacker publishes a malicious package release or modifies content under the repository's
mainbranch. - A user follows the documented installation command.
npxretrieves and executes the currently resolved package, which then retrieves mutable repository content.- Attacker-controlled installation code can execute with the user's privileges, or attacker-controlled skill instructions can be installed and later loaded by the agent.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the privileges of the user running
npx. The attacker could read or modify files accessible to that user, access environment variables and locally available credentials, alter installed agent skills, or introduce malicious instructions affecting later financial operations. The precise scope is constrained by the operating-system privileges and sandboxing applied to the installer.- Remediation
View remediation
Remediation Suggestions
- Pin the
skillspackage to an exact, reviewed version rather than allowingnpxto resolve an unspecified release. - Replace the mutable
mainbranch URL with an immutable, reviewed Git commit hash. - Verify package provenance, signatures, and integrity hashes before execution.
- Use a trusted installer already installed locally where possible, rather than executing a package fetched at installation time.
- Vendor and audit the skill content when reproducible installation is required.
- Run installation under least privilege and within a restricted environment that does not expose wallet credentials or unrelated secrets.
- Pin the
