T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Playwright Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:12
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable code:
sh npx playwright install chromiumTechnical Analysis
The setup documentation directs users to execute Playwright through
npxwithout declaring or pinning an exact package version. If Playwright is not already installed locally,npxmay resolve and execute package code obtained from the configured package registry. The reviewed project provides no dependency manifest, lockfile, integrity metadata, or package provenance policy that would constrain this resolution.Consequently, the code executed during installation may differ between invocations and cannot be tied to the version reviewed with this skill. Registry compromise, a compromised upstream release, malicious registry configuration, or unintended package resolution could cause unreviewed package code to run. The command also initiates the download and installation of a Chromium artifact without a project-level integrity control documented in the repository.
Attack Path
- A user follows the prerequisite instructions in
SKILL.md. - The user runs
npx playwright install chromium. - If no trusted local Playwright version is available,
npxresolves a package through the user's configured registry or cache. - A compromised registry, upstream package release, or environment-specific resolution supplies unreviewed package code.
npxexecutes the resolved Playwright CLI with the privileges of the invoking user.- Malicious package code could access files, environment variables, network resources, and credentials available to that user or alter downloaded browser artifacts.
This path is conditional on dependency or registry compromise; no malicious Playwright payload is included in the audited project itself.
Impact Assessment
Exploited package code would execute with t ...[truncated 444 chars]
- A user follows the prerequisite instructions in
- Remediation
View remediation
Remediation Suggestions
- Add Playwright to a reviewed dependency manifest using an exact version rather than resolving it dynamically.
- Commit a package-manager lockfile and require frozen or immutable lockfile installation, such as
npm ci. - Replace the setup command with an invocation of the previously installed, locked local dependency.
- Configure installations to use an approved registry over TLS and apply package provenance or signature verification where supported.
- Review lockfile changes and dependency updates before release, and use automated software composition analysis to detect compromised or vulnerable versions.
- Run browser installation under a non-privileged account and avoid exposing unrelated secrets or production credentials in the installation environment.
- Where operationally feasible, verify downloaded browser artifacts against trusted checksums or obtain them through a controlled internal artifact repository.
