Skip to content
Back to skills

Config Security Scan

ASecurity

Scan .claude/ directory for security misconfigurations, exposed secrets, unsafe permissions

  • 530 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 29, 2026
ai-agentsrustshellbashgitapisecurity

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned May 29, 2026

npx -y skills add vibeeval/vibecosystem --skill config-security-scan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Config Security Scan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Config Security Scan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vibeeval-config-security-scan/badge)](https://www.skillsdirectory.com/skills/vibeeval-config-security-scan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: config-security-scan
description: Scan .claude/ directory for security misconfigurations, exposed secrets, unsafe permissions
allowed-tools: [Bash, Read, Grep, Glob]
keywords: [security, config, scan, audit, claude, settings, mcp, hooks, agents, secrets, permissions]
---

# Config Security Scan

Scan your `.claude/` directory and related configuration files for security issues. Inspired by AgentShield pattern - checks CLAUDE.md, settings.json, MCP configs, hooks, and agent definitions for misconfigurations, exposed secrets, and unsafe permissions.

## Usage

```
/config-security-scan [path]
```

Default path: `.claude/` in current project.

## What It Checks

### 1. Secrets Detection (CRITICAL)
```
- API keys, tokens, passwords in CLAUDE.md
- Hardcoded credentials in hook scripts
- Secrets in MCP server configs
- Bearer tokens in agent definitions
- .env files committed to git
```

### 2. Permission Escalation (HIGH)
```
- dangerouslySkipPermissions in settings.json
- Overly broad tool permissions (all tools for simple agents)
- MCP servers with filesystem write access
- Hooks with shell execution and no validation
- Agents with Bash tool that don't need it
```

### 3. MCP Server Security (HIGH)
```
- Unknown/untrusted MCP servers
- MCP servers with network access + filesystem access
- Missing authentication on MCP endpoints
- MCP servers running as root/admin
- Unverified npm packages in MCP configs
```

### 4. Hook Security (MEDIUM)
```
- Hooks that execute user input
- Hooks without error handling
- Hooks that modify git config
- Hooks that access external networks
- Hooks with hardcoded paths
```

### 5. Agent Definition Security (MEDIUM)
```
- Agents with unnecessary tools
- Agents with system-level Bash access
- Agent descriptions that could enable prompt injection
- Agents without clear scope boundaries
```

### 6. Configuration Hygiene (LOW)
```
- Unused MCP server configs
- Deprecated settings
- Conflicting rules
- Missing recommended security settings
```

## Scan Procedure

```bash
# Step 1: Find all config files
find .claude/ -type f \( -name "*.json" -o -name "*.md" -o -name "*.yml" -o -name "*.yaml" -o -name "*.js" -o -name "*.mjs" -o -name "*.ts" \)

# Step 2: Secret patterns
grep -rn "api[_-]?key\|password\|secret\|token\|bearer\|sk-\|pk_\|ghp_\|gho_\|xoxb-\|xoxp-" .claude/

# Step 3: Permission checks
grep -rn "dangerouslySkipPermissions\|allowedTools.*Bash\|shell_exec\|eval(" .claude/

# Step 4: MCP config review
cat .mcp.json 2>/dev/null | jq '.mcpServers | keys'

# Step 5: Hook review
ls .claude/hooks/ 2>/dev/null
```

## Output Format

```markdown
# Config Security Scan Report
Scanned: [path]
Date: [timestamp]

## Summary
- CRITICAL: X issues
- HIGH: Y issues
- MEDIUM: Z issues
- LOW: W issues

## CRITICAL Issues

### [Issue Title]
**File:** [path]
**Line:** [number]
**Issue:** [description]
**Fix:** [remediation]

## Recommendations
1. [Action item]
```

## Hard Exclusion List (Skip These)

These are NOT security issues in the .claude/ context:
- Environment variable references (not actual values)
- Test/example credentials clearly marked as such
- Public API keys meant to be public
- SHA hashes used as identifiers
- Base64-encoded non-secret data
- localhost/127.0.0.1 URLs

## Integration

- **security-reviewer**: Calls this skill during security audits
- **verifier**: Includes config scan in pre-commit checks
- **shipper**: Runs before deployments

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…