T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 37-40 **Vulnerability Type**: Unpinned third-party package and repository installation **Risk Level**: Medium ### Vulnerable Code ```markdown ## Connect once ``` npx skills add powmcp/skills --skill publish-service-change-feed ``` ``` ### Technical Analysis The documented setup command invokes an unpinned package through `npx` and installs Skill content from the mutable `powmcp/skills` repository reference. It does not specify an exact package version, repository commit, checksum, signature, or integrity metadata. As a result, the code and Skill content retrieved when a user runs this command may differ from the content that was reviewed during this audit. Compromise of the package registry entry, upstream repository, publisher account, or a mutable release could cause the installation process to retrieve attacker-controlled code or instructions. The external MCP endpoint documented elsewhere in the project is required for the declared remote GTFS validation functionality and is disclosed to users. The project also limits validation inputs to public, unauthenticated GTFS URLs and warns users not to repeat credentials. No confirmed secret collection or hidden exfiltration behavior was found. The confirmed issue is therefore the mutable and unverified installation path, rather than the disclosed GTFS validation request itself. ### Attack Path 1. An attacker compromises the npm package used by `npx`, the `powmcp/skills` repository, a maintainer account, or another mutable upstream distribution component. 2. The attacker publishes modified installation logic or malicious Skill content under the same unpinned identifier. 3. A user follows the installation command in `SKILL.md`. 4. `npx` retrieves and runs the currently available package, which then obtains Skill content from the mutable upstream reference. 5. The substituted code executes during installation ...[truncated 987 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the `npx` package to an exact, reviewed version rather than resolving the latest available release. 2. Pin the Skill repository to a specific immutable commit hash or signed release tag. 3. Publish expected cryptographic checksums or signed provenance for the installed files and verify them before activation. 4. Prefer a declarative installation method that does not execute remotely retrieved package lifecycle code where feasible. 5. Use lockfiles and package-manager integrity metadata for all transitive dependencies involved in installation. 6. Run installation in a restricted environment with least-privilege filesystem access, no unnecessary credentials, and limited network access. 7. Document the exact expected files and versions so users can compare installed content with the reviewed release. 8. Establish dependency monitoring and a release-signing process for the npm package, repository, and MCP integration.
