T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned npm Package Is Downloaded and Executed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 31
Vulnerability Type: Untrusted and mutable third-party dependency execution
Risk Level: HighComplete Code Snippet:
bash npx -y equateit-mcp # stdio; set EQUATEIT_API_KEY=ei_live_…Technical Analysis
The documented command uses
npx -yto retrieve and executeequateit-mcpwithout user confirmation. It does not specify an exact version, verify package integrity, use a lockfile, or otherwise bind execution to an artifact that was reviewed with this skill.Consequently, the effective executable payload can change independently of the reviewed repository. If the npm package, its dependencies, its publisher account, or the package distribution channel is compromised, following this instruction could execute attacker-controlled JavaScript with the privileges of the user running
npx. The process is also expected to receiveEQUATEIT_API_KEY, making that credential directly accessible to package code.This finding identifies an unsafe supply-chain execution pattern. The audited file does not establish that the current package is malicious.
Attack Path
- An attacker compromises the package publisher, a transitive dependency, or the relevant package-distribution account.
- The attacker publishes a malicious release under the same package name.
- A user follows the skill instructions and runs
npx -y equateit-mcp. - Because no exact version or integrity value is specified,
npxresolves and downloads the attacker-controlled release. - The package executes locally without an interactive confirmation prompt.
- Malicious initialization or runtime code reads
EQUATEIT_API_KEY, accesses files available to the current user, or makes arbitrary outbound network requests. - The attacker can exfiltrate collected credentials or use them to query organization-scoped ClassQuill data.
Impact Assessment
Successful exploit ...[truncated 693 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact, previously audited version rather than resolving the latest release, for example
equateit-mcp@X.Y.Z. - Distribute and use a lockfile containing integrity hashes when integrating the package into a managed installation.
- Verify the package publisher, official npm package URL, signatures or provenance attestations, and expected integrity digest before execution.
- Review direct and transitive dependencies and use automated supply-chain monitoring for newly disclosed compromises.
- Avoid
-yfor security-sensitive first-time execution so unexpected installation behavior requires explicit approval. - Prefer a locally installed, reviewed dependency over runtime package retrieval.
- Execute the MCP server in a restricted environment with minimal filesystem permissions, a constrained network policy, and only the required API credential.
- Scope and rotate API keys where supported, and ensure package logs cannot disclose the credential.
- Pin the dependency to an exact, previously audited version rather than resolving the latest release, for example
