T08 · Insecure Dependencies
- Location
skill.md:63- Finding
Unpinned Third-Party Code Execution During Installation
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 63–66
Vulnerability Type: Unpinned third-party installer and mutable remote dependency
Risk Level: MediumVulnerable Code
markdown ### Install ```bash theme={null} npx skills add Lightprotocol/skillstext The same unpinned command is repeated at lines 142–145: ```markdown ### Install to Any Agentnpx skills add Lightprotocol/skills
text The related security statement at line 75 is:
markdown - **Install source.** `npx skills add Lightprotocol/skills` installs from the public GitHub repository ([Lightprotocol/skills](https://github.com/Lightprotocol/skills)). Verify the source before running.Technical Analysis
The documented command causes
npxto resolve, download, and execute the npm-distributedskillspackage. It then installs Skill content from the mutableLightprotocol/skillsrepository. Neither the npm installer nor the repository content is pinned to a reviewed version, commit hash, or integrity digest.Consequently, the code executed or installed later may differ from the content that was originally audited. The statement that installation occurs from a public GitHub repository does not fully describe the trust boundary because the command first relies on executable npm package code.
Although no malicious payload is embedded in the audited file, this installation pattern creates a supply-chain exposure. Executing an installer also grants more capability than is required merely to provide development documentation.
Attack Path
- An attacker compromises the npm
skillspackage, one of its dependencies, its publisher account, or the referenced GitHub repository. - The attacker publishes malicious installer logic or modifies the repository's current content.
- A user follows the unpinned
npx skills add Lightprotocol/skillsinstruction. npxdownloads and executes the currently resolved package rather than a previously reviewed im ...[truncated 988 chars]
- An attacker compromises the npm
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsinstaller to a specific reviewed version rather than allowingnpxto resolve the latest release. - Pin
Lightprotocol/skillsto an immutable reviewed commit hash or signed release tag. - Where supported, verify package integrity, release signatures, and repository commit signatures before installation.
- Document both trust boundaries: the npm installer package and the GitHub-hosted Skill content.
- Prefer a non-executable installation method, such as downloading and inspecting immutable Skill files before copying them into place.
- If
npxremains necessary, disable automatic substitution with an unexpected package and require an exact package version. - Run installation in a sandbox or least-privileged environment without wallet keys, signing secrets, production credentials, or unnecessary filesystem access.
- Review the resolved dependency tree and remote Skill content before every version update.
- Pin the
