T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party CLI and Container Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 13 and 61-105 **Vulnerability Type**: Unpinned and mutable third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```bash brew install vossenwout/tap/claw-radio-cli ``` ```bash docker run -d --name searxng -p 127.0.0.1:8888:8080 searxng/searxng:latest ``` ```bash docker run -d \ --name searxng \ -p 127.0.0.1:8888:8080 \ -v ~/.openclaw/searxng:/etc/searxng \ searxng/searxng:latest ``` ### Technical Analysis The skill instructs users to install its core CLI from a third-party Homebrew tap without specifying an audited version. It also pulls the SearxNG container through the mutable `latest` tag rather than an immutable image digest. These dependency references can resolve to different artifacts over time without any modification to the reviewed skill. If the third-party tap, package release infrastructure, container registry account, or upstream artifact is compromised, an attacker can substitute malicious executable content. No checksum, image digest, signature verification, or explicit version constraint is provided. The loopback-only port binding limits direct network exposure of SearxNG, but it does not mitigate execution of a compromised container image or Homebrew package on the local system. ### Attack Path 1. An attacker compromises the third-party Homebrew tap, its release infrastructure, or the upstream container image. 2. The attacker publishes a modified CLI package or replaces the image referenced by `searxng/searxng:latest`. 3. A user follows the documented installation or bootstrap procedure. 4. Homebrew installs the substituted package, or Docker pulls and starts the substituted container image. 5. Malicious code executes with the permissions available to the installing user or inside the Docker environment. 6. The compromised component can manipulate radio commands and cues, access data available to i ...[truncated 756 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `claw-radio-cli` to a specific reviewed version rather than accepting the current tap release implicitly. 2. Document the authoritative source repository and expected package checksum or signature. 3. Pin SearxNG by immutable image digest, for example: ```bash docker run ... searxng/searxng@sha256:REVIEWED_DIGEST ``` 4. Establish a controlled dependency-update process that reviews release notes, source changes, signatures, and image provenance before changing pinned versions. 5. Enable signature and provenance verification where supported by the package and container ecosystems. 6. Run the container with additional hardening, including a non-root user, a read-only root filesystem, dropped Linux capabilities, resource limits, and the minimum required writable mounts.
