T09 · Insecure Skill Coding Practices
- Location
references/clawhub-api-fallback.md:24- Finding
Overbroad ClawHub fallback upload can disclose repository secrets
- Content
View full analysis
', displayName: '', version: '1.2.0', changelog: 'description of changes', acceptLicenseTerms: true, tags: ['latest'] })); for (const f of files) form.append('files', new Blob([f.bytes], {type: 'text/plain'}), f.relPath); fetch('https://clawhub.ai/api/v1/skills', { method: 'POST', headers: { 'Authorization': 'Bearer ' + TOKEN, 'Accept': 'application/json' }, body: form }) ``` ### Technical Analysis The fallback recursively traverses an arbitrary local repository directory and uploads every file whose extension matches a broad allowlist. That allowlist expressly includes `.env`, `.ini`, and `.cfg`, as well as JSON and YAML files that frequently contain credentials, API keys, deployment parameters, or private infrastructure metadata. The directory exclusions are narrower than those used by the normal temporary-folder publishing workflow. In particular, the fallback does not categorically exclude `.env` files, `.clawhub`, `.claude`, or other hidden local metadata. Files are read into memory and ap ...[truncated 1906 chars]- Remediation
View remediation
