T08 · Insecure Dependencies
- Location
README.md:8- Finding
Unpinned Third-Party Skill Installation from Mutable Remote Sources
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 8
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
bash npx skills add https://github.com/hedging8563/tokenlab-skills --skill tokenlab-openai-compatible-migration -yTechnical Analysis
The documented installation command invokes the
skillsnpm package throughnpxwithout specifying a package version and installs Skill content from a GitHub repository without pinning a tag or immutable commit hash. Both dependencies can therefore resolve to content different from what was reviewed during this audit.The
-yargument enables non-interactive confirmation, reducing the opportunity for a user to inspect unexpected installation behavior or changed remote content. If the npm package, its dependency chain, the GitHub account, or the repository is compromised, the command could retrieve and install attacker-controlled content.This finding concerns the installation process documented by the project. The audited repository itself contains no embedded executable scripts or confirmed malicious payload.
Attack Path
- An attacker compromises the npm package, one of its transitive dependencies, the GitHub account, or the referenced repository.
- The attacker publishes a modified installer or adds malicious Skill instructions or files to the mutable repository branch.
- A user follows the README and executes the unpinned
npx skills addcommand. npxretrieves the currently available package version, and the installer retrieves the current repository content rather than an audited immutable revision.- The
-yoption allows installation to proceed without interactive confirmation. - The altered Skill is installed and may affect agent behavior or, depending on installer and payload capabilities, perform actions with the permissions of the invoking user.
Impact Assessment
Exploitati ...[truncated 634 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsnpm package to a reviewed, explicit version rather than allowingnpxto resolve the latest release. - Pin the GitHub source to an immutable commit hash or a cryptographically verified signed release instead of a mutable default branch.
- Publish and verify checksums or signatures for released Skill artifacts.
- Remove
-ywhere practical so users can review installation prompts and resolved sources. - Document the expected npm package version, repository commit, artifact checksum, and verification procedure.
- Use lockfiles and integrity metadata for all applicable npm dependencies.
- Run installation with least privilege in an isolated environment, and avoid exposing unrelated credentials to the installer process.
- Add automated release checks that compare distributed artifacts against the reviewed repository revision.
- Pin the
