From appsec
This skill should be used when the user asks to "check for secrets", "find hardcoded credentials", "scan for API keys", "detect leaked tokens", "find passwords in code", "check for committed .env files", "scan for private keys", or mentions "secrets", "credentials", "API keys", or "leaked tokens" in a security context. Also triggers for git history secret scanning and high-entropy string detection.
npx claudepluginhub florianbuetow/claude-code --plugin appsecThis skill uses the workspace's default tool permissions.
Analyze source code, configuration files, and git history for hardcoded
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
Analyze source code, configuration files, and git history for hardcoded credentials, API keys, tokens, private keys, and other sensitive material that should never appear in version control. Secrets in code are among the most immediately exploitable vulnerabilities -- a single leaked API key can lead to full account compromise within minutes.
Read ../../shared/schemas/flags.md for the full flag specification. This skill
supports all cross-cutting flags. Key behaviors:
| Flag | Secrets-Specific Behavior |
|---|---|
--scope | Default changed. Secrets analysis scans all file types including config, YAML, JSON, .env, scripts, and source code. |
--depth quick | Scanners only (gitleaks/trufflehog), no manual pattern analysis. |
--depth standard | Full file read of scoped files + Grep heuristics for patterns scanners miss. |
--depth deep | Standard + scan git history for previously committed and removed secrets. |
--depth expert | Deep + verify whether detected secrets are still active/valid, DREAD scoring. |
--severity | Filter output. Most secrets findings are critical or high. |
--fix | Generate remediation: remove secret, add to .gitignore, rotate credential. |
Read references/detection-patterns.md for the full pattern catalog with
language-specific examples, regex heuristics, and false positive guidance.
Pattern Summary:
--scope flag (default: changed)..py, .js, .ts,
.java, .go, .env, .yml, .yaml, .json, .xml, .toml, .ini,
.cfg, .conf, .properties, .tf, .tfvars, .sh, .bash, .zsh,
.dockerfile, docker-compose.*, *.pem, *.key..gitignore coverage of sensitive file patterns.Detect available scanners in priority order:
| Scanner | Detect | Secrets Coverage |
|---|---|---|
| gitleaks | which gitleaks | 150+ secret patterns, git history scanning, custom rules |
| trufflehog | which trufflehog | 700+ credential detectors, live verification of found secrets |
| trivy | which trivy | Secrets detection as part of broader filesystem scan |
Record which scanners are available and which are missing. If none are available, note: "No scanner available -- findings based on code pattern analysis only."
For each available scanner, run against the scoped files:
gitleaks detect --source <target> --report-format json --report-path /dev/stdout --no-banner
trufflehog filesystem --json <target>
At --depth deep, also scan git history:
gitleaks detect --source <target> --report-format json --report-path /dev/stdout --no-banner --log-opts="--all"
trufflehog git --json file://<target>
Normalize scanner output to the findings schema (see ../../shared/schemas/findings.md).
Use the severity mapping from ../../shared/schemas/scanners.md.
Read each scoped file and analyze for secret patterns not caught by scanners:
key, secret, token,
password, credential, api_key, or similar?YOUR_API_KEY_HERE,
changeme, xxx, dummy, test, example, placeholder..env, *.pem, *.key, credentials.json
patterns in .gitignore? Flag missing patterns.At --depth deep or --depth expert:
Output findings using the format from ../../shared/schemas/findings.md.
Each finding must include:
SEC-001, SEC-002, etc.CRITICAL: Never output the actual secret value in findings. Always mask
the middle portion: AKIA****XMPL.
These are the primary secret patterns to detect. Each has detailed examples
and regex heuristics in references/detection-patterns.md.
AKIA[0-9A-Z]{16} patterns in source codepassword = "...", DB_PASSWORD, connection strings-----BEGIN RSA PRIVATE KEY----- and similar PEM headersPrimary: gitleaks (fast, comprehensive pattern matching), trufflehog (live verification)
Secondary: trivy (secrets as part of broader scanning)
Fallback: Grep regex patterns from references/detection-patterns.md
When scanners are available, run them first and use Claude analysis to:
When no scanners are available, Claude performs full pattern-based analysis using
the Grep heuristics from references/detection-patterns.md and contextual code
reading. Report these findings with confidence: medium.
Use finding ID prefix SEC (e.g., SEC-001, SEC-002).
All findings follow the schema in ../../shared/schemas/findings.md with:
references.cwe: "CWE-798" (hardcoded credentials) or "CWE-312" (cleartext storage)references.owasp: "A07:2021" (Identification and Authentication Failures)metadata.tool: "secrets"metadata.framework: "specialized"metadata.category: "SEC"CWE Mapping by Secret Type:
| Secret Type | CWE | Typical Severity |
|---|---|---|
| Hardcoded password | CWE-798 | critical |
| API key in source | CWE-798 | critical |
| Private key committed | CWE-321 | critical |
| .env file committed | CWE-312 | high |
| Connection string with credentials | CWE-798 | critical |
| High-entropy string (unverified) | CWE-798 | medium |
| Missing .gitignore for secret files | CWE-312 | medium |
After all findings, output a summary:
| Secret Type | Critical | High | Medium | Low |
|--------------------|----------|------|--------|-----|
| API Keys/Tokens | | | | |
| Passwords | | | | |
| Private Keys | | | | |
| Connection Strings | | | | |
| .env / Config | | | | |
| Git History | | | | |
Followed by: top 3 priorities, scanner coverage notes, rotation recommendations, and overall assessment.