T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:180
- Finding
- Untrusted Skill Installation Occurs Before Security Review## Vulnerability Details **File Location**: `SKILL.md:180` and repeated as workflow guidance at `SKILL.md:208` **Vulnerability Type**: Supply-chain exposure through pre-review installation **Risk Level**: Medium **Vulnerable code at `SKILL.md:180`:** ```bash clawhub install skill-name --dir /tmp/skill-vet ``` **Repeated workflow instruction at `SKILL.md:208`:** ```markdown 2. Install to temp directory: `clawhub install deep-research-pro --dir /tmp/vet-drp` ``` ### Technical Analysis The declared purpose of the Skill is to inspect untrusted third-party skills before installation. However, its prescribed acquisition workflow invokes `clawhub install` before reviewing the downloaded package. Selecting a temporary destination limits where ordinary package files are placed, but it does not establish that the package manager will treat the package as inert data. If the installer supports lifecycle hooks, dependency resolution, post-install actions, or other package-controlled behavior, an attacker-controlled package could cause side effects before its contents are examined. The audit found no evidence proving that `clawhub install` executes such hooks, so exploitation depends on the package manager's behavior; nevertheless, using an installation operation creates an unnecessary trust boundary for a pre-installation vetting tool. This behavior is inconsistent with the principle of least privilege. Vetting requires only non-executing retrieval and read-only inspection of package contents, not installation. ### Attack Path 1. An attacker publishes a malicious or compromised Skill through a source accepted by the vetting workflow. 2. A user asks the Agent to vet that Skill. 3. Following `SKILL.md`, the Agent runs `clawhub install` before completing static review. 4. The package manager retrieves the untrusted package and may process dependencies, metadata, or installation hooks. 5. If package-controlled execution is suppor ...[truncated 1057 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `clawhub install` with a documented download-only or export operation that cannot execute package lifecycle hooks. 2. Retrieve the package as an inert archive or source tree and verify its expected origin, identifier, version, and integrity digest before extraction. 3. Extract the package with a non-executing parser into a newly created, permission-restricted directory. 4. Reject archive entries containing absolute paths, symbolic-link escapes, hard links, or `..` traversal before writing any files. 5. Perform the initial review with network access disabled and the extracted files mounted or treated as read-only. 6. Inspect manifests, dependencies, scripts, hooks, and every included file before allowing package-manager installation. 7. If no download-only mechanism exists, run acquisition inside a disposable sandbox or container with no credentials, no home-directory mounts, restricted filesystem access, and deny-by-default networking. 8. Require explicit user approval after the vetting report and before executing the actual installation command. 9. Update both `SKILL.md:180` and the repeated example at `SKILL.md:208` so the documented workflow cannot normalize pre-review installation.
