From soundcheck
Flags hardcoded secrets like API keys, passwords, tokens, connection strings, and private keys in code, configs, env scripts, and tests. Recommends secure loading from env vars or secrets managers with fail-fast checks.
npx claudepluginhub thejefflarson/soundcheck --plugin soundcheckThis skill uses the workspace's default tool permissions.
Protects against credentials, API keys, and secrets embedded directly in source code.
Detects hardcoded secrets, API keys, credentials, tokens, and private keys in source code and git history using regex patterns for pentesting and code reviews.
Detects hardcoded credentials in codebases using Read, Grep, and Bash(npm:*) tools. Provides step-by-step guidance, best practices, and remediation for security audits.
Scans codebases for hardcoded secrets, API keys (Stripe, Supabase, AWS, GitHub, Slack), bearer tokens, passwords, private keys, and base64 secrets using grep regex patterns on JS/TS/JSON/YAML files.
Share bugs, ideas, or general feedback.
Protects against credentials, API keys, and secrets embedded directly in source code. Hardcoded secrets end up in version control history, build artifacts, and container images. Once committed, secrets are effectively public — even if the commit is reverted, the secret remains in git history.
API_KEY = "sk_live_abc123..." — production API key in sourcepassword = "admin123" — hardcoded passwordconn_str = "postgresql://user:pass@host/db" — credentials in connection stringprivate_key = "-----BEGIN RSA PRIVATE KEY-----\n..." — embedded private keytoken = "ghp_xxxx..." — GitHub personal access token in codeFlag the hardcoded secret and explain the risk. Then suggest a fix that establishes these properties:
getenv("API_KEY") with no fallback, a required-field check, or an early
fatal log guarantees a misconfigured deploy crashes immediately rather than
running with an empty string that mysteriously fails later.test_key_DO_NOT_USE,
sk_test_FAKE, changeme — that cannot be mistaken for production
credentials and will never unlock a real service if leaked.Anchor — shape, not implementation:
API_KEY = require_env("API_KEY") # fail fast if missing
DB_URL = secrets_manager.get("db/primary")
# no string literal matching /sk_live_|ghp_|AKIA[0-9A-Z]{16}|-----BEGIN/ in source
test_key_DO_NOT_USE) that cannot be mistaken for real credentials