T08 · Insecure Dependencies
- Location
README.md:29- Finding
Unpinned Third-Party Installation Command
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 29–33
Vulnerability Type: Supply-chain risk from unpinned remote dependencies
Risk Level: MediumVulnerable Code
bash npx add https://github.com/wpank/ai/tree/main/skills/api/database-migrationsTechnical Analysis
The installation command invokes the
addpackage throughnpxwithout specifying an exact package version. It also obtains the Skill from the mutablemainbranch of an external GitHub repository rather than an immutable commit.Consequently, the package executed by
npxand the remote Skill content can change after this project has been reviewed. The command does not perform checksum, signature, or provenance verification. This creates a supply-chain trust gap: a compromised npm package, npm account, GitHub repository, or maintainer account could cause users to execute altered installation logic or install malicious Skill content.No evidence establishes that either current remote source is malicious. The vulnerability is the unsafe, unpinned installation mechanism.
Attack Path
- An attacker compromises the npm package/account used by
npx, the referenced GitHub repository, or a maintainer account. - The attacker publishes malicious installer behavior or modifies content under the mutable
mainbranch. - A user follows the documented installation command.
npxresolves and executes the package available at that time, which retrieves or processes the mutable remote source.- Attacker-controlled logic may execute with the installing user's privileges, or malicious Skill instructions may be placed in the user's agent configuration.
Impact Assessment
Successful exploitation could execute commands with the privileges of the user running the installation, read or modify files accessible to that user, alter project or global AI-agent configuration, and install attacker-controlled Skill instructions. If t ...[truncated 216 chars]
- An attacker compromises the npm package/account used by
- Remediation
View remediation
Remediation Suggestions
- Pin the installer package to an exact, reviewed version rather than allowing
npxto resolve the current release. - Reference an immutable Git commit or signed release tag instead of the mutable
mainbranch. - Verify downloaded content with a published cryptographic checksum or signature before installation.
- Prefer downloading and inspecting a fixed archive followed by a non-executable copy operation when installer-time code execution is unnecessary.
- Use a trusted package registry and enforce package provenance or signature validation where supported.
- Run installation with least privilege in an isolated environment, without production credentials or unnecessary filesystem access.
- Document the expected package version, source commit, and integrity digest so users can reproduce the audited installation.
- Pin the installer package to an exact, reviewed version rather than allowing
