T08 · Insecure Dependencies
- Location
SKILL.md:275- Finding
Unpinned Playwright and Chromium Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 275 and 413-414
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: LowVulnerable Code
bash npm install playwrighttext | Playwright | npm package | Required | `npm install playwright` | | Chromium | Browser | Required | `npx playwright install chromium` |Technical Analysis
The Skill instructs the Agent to install Playwright without specifying an audited version or requiring a lockfile. It also uses
npxto download and install a Chromium artifact associated with the dynamically resolved Playwright version.Package installation is necessary for the declared browser-automation functionality, but allowing the package and browser versions to change after the Skill has been reviewed exceeds the minimum predictable dependency behavior. The effective components executed by the Agent can differ between installations.
No evidence establishes that Playwright or its Chromium artifact is currently malicious. The vulnerability is the mutable, unverified supply-chain installation process rather than a confirmed malicious package.
Attack Path
- A user invokes the Skill and follows its environment setup instructions.
- The Agent runs
npm install playwrightwithout a pinned version or verified lockfile. - npm resolves the package version and transitive dependency graph available from the configured registry at execution time.
- Package lifecycle scripts and installed components execute with the permissions of the Agent user.
- If the registry, package, maintainer account, dependency chain, or local npm configuration has been compromised, attacker-controlled code can execute locally.
- The subsequent
npx playwright install chromiumcommand downloads an additional executable browser artifact without an integrity policy documented by the Skill.
Impact Assessment
A compromised dependency ...[truncated 581 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin Playwright to a specifically reviewed version, for example:
bash npm install --save-exact playwright@<reviewed-version> - Include and review
package.jsonandpackage-lock.json. - Use
npm cirather than dynamically resolving dependencies withnpm install. - Verify lockfile integrity hashes and use an explicitly trusted npm registry.
- Disable unnecessary package lifecycle scripts where compatible:
bash npm ci --ignore-scripts - Install Chromium through a controlled build or artifact process and document the expected version and checksum.
- Run browser automation in an isolated, unprivileged environment with restricted filesystem and network access.
- Pin Playwright to a specifically reviewed version, for example:
