T08 · Insecure Dependencies
- Location
SKILL.md:37- Finding
Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 37-40
Vulnerability Type: Unpinned third-party package and repository installation
Risk Level: MediumVulnerable Code
markdown ## Connect oncenpx skills add powmcp/skills --skill publish-service-change-feed
text Technical Analysis
The documented setup command invokes an unpinned package through
npxand installs Skill content from the mutablepowmcp/skillsrepository 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
- An attacker compromises the npm package used by
npx, thepowmcp/skillsrepository, a maintainer account, or another mutable upstream distribution component. - The attacker publishes modified installation logic or malicious Skill content under the same unpinned identifier.
- A user follows the installation command in
SKILL.md. npxretrieves and runs the currently available package, which then obtains Skill content from the mutable upstream reference.- The substituted code executes during installation ...[truncated 987 chars]
- An attacker compromises the npm package used by
- Remediation
View remediation
Remediation Suggestions
- Pin the
npxpackage to an exact, reviewed version rather than resolving the latest available release. - Pin the Skill repository to a specific immutable commit hash or signed release tag.
- Publish expected cryptographic checksums or signed provenance for the installed files and verify them before activation.
- Prefer a declarative installation method that does not execute remotely retrieved package lifecycle code where feasible.
- Use lockfiles and package-manager integrity metadata for all transitive dependencies involved in installation.
- Run installation in a restricted environment with least-privilege filesystem access, no unnecessary credentials, and limited network access.
- Document the exact expected files and versions so users can compare installed content with the reviewed release.
- Establish dependency monitoring and a release-signing process for the npm package, repository, and MCP integration.
- Pin the
