secret-scanner

Scan codebase for exposed secrets, API keys, passwords, and sensitive credentials

View on GitHub
Author Jeremy Longshore
Namespace @jeremylongshore/claude-code-plugins-plus
Category security
Version 1.0.0
Stars 1,193
Downloads 2
self.md verified
Table of content

Scan codebase for exposed secrets, API keys, passwords, and sensitive credentials

Installation

npx claude-plugins install @jeremylongshore/claude-code-plugins-plus/secret-scanner

Contents

Folders: commands, skills

Files: LICENSE, README.md

Documentation

Scan codebase for exposed secrets, API keys, passwords, and sensitive credentials with pattern matching and entropy analysis.

Features

Installation

/plugin install secret-scanner@claude-code-plugins-plus

Usage

# Scan current directory
/scan-secrets

# Or use shortcut
/secrets

What It Detects

API Keys & Tokens

Credentials

Tokens

High-Entropy Strings

Example Report

SECRET SCAN REPORT
==================
Scan Date: 2025-10-11
Secrets Found: 4

CRITICAL SECRETS
----------------

1. AWS Access Key Exposed
   File: src/config/aws.js:12
   Pattern: AKIA[0-9A-Z]{16}
   Value: AKIA****************WXYZ (masked)

   Immediate Actions:
   1. Revoke this key in AWS IAM Console
   2. Generate new access key
   3. Store in environment variable or AWS Secrets Manager
   4. Remove from git history:
      git filter-branch --force --index-filter \
        'git rm --cached --ignore-unmatch src/config/aws.js' \
        --prune-empty --tag-name-filter cat -- --all

2. Database Password Hardcoded
   File: config/database.yml:15
   Pattern: password: ********

   Remediation:
   Use environment variables:
   password: <%= ENV['DB_PASSWORD'] %>

3. Private SSH Key
   File: deploy/id_rsa:1
   Pattern: -----BEGIN RSA PRIVATE KEY-----

   Immediate Actions:
   1. Remove key from repository
   2. Revoke key on all servers
   3. Generate new SSH key pair
   4. Add to .gitignore: deploy/*.pem, deploy/id_rsa

4. High-Entropy String (Potential Secret)
   File: src/utils/crypto.js:45
   Entropy: 4.8 bits
   Value: 3kx9f2nv8q1m4p7r... (base64)

   Review Required:
   Verify if this is a secret or legitimate code

Remediation Guide

For Exposed API Keys

# 1. Revoke the exposed key immediately
# (Use provider's console/CLI)

# 2. Remove from current files
# Replace with environment variable
export API_KEY="new-key-here"

# 3. Remove from git history
git filter-repo --path config/keys.js --invert-paths

# 4. Add to .gitignore
echo "config/keys.js" >> .gitignore

For Configuration Files

# Create template file
cp .env .env.example
# Remove sensitive values from .env.example

# Add .env to .gitignore
echo ".env" >> .gitignore

# Document required variables
cat > .env.example << EOF
# Required environment variables
API_KEY=your_api_key_here
DATABASE_URL=your_database_url_here
EOF

Best Practices

  1. Prevention

    • Use environment variables
    • Implement pre-commit hooks
    • Use secret management tools (Vault, AWS Secrets Manager)
    • Review code before committing
  2. Detection

    • Run scans regularly
    • Scan git history periodically
    • Monitor CI/CD logs
    • Enable secret scanning in GitHub/GitLab
  3. Response

    • Rotate exposed secrets immediately
    • Remove from git history
    • Update documentation
    • Notify security team
  4. Secret Management

    • Use HashiCorp Vault
    • Use cloud provider secret managers
    • Use encrypted configuration
    • Implement proper access controls

Pre-commit Hook

Add to .git/hooks/pre-commit:

#!/bin/bash
if /plugin secret-scanner | grep -q "CRITICAL"; then
    echo "ERROR: Secrets detected! Commit blocked."
    exit 1
fi

Requirements

License

MIT License - See LICENSE file for details

Included Skills

This plugin includes 1 skill definition:

scanning-for-secrets

Detect exposed secrets, API keys, and credentials in code. Use when auditing for secret leaks. Trigger with ‘scan for secrets’, ‘find exposed keys’, or ‘check credentials’.

View skill definition

Secret Scanner

This skill provides automated assistance for secret scanner tasks.

Overview

This skill enables Claude to scan your codebase for exposed secrets, API keys, passwords, and other sensitive credentials. It helps you identify and remediate potential security vulnerabilities before they are committed or deployed.

How It Works

  1. Initiate Scan: Claude activates the secret-scanner plugin.
  2. Codebase Analysis: The plugin scans the codebase using pattern matching and entropy analysis.
  3. Report Generation: A detailed report is generated, highlighting identified secrets, their locations, and suggested remediation steps.

When to Use This Skill

This skill activates when you need to:

Examples

Example 1: Identifying Exposed AWS Keys

User request: “Scan for AWS keys in the codebase”

The skill will:

  1. Activate the secret-scanner plugin.
  2. Scan the codebase for patterns matching AWS Access Keys (AKIA[0-9A-Z]{16}).
  3. Generate a report listing any found keys, their file locations, and remediation steps (e.g., revoking the key).

Example 2: Checking for Hardcoded Passwords

User request: “Check for exposed credentials in config files”

The skill will:

  1. Activate the

…(truncated)

Source

View on GitHub

Tags: security securitysecretsapi-keyscredentialspasswords