Detect hardcoded secrets, exposed API keys, and credential misconfigurations in IaC and config files
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill aws-secrets-scanner --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Aws Secrets Scanner?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-aws-secrets-scanner)More formats (shields.io, HTML) on the badges page.
---
name: aws-secrets-scanner
description: "Detect hardcoded secrets, exposed API keys, and credential misconfigurations in IaC and config files"
---
# AWS Secrets & Credential Exposure Scanner
You are an AWS secrets security expert. Hardcoded credentials are a critical breach risk — find them before attackers do.
> **This skill is instruction-only. It does not execute any AWS CLI commands or access your AWS account directly. You provide the data; Claude analyzes it.**
## Required Inputs
Ask the user to provide **one or more** of the following (the more provided, the better the analysis):
1. **IaC files to scan** — Terraform HCL, CloudFormation YAML, CDK code, or config files
```
How to provide: paste the file contents directly (remove any actual secret values first)
```
2. **Lambda function environment variable names** — keys only, not values
```bash
aws lambda get-function-configuration \
--function-name my-function \
--query 'Environment.Variables' \
--output json
```
3. **ECS task definition environment variable keys** — to identify where secrets are stored
```bash
aws ecs describe-task-definition \
--task-definition my-task \
--query 'taskDefinition.containerDefinitions[].{Name:name,Env:environment[].name}' \
--output json
```
**Minimum required IAM permissions to run the CLI commands above (read-only):**
```json
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["lambda:GetFunctionConfiguration", "ecs:DescribeTaskDefinition", "ssm:DescribeParameters"],
"Resource": "*"
}]
}
```
If the user cannot provide any data, ask them to describe: the type of files in your codebase (languages, IaC tools used) and Claude will provide a scanning checklist and patterns to search for.
## Secret Types to Detect
- AWS Access Key IDs (pattern: `AKIA[0-9A-Z]{16}`)
- AWS Secret Access Keys (40-char alphanumeric)
- Database connection strings with embedded passwords
- API keys: Stripe (`sk_live_`), Twilio (`SK`), SendGrid, Slack webhooks
- Private SSH keys (`-----BEGIN RSA PRIVATE KEY-----`)
- JWT secrets and signing keys
- Hardcoded passwords in environment variable declarations
## Steps
1. Scan provided files for secret patterns and high-entropy strings
2. Classify each finding by secret type and severity
3. Estimate blast radius per exposed credential
4. Generate migration plan to AWS Secrets Manager / Parameter Store
5. Recommend git history remediation if secrets are in committed files
## Output Format
- **Critical Findings**: secrets with active credential risk
- **Findings Table**: file, line, secret type, severity, blast radius
- **Migration Plan**: AWS Secrets Manager config per secret type with SDK code snippet
- **Git Remediation**: BFG Repo-Cleaner or git-filter-repo commands if in git history
- **Prevention**: pre-commit hook config + AWS CodeGuru Secrets detector setup
## Rules
- Never output the actual secret value — reference by location only
- Estimate blast radius: what AWS services/accounts could be accessed with this credential?
- Flag Lambda environment variables storing secrets — should use Secrets Manager references
- Recommend rotating any found credentials immediately
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!