T09 · Insecure Skill Coding Practices
- Location
SKILL.md:65- Finding
Non-Interactive Bulk Synchronization Can Publish Unintended Skills
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:65-74
Additional Locations:SKILL.md:153,SKILL.md:181-189,README.md:8-16
Vulnerability Type: Unsafe bulk publication configuration
Risk Level: Mediumbash # Enter the parent skills directory cd D:\openclaw-data\workspace\skills # Preview the skills that will be published clawhub sync --dry-run # Publish without per-item confirmation clawhub sync --all --bump patch --changelog "update description"Technical Analysis
The documented workflow instructs users to execute
clawhub syncfrom a shared parent directory containing multiple skills. The--alloption bypasses interactive confirmation and applies synchronization to every discovered skill.Although a dry-run command is documented, no technical control requires the user to inspect or approve its manifest. The publication operation is therefore broader than the apparent task of publishing one intended skill. Any unrelated, unfinished, confidential, or attacker-planted skill directory beneath the shared parent directory may be included.
Attack Path
- A user or another process places an additional skill directory under
D:\openclaw-data\workspace\skills. - The added directory contains private material, unfinished content, or attacker-controlled files but remains structurally recognizable as a skill.
- An authenticated publisher follows the documented workflow from the shared parent directory.
- The publisher runs
clawhub sync --all, which skips per-skill confirmation. - ClawHub publishes or updates every discovered skill, including the unintended directory.
- The unintended content becomes accessible through the publisher's ClawHub account according to the resulting publication visibility.
Impact Assessment
Exploitation does not directly grant local operating-system privileges. It abuses the existing permissions of the authenticated ClawHub account.
...[truncated 443 chars]
- A user or another process places an additional skill directory under
- Remediation
View remediation
Remediation Suggestions
-
Make explicitly scoped publication the default:
bash clawhub publish D:\openclaw-data\workspace\skills\your-skill --slug your-skill --version 1.0.0 --changelog "update description" -
Do not recommend
--allfor ordinary single-skill publication. -
Require interactive confirmation for each discovered skill.
-
If bulk synchronization is necessary, require the operator to save and review the dry-run manifest before continuing.
-
Document that the parent directory must contain only approved, publication-ready skills.
-
Add a pre-publication checklist covering secrets, private files, generated artifacts, and unexpected directories.
-
Where supported, use an explicit allowlist of skill slugs or paths rather than automatic directory discovery.
-
