T08 · Insecure Dependencies
- Location
SKILL.md:309- Finding
Mutable Global Installation of an Unpinned Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 309-320
Vulnerability Type: Unsafe third-party dependency installation
Risk Level: MediumVulnerable Code
bash ## Installation If global `playwright-cli` command is not available, try a local version via `npx playwright-cli`: npx --no-install playwright-cli --version When local version is available, use `npx playwright-cli` in all commands. Otherwise, install `playwright-cli` as a global command: npm install -g @playwright/cli@latestTechnical Analysis
The fallback procedure installs
@playwright/cliglobally using the mutablelatestdistribution tag. Although the project metadata declares compatibility with@playwright/cliversion^1.51.0, this command can retrieve an arbitrary future release that was not covered by this audit.An npm installation may execute package lifecycle scripts under the privileges of the invoking user. The global installation also increases the affected scope beyond this project and may replace or alter tooling available to other projects. If the upstream account, package, release pipeline, or npm distribution channel is compromised, following this instruction could execute unreviewed code.
Attack Path
- The audited environment does not have a usable local or global
playwright-cli. - The Agent follows the documented fallback installation procedure.
- npm resolves
@playwright/cli@latestto the release currently associated with the mutable tag. - A compromised or malicious release is downloaded.
- Package installation and any applicable lifecycle behavior execute with the invoking user's permissions.
- The package becomes globally available and can affect subsequent commands or other projects using the same executable name.
Impact Assessment
Successful exploitation could execute arbitrary code with the invoking user's privileges. The accessible scope may include the user's files, environment variables, browser artifa ...[truncated 289 chars]
- The audited environment does not have a usable local or global
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed version such as@playwright/cli@1.51.0. - Install the dependency locally in the project rather than globally.
- Commit and enforce a lockfile containing integrity hashes.
- Use
npm cifor reproducible installation. - Invoke the verified local package with
npx --no-install. - Disable lifecycle scripts during installation when they are unnecessary, for example with
npm ci --ignore-scripts, after confirming compatibility. - Upgrade only through a controlled dependency-review process that verifies package provenance, release notes, integrity, and expected behavior.
- Replace
