T09 · Insecure Skill Coding Practices
- Location
scripts/sync.sh:76- Finding
Unrestricted Staging and Upload of Potentially Sensitive Repository Contents
- Content
View full analysis
/dev/null; then log_success "Successfully pushed to remote." else log_warning "Standard push failed (no upstream set). Attempting to set upstream..." if git push --set-upstream origin "$CURRENT_BRANCH" 2>/dev/null; then log_success "Successfully pushed with new upstream branch tracking." ``` ### Technical Analysis The script recursively stages all tracked and untracked files that are not already excluded by Git configuration through `git add .`. It subsequently commits and pushes those files to the configured `origin` remote without: - Restricting the backup to an explicit allowlist of intended memory files. - Detecting credentials, private keys, tokens, `.env` files, or other sensitive configuration. - Displaying the staged file list for approval. - Requiring confirmation before transmitting data to the remote repository. The large-file scan only excludes files based on size and provides no protection against small sensitive files. Although `SKILL.md` advises users not to commit credentials, this is documentation rather than an enforced security control. Once sensitive content is committed and pushed, deleting the working-tree file does not necessarily remove it from Git history. Anyone with access to the remote repository or its historical objects may continue to retrieve the exposed content. ### Attack Path 1. ...[truncated 1432 chars]- Remediation
View remediation
