T08 · Insecure Dependencies
Warning
- Location
- README.md:29
- Finding
- Unpinned Third-Party Installation Command## Vulnerability Details **File Location**: `README.md`, lines 29–33 **Vulnerability Type**: Supply-chain risk from unpinned remote dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npx add https://github.com/wpank/ai/tree/main/skills/api/database-migrations ``` ### Technical Analysis The installation command invokes the `add` package through `npx` without specifying an exact package version. It also obtains the Skill from the mutable `main` branch of an external GitHub repository rather than an immutable commit. Consequently, the package executed by `npx` and 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 1. An attacker compromises the npm package/account used by `npx`, the referenced GitHub repository, or a maintainer account. 2. The attacker publishes malicious installer behavior or modifies content under the mutable `main` branch. 3. A user follows the documented installation command. 4. `npx` resolves and executes the package available at that time, which retrieves or processes the mutable remote source. 5. 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]
- Remediation
- ## Remediation Suggestions 1. Pin the installer package to an exact, reviewed version rather than allowing `npx` to resolve the current release. 2. Reference an immutable Git commit or signed release tag instead of the mutable `main` branch. 3. Verify downloaded content with a published cryptographic checksum or signature before installation. 4. Prefer downloading and inspecting a fixed archive followed by a non-executable copy operation when installer-time code execution is unnecessary. 5. Use a trusted package registry and enforce package provenance or signature validation where supported. 6. Run installation with least privilege in an isolated environment, without production credentials or unnecessary filesystem access. 7. Document the expected package version, source commit, and integrity digest so users can reproduce the audited installation.
