T08 · Insecure Dependencies
Error
- Location
- SKILL.md:5
- Finding
- Unverified Mutable Native Binary Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 5 and 17–18 **Vulnerability Type**: Supply-chain risk from an unpinned and unverified native dependency **Risk Level**: High ### Vulnerable Code ```yaml metadata: {"openclaw":{"emoji":"🐼","requires":{"bins":["python3"]},"install":[{"id":"lightpanda","kind":"manual","label":"Install Lightpanda binary","commands":["curl -L https://github.com/nicholasgasior/lightpanda-browser/releases/latest/download/lightpanda-linux-x86_64 -o ~/.local/bin/lightpanda","chmod +x ~/.local/bin/lightpanda"]}]}} ``` The same unsafe installation procedure is documented as: ```bash curl -L https://github.com/nicholasgasior/lightpanda-browser/releases/latest/download/lightpanda-linux-x86_64 -o ~/.local/bin/lightpanda chmod +x ~/.local/bin/lightpanda ``` ### Technical Analysis The installation process downloads a precompiled native executable from a third-party GitHub repository through a mutable `releases/latest` URL. It neither pins a reviewed version nor verifies the downloaded artifact with a cryptographic hash or signature before making it executable. Consequently, the code ultimately executed by this skill can change after the skill package has been reviewed. A compromise of the upstream repository, maintainer account, release workflow, or release asset could substitute an attacker-controlled executable. The wrapper later trusts and executes this file from `~/.local/bin/lightpanda` for fetch, CDP server, and MCP operations. HTTPS protects the artifact in transit but does not establish that the latest artifact is the specific reviewed build or protect against compromise of the trusted upstream release process. ### Attack Path 1. An attacker compromises the upstream repository, maintainer account, release workflow, or mutable latest-release asset. 2. The attacker replaces `lightpanda-linux-x86_64` with a malicious native executable. 3. A user follows the installation instruct ...[truncated 871 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to a specific reviewed release instead of using `releases/latest`. 2. Publish the expected SHA-256 digest through a trusted, version-controlled channel and verify it before installation. 3. Prefer cryptographic release signatures with a pinned, independently verified signing key. 4. Download to a temporary file, verify it, and only then atomically move it to `~/.local/bin/lightpanda`. 5. Fail closed: delete the temporary artifact and abort installation if verification fails. 6. Prefer an official, trusted package repository or reproducible build process where available. 7. Document the pinned version, digest, provenance, and upgrade-review procedure so dependency updates require explicit review. 8. Consider sandboxing the browser process and restricting its filesystem and network access to reduce the impact of an upstream compromise.
