T08 · Insecure Dependencies
- Location
README.md:7- Finding
Unpinned Third-Party Installer and Mutable Remote Source
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 7
Vulnerability Type: Unpinned third-party dependency and mutable installation source
Risk Level: MediumVulnerable Code
bash npx skills add https://github.com/skillhq/hotel-searchTechnical Analysis
The documented installation command invokes
npx skillswithout specifying a package version or integrity digest. Consequently, the command may download and execute whichever package version the npm registry resolves at installation time.The command also installs skill content from a mutable GitHub repository reference rather than an audited commit hash or signed release. The effective installer and installed content can therefore change after this audit without any modification to the reviewed project files.
This creates two supply-chain trust boundaries:
- The npm package resolved for
skillscan change or be compromised. - The default branch or repository content at the GitHub URL can change or be compromised.
Because
npxexecutes the resolved package, compromise of the package, maintainer account, registry entry, repository, or associated credentials could turn the installation command into a local code-execution path.Attack Path
- An attacker compromises the npm package resolved by
npx skills, its publisher account, or the referenced GitHub repository. - The attacker publishes malicious installer logic or modifies the repository’s default branch.
- A user follows the installation command from
README.md. npxdownloads and executes the currently resolved package rather than a version verified during this audit.- The installer retrieves the mutable repository content and installs it.
- Malicious package logic may execute during installation, or attacker-controlled skill instructions may run when the installed skill is later activated.
Impact Assessment
Successful exploitation could execute code with the privileges of the user running t ...[truncated 513 chars]
- The npm package resolved for
- Remediation
View remediation
Remediation Suggestions
- Pin the npm package to a reviewed version, for example by using an exact version rather than an unqualified package name.
- Pin the GitHub source to a specific audited commit hash or immutable signed release tag.
- Use npm lockfile and integrity metadata where installation architecture permits.
- Publish signed releases and document how users can verify signatures or checksums before installation.
- Avoid executing newly downloaded installer code directly where possible. Prefer a download, verification, review, and activation workflow.
- Document the exact package version and repository commit covered by each security review.
- Protect package and repository maintainer accounts with phishing-resistant multi-factor authentication and restricted release permissions.
- Run installation under a non-privileged account and avoid using
sudoor administrator privileges.
