T08 · Insecure Dependencies
- Location
SKILL.md:427- Finding
Unverified and Unpinned Third-Party Package Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 427–428 and line 511
Vulnerability Type: Supply-chain exposure through ambiguous, unpinned package installation
Risk Level: MediumVulnerable Code
Lines 427–428:
bash pip install example-api-sdk # Python npm install example-api-sdk # JavaScriptLine 511:
bash npm install -g mock-serverTechnical Analysis
The Skill requires generated documentation to include installation commands for packages that are not pinned to exact versions and are not associated with a verified publisher, integrity hash, lockfile, or trusted registry. The name
example-api-sdkappears to be a placeholder, but the generated command is directly executable. If that name exists or is later registered in a public package registry, a user could unintentionally install an unrelated or malicious package.The
mock-servercommand creates additional risk because it requests a global installation. Package installation can execute lifecycle hooks under the privileges of the invoking user. A compromised, attacker-controlled, or dependency-confused package could therefore run arbitrary code during installation.These installations are not required to perform the Skill's declared core function of generating API documentation and examples. Mandating them in generated output exceeds the minimum dependency privileges necessary for that function.
Attack Path
- The Skill generates API documentation using its prescribed quick-start or mock-server template.
- The generated documentation presents an unpinned
pip installornpm installcommand as an expected setup step. - A user copies and executes the command without separately verifying the package owner or contents.
- The package manager resolves the name from a public or otherwise configured registry.
- An attacker-controlled, compromised, or incorrectly resolved package is downloaded.
- Pa ...[truncated 945 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove executable installation commands for placeholder packages such as
example-api-sdk. - Generate installation commands only when the package name and publisher are derived from user-confirmed project metadata.
- Pin dependencies to reviewed exact versions rather than allowing unconstrained resolution.
- Where supported, provide lockfiles or cryptographic integrity hashes.
- Require packages to come from an explicitly trusted registry and document how users can verify the publisher.
- Replace
npm install -g mock-serverwith a project-local, version-pinned development dependency from a verified source. - Recommend isolated environments, such as Python virtual environments or disposable containers.
- Clearly label all sample commands as templates and require explicit user confirmation before any package installation.
- Prefer generating mock-server code that uses dependencies already present in the target project rather than introducing a mandatory package.
- Remove executable installation commands for placeholder packages such as
