T08 · Insecure Dependencies
- Location
SKILL.md:57- Finding
Unpinned Third-Party Package and Browser Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 57 and 62–65
Vulnerability Type: Unpinned third-party dependencies and unverified installation artifacts
Risk Level: MediumVulnerable Code Snippet
text - **OpenClaw + MCPorter**:`mcporter install zerotoken --target openclaw --configure`。text 1. 安装包:`pip install zerotoken` 2. 安装 Playwright 浏览器依赖(否则浏览器工具会报错): - 普通环境:`playwright install chromium` - 如使用 uv:`uv run playwright install chromium --with-deps`Technical Analysis
The Skill directs users to install ZeroToken and Playwright browser components without pinning reviewed versions, verifying cryptographic hashes, using a lockfile, or documenting an expected package source and publisher identity.
As a result, the code ultimately installed and executed may differ from what was reviewed. This creates a supply-chain risk if a package publisher or distribution account is compromised, a malicious release is published, dependency resolution selects an unexpected component, or users obtain a similarly named package from an untrusted registry.
The
--with-depsinstallation variant may also install system-level browser dependencies, potentially increasing the privileges and host scope involved. The reviewed instructions do not themselves prove that any current package is malicious; the finding concerns the unsafe, mutable dependency acquisition process.Attack Path
- An attacker compromises a relevant package publisher, distribution channel, or dependency account, or causes an environment to resolve the package through an attacker-controlled registry.
- The attacker publishes a malicious package release or substituted dependency under the expected package identity.
- A user follows the Skill instructions and executes the unpinned installation command.
- The installer retrieves the attacker-controlled release because no approved version or cryptographic hash is enforced.
- Malicious installation hooks or p ...[truncated 951 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin ZeroToken, MCPorter, Playwright, and related components to versions that have been reviewed and tested.
- Use a dependency lockfile with cryptographic hashes. For Python dependencies, prefer a controlled requirements file installed with:
text pip install --require-hashes -r requirements.lock - Explicitly identify trusted package registries and verified publisher identities; do not permit implicit fallback to arbitrary mirrors or extra indexes.
- Verify downloaded browser artifacts using vendor-supported integrity mechanisms and pin Playwright to a version associated with the expected browser build.
- Install dependencies in a dedicated virtual environment or container under a non-administrative account.
- Avoid running installation commands with elevated privileges. If operating-system dependencies are required, review and install an explicit allowlist through the system package manager.
- Scan and review dependency updates before changing pinned versions, and use automated vulnerability and provenance checks in the release process.
- Document exact supported versions and reproducible setup steps in
SKILL.md.
