T08 · Insecure Dependencies
- Location
SKILL.md:435- Finding
Unpinned npm Package Retrieval and Execution
- Content
View full analysis
--laps npx -y endurance-coach@latest expand plan.yaml --verbose ``` ### Technical Analysis The Skill instructs the Agent to execute `endurance-coach@latest` through `npx -y`. If the package is not already available locally, `npx` retrieves it from the configured npm registry and immediately executes it. The `-y` option suppresses the normal installation confirmation. The `@latest` tag is mutable. Consequently, the code executed during a future Skill invocation may differ from the code that existed when this project was audited. The project provides no exact version pin, lockfile, vendored package, or integrity hash that would constrain or verify the downloaded payload. Several commands also use bare `npx endurance-coach`, which does not establish a reviewed immutable version. This creates the same fundamental trust problem when package resolution results in a download or selects an unexpected version. The network access needed for optional Strava synchronization is consistent with the Skill’s stated purpose. However, automatically downloading and executing the latest package release exceeds the minimum predictable privilege necessary to perform that synchronization or render a plan. ### At ...[truncated 1611 chars]- Remediation
View remediation
