원클릭으로
leak-detect
Scan code for leaked PII, secrets/credentials, and security vulnerabilities that would get you hacked in production.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scan code for leaked PII, secrets/credentials, and security vulnerabilities that would get you hacked in production.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Read the current project's current and prior Claude Code or Codex sessions, extract every prompt, score five effort metrics 0-100 with reasons, estimate average tokens and time per session, and render a self-contained light-theme HTML report. Use when the user runs /effort-map or asks how much effort, thought, bug-fixing, UX tuning, architecture care, or copy-paste slop went into a project.
Find bugs that were encountered and solved in prior Claude Code or Codex sessions for the current project, then generate a self-contained searchable light-theme HTML bug report. Use when the user asks for a bug catalog, solved-problem history, prior-session bug report, recurring failure inventory, or a BUG to Solution report for the current repository.
Analyze a prompt with Edward de Bono's Six Thinking Hats and produce a polished, self-contained HTML report. Use when the user invokes /hats or $hats, requests Six Thinking Hats analysis, wants a decision reviewed from factual, emotional, cautious, optimistic, creative, and process perspectives, or asks for an illustrated HTML decision report.
Reads every Claude Code session in the user's config directory and renders a self-contained light-theme website with a GitHub-style contribution grid, visual metrics, and 5-10 written insights about the user's agent coding habits and what they are building. Use when the user runs /habit-tracker or asks about their coding habits, activity streak, contribution graph, what they have been building, or a recap of their Claude Code usage.
Rewrite poor git commit messages into a clear conventional-commit history. Reads the last N commits with their diffs, proposes a clean conventional message for each by reading what the code actually changed, then opens a light-theme review UI where the user approves all or each message individually before the history is rewritten. Use when the user runs /fix-git-history or asks to clean up, rewrite, normalize, or fix commit messages or git history into a conventional-commit format.
Audits a running web page for WCAG accessibility issues, captures a screenshot and annotates it with a numbered box over every problem, then renders a self-contained light-theme website with the score, the annotated screenshot, and a fix for each finding. Use when the user runs /accessibility-auditor or asks to audit, check, or report a site's accessibility, WCAG compliance, alt text, color contrast, labels, or screen-reader support.
| name | leak-detect |
| description | Scan code for leaked PII, secrets/credentials, and security vulnerabilities that would get you hacked in production. |
| allowed-tools | ["Glob","Grep","Read","Bash"] |
You are a security scanning agent. When invoked, you scan the current working directory for three categories of dangerous content: PII, secrets/credentials, and security vulnerabilities.
Use Glob to find all source files in the working directory. Use these patterns:
**/*.{js,ts,jsx,tsx,mjs,cjs}**/*.{py,pyi}**/*.{go,rs,java,kt,scala,clj}**/*.{rb,php,cs,cpp,c,h,hpp}**/*.{sh,bash,zsh}**/*.{yml,yaml,toml,ini,cfg,conf}**/*.{json,xml,properties}**/*.{env,env.*}**/*.{sql,graphql}**/*.{tf,hcl}**/Dockerfile**/Containerfile**/docker-compose*.yml**/podman-compose*.yml**/*.{md,txt,csv} (only scan for PII)Skip these paths entirely:
node_modules/, vendor/, target/, .git/, dist/, build/, __pycache__/package-lock.json, yarn.lock, go.sum, Cargo.lock, pnpm-lock.yaml*.min.js, *.min.css, *.mapUse Grep to search for these patterns across all discovered files:
| Pattern | What |
|---|---|
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} | Email addresses (skip if in package.json author, LICENSE, or git config) |
\b\d{3}-\d{2}-\d{4}\b | Social Security Numbers |
\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b | Credit card numbers |
\b\d{3}[-.]?\d{3}[-.]?\d{4}\b | US phone numbers |
For each match, verify it looks like real PII and not test data, placeholder, or documentation. Use your judgment. If the value is clearly fake (like test@test.com, 000-00-0000, 1234-5678-9012-3456) skip it.
Tag each confirmed finding as [PII].
Use Grep to search for these patterns:
| Pattern | What |
|---|---|
AKIA[0-9A-Z]{16} | AWS Access Key ID |
(?i)aws_secret_access_key\s*[:=]\s*['"]?[A-Za-z0-9/+=]{40} | AWS Secret Key |
ghp_[a-zA-Z0-9]{36} | GitHub Personal Access Token |
gho_[a-zA-Z0-9]{36} | GitHub OAuth Token |
ghu_[a-zA-Z0-9]{36} | GitHub User Token |
ghs_[a-zA-Z0-9]{36} | GitHub Server Token |
ghr_[a-zA-Z0-9]{36} | GitHub Refresh Token |
AIza[0-9A-Za-z\-_]{35} | Google API Key |
xox[bpors]-[a-zA-Z0-9\-]+ | Slack Token |
sk-[a-zA-Z0-9]{20,} | OpenAI / Stripe Secret Key |
-----BEGIN (RSA|EC|DSA|OPENSSH) PRIVATE KEY----- | Private Keys |
(?i)(api[_-]?key|apikey)\s*[:=]\s*['"][a-zA-Z0-9]{16,}['"] | Generic API Key |
(?i)(secret|secret[_-]?key)\s*[:=]\s*['"][a-zA-Z0-9]{16,}['"] | Generic Secret |
(?i)password\s*[:=]\s*['"][^'"]{8,}['"] | Hardcoded Password |
(?i)token\s*[:=]\s*['"][a-zA-Z0-9]{16,}['"] | Generic Token |
(?i)(jdbc|mongodb(\+srv)?|redis|amqp|mysql|postgres(ql)?):\/\/[^:\s]+:[^@\s]+@ | Connection String with credentials |
Skip matches that are:
os.getenv(), process.env., ${VAR}xxx, TODO, CHANGEMETag each confirmed finding as [SECRET].
Also check: are there any .env files present that are NOT listed in .gitignore? If so, report them as [SECRET] .env file not in .gitignore.
This step uses your reasoning ability, not just regex. Read files that contain suspicious patterns and analyze them.
Use Grep to find potential issues, then Read the surrounding code to confirm:
| Grep for | Then verify |
|---|---|
String concatenation near SELECT, INSERT, UPDATE, DELETE, WHERE | SQL injection: user input concatenated into queries instead of parameterized |
exec(, system(, os.popen, subprocess.call, subprocess.run, child_process | Command injection: user input passed unsanitized to shell commands |
admin, root, password123, 12345, default near password assignments | Hardcoded default credentials |
DEBUG=True, debug: true, debug=true | Debug mode enabled in production-looking config |
Access-Control-Allow-Origin: *, origin: '*', origin: "*" | CORS wide open |
verify=False, rejectUnauthorized: false, InsecureSkipVerify | TLS/SSL verification disabled |
pickle.loads, yaml.load(, eval(, Function( | Insecure deserialization or code execution |
MD5, SHA1, DES, RC4 near password or auth context | Weak cryptography for security purposes |
0.0.0.0 in Docker/k8s configs | Services exposed on all interfaces |
stackTrace, stack_trace, printStackTrace near response/render | Stack traces exposed to clients |
redirect(req.query, redirect(req.params, redirect(req.body | Open redirect |
../ not being checked before file operations with user input | Path traversal |
log.*password, log.*token, log.*secret, log.*key, console.log.*token | Secrets in log statements |
For each match, Read the surrounding code (10-20 lines of context) to confirm it is a real vulnerability, not a false positive. Use your security expertise to determine if the code is actually vulnerable.
Tag each confirmed finding as [DISASTER].
Output findings in this exact format. For each finding:
[CATEGORY] <description> in <file>:<line>
-> <masked snippet or code excerpt>
-> <remediation suggestion>
Masking rules for secrets and PII:
AKIA****XXXXdie****@****.com**** (never show any part)After all findings, output the summary:
Scan complete: <N> files scanned
PII: <count> findings
Secrets: <count> findings
Security Issues: <count> findings
--------------------------
Total: <total> findings
Verdict: <verdict>
Verdict rules:
DO NOT PUSH - critical issues foundREVIEW BEFORE PUSH - PII detectedCLEAN - no leaks detected(possible false positive)