T08 · Insecure Dependencies
- Location
SKILL.md:153- Finding
Untrusted Skill Installation Occurs Before Security Review
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:153-156andSKILL.md:202-205
Vulnerability Type: Unsafe installation of an untrusted third-party component before inspection
Risk Level: HighVulnerable Code
bash # Install to temp dir for vetting mkdir -p /tmp/skill-vet clawhub install skill-name --dir /tmp/skill-vet cd /tmp/skill-vet && find . -type f -exec cat {} \;The workflow is repeated in the usage example:
text 1. Search ClawHub for metadata (downloads, author, last update) 2. Install to temp directory: `clawhub install deep-research-pro --dir /tmp/vet-drp` 3. Review all files for red flags 4. Check network calls, file access, permissionsTechnical Analysis
The documented process invokes
clawhub installbefore reviewing the candidate Skill's files. Specifying a temporary destination restricts the intended installation location, but it does not establish that the package manager performs only inert extraction. If the installer supports lifecycle hooks, dependency installation, executable setup logic, or writes outside the destination, malicious behavior could occur before the subsequent review detects it.This ordering contradicts the Skill's stated objective of vetting untrusted code before installation. Static review requires obtaining the candidate as inert data rather than invoking an installation workflow whose behavior has not yet been established.
The credential-theft command at
SKILL.md:255is not itself a confirmed vulnerability. It appears inside a fenced example labeled “Credential Theft” and is explicitly followed by a rejection verdict. Likewise, references to~/.ssh,~/.aws, and~/.configdescribe detection criteria rather than operational access instructions.Attack Path
- An attacker publishes a malicious or compromised Skill through a source accepted by the vetting workflow.
- The attacker includes installation-time behavior in the Skill, its metadata, or one of its de ...[truncated 1248 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace pre-review installation with a non-executing acquisition mechanism that downloads the package as an inert archive or repository snapshot.
- Verify the publisher, package identity, version, cryptographic checksum, and signature before extraction.
- Extract the archive with a parser that rejects absolute paths, symbolic-link escapes, device files, and
../path traversal. - Perform extraction and inspection in a newly created directory with restrictive permissions rather than a predictable shared path.
- Conduct the initial review in an isolated sandbox with outbound networking disabled and no access to user credentials, SSH keys, cloud configuration, browser state, or Agent memory.
- Inspect all package files, manifests, dependencies, hooks, and generated commands before invoking any package-manager installation operation.
- Resolve and review transitive dependencies separately, using exact version and integrity pinning.
- Only install after the review succeeds and the user approves the reported permissions.
- Document whether
clawhub installexecutes lifecycle hooks or dependency setup. If it can be proven to perform inert extraction only, rename or explicitly describe that mode and enforce it with a dedicated flag.
