onlyterp/windsurf-unlocked/secret-scrubber
Claude Code and agent skill by onlyterp/windsurf-unlocked
Trust tier 2
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Source check pending
Checking that the SKILL.md file is still in the repository.
Scan a diff, branch, or working tree for leaked secrets, API keys, tokens, private keys, and PII before commit. Blocks the operation on CRITICAL findings, warns on MEDIUM. Pairs with the pre_commit hook.
Install
npx vskill@latest install onlyterp/windsurf-unlocked/secret-scrubberSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Secret Scrubber
Keep secrets out of the repo, logs, and tests.
What to Detect
High-signal patterns (CRITICAL — block commit)
| Pattern | Example | |||||
|---|---|---|---|---|---|---|
| AWS access key | AKIA[0-9A-Z]{16} | |||||
| AWS secret | [A-Za-z0-9/+=]{40} near AKIA... | |||||
| GitHub PAT | ghp_[A-Za-z0-9]{36}, gho_, ghu_, ghs_, ghr_ | |||||
| GitHub fine-grained | github_pat_[A-Za-z0-9_]{82} | |||||
| Slack token | xox[baprs]-[A-Za-z0-9-]+ | |||||
| Google API key | AIza[0-9A-Za-z\-_]{35} | |||||
| Stripe | sk_live_[A-Za-z0-9]{24,}, rk_live_... | |||||
| OpenAI | sk-[A-Za-z0-9]{48}, sk-proj-[A-Za-z0-9]{48,} | |||||
| Anthropic | sk-ant-[A-Za-z0-9_-]{90,} | |||||
| JWT | eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+ | |||||
| Private key block | `-----BEGIN (RSA | EC | DSA | OPENSSH | PGP )?PRIVATE KEY-----` | |
| SSH key | `ssh-(rsa | ed25519 | ecdsa) [A-Za-z0-9+/=]+` with key suffix |
Medium-signal (warn)
| Pattern | Example | |
|---|---|---|
High-entropy string in .env* file | random-looking strings outside .env.example | |
password = "<non-empty-literal>" | hardcoded password in source | |
api_key = "<non-empty-literal>" | hardcoded key in source | |
| Connection string with password | postgres://user:PASSWORD@host/db |
PII (warn)
| Pattern | Example | |
|---|---|---|
[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z]{2,} in logs / fixtures without consent | ||
| Credit card | 13–19 digit strings with Luhn checksum | |
| SSN | \b\d{3}-\d{2}-\d{4}\b | |
| Phone | international phone patterns |
Process
- Determine scope:
- Pre-commit hook: scan the staged diff only
- Explicit invocation: scan the working tree + last 30 commits
- Exclude allowed paths:
.env.example,.env.sample*.md— unless the match is a real token (check format)- Anything matching a
.gitallowedfile (like.gitignorebut for scanner allow-list)
- Report findings:
- CRITICAL: file:line, pattern name, redacted preview (last 4 chars only)
- MEDIUM: same, grouped
- On CRITICAL, print remediation:
- Rotate the credential immediately
- Remove from file
- If already committed:
git filter-repo/bfg— warn this is a history-rewrite
- Exit nonzero if any CRITICAL, to block the hook.
Remediation Template
Never
- Print the full secret in output. Always redact to last 4 chars.
- Exit 0 on a CRITICAL finding.
- Allow an override without logging it.
- Scan so aggressively that every commit has a false positive — tune the allow-list.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingstarter/.windsurf/skills/secret-scrubber/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/onlyterp/windsurf-unlocked/secret-scrubber)