T08 · Insecure Dependencies
- Location
SKILL.md:27- Finding
Unpinned Third-Party Packages Are Downloaded and Executed via npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:27-28
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: Mediumbash npx playwright install chromium npx extract-design-system <url>The same unsafe execution pattern also appears in
references/workflow.md:5-6:text 0. If Chromium is missing locally, run `npx playwright install chromium` 1. `npx extract-design-system <url>`Additional unpinned invocations of
extract-design-systemoccur atSKILL.md:42,SKILL.md:49,references/workflow.md:11, andreferences/workflow.md:13.Technical Analysis
The Skill instructs the agent to invoke npm package executables through
npxwithout specifying exact, reviewed versions. If a suitable local package is unavailable,npxcan retrieve a package from the configured npm registry and execute it immediately. The effective executable may therefore change after the Skill has been audited.Neither an exact package version nor lockfile-based integrity verification is specified. This creates a supply-chain trust boundary in which a compromised package release, transferred package ownership, malicious update, registry compromise, or unexpected upstream behavior can result in arbitrary third-party code being executed locally.
The Playwright command additionally initiates installation of a Chromium browser binary through dependency-controlled tooling, expanding the external artifact trust surface.
Attack Path
- An attacker compromises an npm maintainer account, package release process, package ownership, or relevant distribution infrastructure.
- The attacker publishes a malicious release under one of the referenced package names.
- A user loads this Skill and requests design-system extraction.
- The agent follows the documented command using unversioned
npx. - If the package is not already available locally,
npxresolves and downloads the current registry version. - The downloaded pack ...[truncated 763 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin each executable package to an exact, reviewed version rather than using an unqualified package name.
- Declare dependencies in a project manifest and commit a lockfile containing integrity hashes.
- Install dependencies in a controlled step with lockfile enforcement, such as
npm ci, and review installation scripts before use. - Invoke the preinstalled local executable with
npx --no-installor an equivalent package-manager command that forbids implicit downloads. - Verify npm package provenance, publisher identity, registry source, and release integrity before approving upgrades.
- Pin and validate browser artifacts downloaded by Playwright where the deployment process permits it.
- Run the extraction process in a sandbox or container with minimal filesystem access, no unnecessary credentials, restricted network access, and least-privilege permissions.
- Apply the same controls to every documented invocation at
SKILL.md:42,49andreferences/workflow.md:11,13.
