T08 · Insecure Dependencies
- Location
README.md:62- Finding
Unpinned Third-Party CLI Is Downloaded and Executed During Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 62–71
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
markdown ## Installation ### Quick Install (any supported agent) The easiest way to install — works with Claude Code, Cursor, Windsurf, Cline, and [40+ other agents](https://github.com/vercel-labs/skills): ```bash npx skills add vincent-hq/skill-architectThe CLI auto-detects your agent and places the skill in the right directory.
text ### Technical Analysis The documented quick-install command invokes the third-party `skills` npm CLI through `npx` without pinning a reviewed package version or verifying package integrity. Depending on the local npm configuration and cache, `npx` can retrieve the current registry release and immediately execute its code. This means the code executed during installation is not limited to the contents of the audited repository and may change after this repository has been reviewed. The command also gives the external CLI responsibility for detecting agent installations and writing into their configuration directories. The repository contains no evidence that the package is currently malicious. The vulnerability is the unsafe trust model: compromise of the npm package, its publisher account, or a future release could turn the documented installation path into arbitrary code execution. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or its release process. 2. The attacker publishes a malicious version under the package name resolved by `npx skills`. 3. A user follows the quick-install instructions and runs: ```bash npx skills add vincent-hq/skill-architectnpxretrieves and executes the compromised package.- The malicious package runs with the invoking user's privileges and can access the user's environment and writable files.
- It may modify project files, agent configuration, or ot ...[truncated 806 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the installer to an explicitly reviewed version rather than allowing
npxto resolve the current release:bash npx --yes skills@<reviewed-version> add vincent-hq/skill-architect - Document the expected npm publisher, package repository, and reviewed version so users can validate package provenance.
- Publish and verify package integrity metadata or checksums where supported.
- Prefer a manual installation procedure based on a pinned Git commit or signed release rather than cloning a mutable default branch.
- Advise users to inspect the installer package and repository before execution in sensitive environments.
- Run installation with least privilege and without unnecessary secrets in the process environment.
- Treat changes to the pinned CLI version as security-sensitive updates requiring renewed review.
- Pin the installer to an explicitly reviewed version rather than allowing
