| Version | Supported |
|---|---|
| 0.2.x | :white_check_mark: |
| < 0.2 | :x: |
If you discover a security vulnerability in this project, please report it responsibly.
Do NOT open a public GitHub issue for security vulnerabilities.
Instead, please use one of these methods:
This policy covers:
@dotbabel/dotbabel npm package (everything under plugins/dotbabel/)bootstrap.sh, sync.sh)dotbabel-initvalidate-settings.sh)Personal dotfiles (CLAUDE.md, commands/, skills/) are provided as-is and
are not in scope for security fixes.
Three areas receive explicit attention:
bootstrap.sh:19-36 replaces real files in
~/.claude/ with symlinks into the repo checkout. A compromised checkout
could therefore redirect Claude Code’s view of commands/skills. Mitigation:
Only symlink from checkouts you trust.plugins/dotbabel/hooks/guard-destructive-git.sh blocks
git reset --hard, git push --force, git clean -f*, git branch -D,
and related calls. The hook is a safety net, not an access-control
boundary — users can still alias destructive calls around the match.
BYPASS_DESTRUCTIVE_GIT=1 exists as the documented escape.plugins/dotbabel/templates/workflows/ai-review.yml:19
gates the AI-review action on github.event.pull_request.head.repo.full_name == github.repository
— same-repo PRs only, never forks. This prevents a malicious fork PR
from exfiltrating the ANTHROPIC_API_KEY secret.package.json. New runtime deps require an
ADR.npm publish --provenance records the build environment; consumers can
verify via the npmjs.com provenance UI.