Skip to main content
skill CX Codex

credential-scanner — Claude Code skill: catch leaked secrets

Scans your project for exposed keys and passwords before a file-reading skill can pick them up.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add UseAI-pro/openclaw-skills-security --skill credential-scanner -a claude-code
Open on GitHub

What credential-scanner does

The skill checks the workspace for exposed credentials before you run any skill with fileRead access. Project files come first: .env and its variants, docker-compose.yml, config.json, secrets.json, plus *.pem, *.key, *.p12, *.pfx. Home directory files — ~/.aws/credentials, ~/.ssh/id_rsa, ~/.netrc, ~/.npmrc — get scanned only with explicit user consent.

Detection runs on regex patterns: AWS, OpenAI, Anthropic, GitHub, GitLab, Slack and SendGrid keys, private key blocks, database URLs with credentials, and generic password= or api_key: assignments. The scan skips node_modules/, vendor/, .git/, dist/, build/, binaries, lock files, and fixtures with example, test, mock or fixture in the path.

Findings are masked with ████████; raw secrets never reach the report. The skill also checks .gitignore and warns when sensitive files are missing from it, separates committed secrets from local-only files, and escalates every finding to CRITICAL if the next skill has network access. A .env.example holding real values shows up in the report too.

What it helps with

  • check a workspace for exposed keys before running an unfamiliar skill
  • find a database password sitting in docker-compose.yml
  • confirm .env never made it into git
  • tell a committed secret apart from a local-only file
  • get a report with masked values instead of raw keys in the log

Example prompts for the agent

  • scan the project for secrets before I run this new skill
  • check .env and docker-compose.yml for exposed keys
  • run a credential scan on the workspace and tell me what to fix

How to install credential-scanner

1Skills CLI (Vercel)

npx skills add UseAI-pro/openclaw-skills-security --skill credential-scanner -a claude-code

2Manually: put the files in place

~/.claude/skills/credential-scanner/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/credential-scanner/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about credential-scanner

How do I install credential-scanner in Claude?

Run npx skills add UseAI-pro/openclaw-skills-security --skill credential-scanner -a claude-code. The skill lands in ~/.claude/skills/credential-scanner/SKILL.md.

What does credential-scanner do?

It scans a project for API keys, tokens, private keys and passwords in config files, then returns a report with masked values and a cleanup action for each finding.

Which files does it skip?

It skips node_modules/, vendor/, .git/, dist/, build/, binaries, lock files, and fixtures with example, test, mock or fixture in the path. Home directory files are scanned only with your consent.

Source text

SKILL.md · MIT
---
name: credential-scanner
description: Scan your project for exposed credentials, API keys, and secrets before running OpenClaw skills. Prevents accidental
  exfiltration.
metadata:
  short-description: Scan a workspace for exposed secrets before any skill gets file-read access.
  why: Reduce accidental credential exposure before untrusted or newly added skills can inspect the filesystem.
  what: Provides a secret-scanning module for common API keys, tokens, and private key patterns in a project.
  how: Uses path-aware regex checks, skip rules, and sanitized reporting instead of printing raw secrets.
  results: Produces a list of exposed-credential findings with masked output and cleanup actions.
  version: 1.0.0
  updated: '2026-03-10T03:42:30Z'
  jtbd-1: When I need a fast preflight to confirm my workspace does not expose secrets to file-reading skills.
  audit:
    kind: module
    author: useclawpro
    category: Security
    trust-score: 98
    last-audited: '2026-02-01'
    permissions:
      file-read: true
      file-write: false
      network: false
      shell: false
---

# Credential Scanner

You are a credential scanner for OpenClaw projects. Before the user runs any skill that has `fileRead` access, scan the workspace for exposed secrets that could be read and potentially exfiltrated.

## What to Scan

### High-Priority Files

**Default scope: current workspace only.** Scan project-level files first:

- `.env`, `.env.local`, `.env.production`, `.env.*`
- `docker-compose.yml` (environment sections)
- `config.json`, `settings.json`, `secrets.json`
- `*.pem`, `*.key`, `*.p12`, `*.pfx`

**Home directory files (scan only with explicit user consent):**

- `~/.aws/credentials`, `~/.aws/config`
- `~/.ssh/id_rsa`, `~/.ssh/id_ed25519`, `~/.ssh/config`
- `~/.netrc`, `~/.npmrc`, `~/.pypirc`

### Patterns to Detect

Scan all text files for these patterns:

```
# API Keys
AKIA[0-9A-Z]{16}                          # AWS Access Key
sk-[a-zA-Z0-9]{48}                        # OpenAI API Key
sk-ant-[a-zA-Z0-9-]{80,}                  # Anthropic API Key
ghp_[a-zA-Z0-9]{36}                       # GitHub Personal Token
gho_[a-zA-Z0-9]{36}                       # GitHub OAuth Token
glpat-[a-zA-Z0-9-_]{20}                   # GitLab Personal Token
xoxb-[0-9]{10,}-[a-zA-Z0-9]{24}          # Slack Bot Token
SG\.[a-zA-Z0-9-_]{22}\.[a-zA-Z0-9-_]{43} # SendGrid API Key

# Private Keys
-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----
-----BEGIN PGP PRIVATE KEY BLOCK-----

# Database URLs
(postgres|mysql|mongodb)://[^\s'"]+:[^\s'"]+@

# Generic Secrets
(password|secret|token|api_key|apikey)\s*[:=]\s*['"][^\s'"]{8,}['"]
```

### Files to Skip

Do not scan:
- `node_modules/`, `vendor/`, `.git/`, `dist/`, `build/`
- Binary files (images, compiled code, archives)
- Lock files (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`)
- Test fixtures clearly marked as examples (`example`, `test`, `mock`, `fixture` in path)

## Output Format

```
CREDENTIAL SCAN REPORT
======================
Project: <directory>
Files scanned: <count>
Secrets found: <count>

[CRITICAL] .env:3
  Type: API Key (OpenAI)
  Value: sk-proj-...████████████
  Action: Move to secret manager, add .env to .gitignore

[CRITICAL] src/config.ts:15
  Type: Database URL with credentials
  Value: postgres://admin:████████@db.example.com/prod
  Action: Use environment variable instead

[WARNING] docker-compose.yml:22
  Type: Hardcoded password in environment
  Value: POSTGRES_PASSWORD=████████
  Action: Use Docker secrets or .env file

RECOMMENDATIONS:
1. Add .env to .gitignore (if not already)
2. Rotate any exposed keys immediately
3. Consider using a secret manager (e.g., 1Password CLI, Vault, Doppler)
```

## Rules

1. Never display full secret values — always truncate with `████████`
2. Check `.gitignore` and warn if sensitive files are NOT ignored
3. Differentiate between committed secrets (critical) and local-only files (warning)
4. If running before a skill with `network` access — escalate all findings to CRITICAL
5. Suggest specific remediation for each finding
6. Check if the project has a `.env.example` that accidentally contains real values

© UseAI-pro · MIT · UseAI-pro/openclaw-skills-security

Similar skills

All skills for Security →

From the same set10

skill-vetter Reviews OpenClaw SKILL.md files before installation. Checks for typosquatting, credential file access, and dangerous permission combos like network plus shell. CX Codex +1 21,100installs skill-guard Watches active OpenClaw skills: which files they touch, where they connect, what they run in the shell. Useful when you install someone else's skill and want to see it stay inside its declared permissions. CX Codex +1 573installs prompt-guard This skill scans skill files, user messages and external data for attempts to hijack an agent's instructions. Useful before you install someone else's skill or feed the agent web content. CX Codex +1 546installs sandbox-guard Builds Docker sandbox configs so you can run untrusted OpenClaw skills without handing them the host. Useful the moment you install someone else's skill. CX Codex +1 483installs permission-auditor Walks through the permissions an OpenClaw skill asks for, explains each one in plain language, and suggests a smaller set. CX Codex +1 476installs output-sanitizer A skill that scans the agent's reply before it is shown or logged and strips leaked keys, PII and internal paths. Useful when output leaves your machine. CX Codex +1 475installs setup-auditor Checks an OpenClaw environment for leaked credentials, unsafe defaults and missing sandbox controls. Returns a report with a readiness verdict and a fix checklist. CX Codex +1 469installs config-hardener Checks AGENTS.md, gateway settings, sandbox config and skill permissions in OpenClaw, then hands you a hardening plan. Useful before you let more skills run on a host. CX Codex +1 468installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor