T08 · Insecure Dependencies
- Location
clawhub-download.sh:72- Finding
Unverified Remote Skill Packages Are Installed into an Active Agent Skill Directory
- Content
View full analysis
/dev/null; then echo -e "${RED}Error: Downloaded file is not a valid zip archive.${NC}" exit 1 fi # Extract skill package echo -e "${YELLOW}Extracting skill package...${NC}" unzip -o "$TEMP_DIR/skill.zip" -d "$TEMP_DIR/extracted" &> /dev/null # Check for SKILL.md if [ ! -f "$TEMP_DIR/extracted/SKILL.md" ]; then echo -e "${RED}Error: Downloaded package does not contain SKILL.md${NC}" exit 1 fi # Create skill directory skill_dir="$SKILLS_DIR/$slug" mkdir -p "$skill_dir" # Copy files to skill directory echo -e "${YELLOW}Installing skill to $skill_dir...${NC}" cp -r "$TEMP_DIR/extracted/"* "$skill_dir/" ``` ```bash echo -e "${GREEN}The skill is now available for use!${NC}" echo -e "Restart your agent to load the new skill, or it will be loaded on next session." ``` ### Technical Analysis The downloader retrieves a mutable package from an external registry and installs its contents under `~/.agents/skills/clawhub-skills`, an agent skill directory. The only package authenticity checks are that the response has HTTP status 200, is syntactically a ZIP archive, and contains a file named `SKILL.md`. There is no verification of: - A cryptographic package signature. - A trusted publisher identity. - An expected package checksum. - A pinned package version or immutable artifact identifier. - The saf ...[truncated 2008 chars]- Remediation
View remediation
