T08 · Insecure Dependencies
- Location
SKILL.md:342- Finding
Unpinned npm Package Is Automatically Downloaded and Executed
- Content
View full analysis
" } } } } ``` ### Technical Analysis The Skill directs the Agent to execute `yuque-mcp` through `npx -y` without specifying an exact package version or verifying an integrity hash. The `-y` option suppresses the interactive installation confirmation, while the absent version constraint causes npm to resolve whichever release is current at execution time. Consequently, the code executed by the connector can change after the Skill has been reviewed. The referenced GitHub repository does not ensure that the npm artifact retrieved at runtime corresponds to a reviewed commit. This creates a supply-chain trust boundary in which a compromised publisher account, malicious package release, or compromised transitive dependency could introduce arbitrary executable code. ### Attack Path 1. An attacker compromises the `yuque-mcp` npm publishing account, package distribution process, or a dependency included in a future release. 2. The attacker publishes a malicious version under the package name resolved by npm. 3. A user invokes connector setup, diagnostics, or a normal MCP launch. 4. `npx -y yuque-mcp` automatically downloads and executes the malicious release without confirmation or integrity validation. 5. The malicious process runs with the WorkBuddy user's privileges and inherits the configured `YUQUE_PERSONAL_TOKEN`. 6. It can access the token, read files available to that user, modify local data, or transmit information over the network. ### Impact Assessment Success ...[truncated 428 chars]- Remediation
View remediation
