security-scan · affaan-m — Claude skill: audit your .claude/ config
Scans the .claude/ directory for leaked secrets, loose permissions and hook injection risks. Useful right after you edit settings.json or add an MCP server.
npx skills add affaan-m/ECC --skill security-scan -a claude-codeWhat security-scan does
The skill runs AgentShield, a scanner for Claude configuration. It reads CLAUDE.md, settings.json, mcp.json, the hooks/ folder and agent definitions in agents/*.md. What it looks for: hardcoded keys and tokens, allow lists wide enough to include Bash(*), a missing deny list, command injection through ${file} interpolation in hooks, risky MCP servers, and npx -y auto-install.
You get a report with a grade from A to F. Four output formats: colored terminal text, JSON for CI, Markdown for docs, and a self-contained HTML file. The --fix flag applies safe changes only — it swaps hardcoded secrets for environment variable references and narrows wildcard permissions. Manual suggestions stay untouched. There is also an --opus mode that runs three agents (attacker, defender, auditor) and needs ANTHROPIC_API_KEY.
Install AgentShield first: npm install -g ecc-agentshield, or call it once with npx ecc-agentshield scan. The init command scaffolds a fresh secure config set. Worth adding if your repo carries MCP servers and hooks, since that is where problems usually sit. An empty .claude/ with no hooks or agents gives the scanner little to chew on.
What it helps with
- find hardcoded API keys in
CLAUDE.mdandsettings.json - check the allow list for overly broad rules like
Bash(*) - catch command injection in hooks via
${file}interpolation - assess MCP servers that auto-install with
npx -y - run the scan in CI and fail the build on medium findings
Example prompts for the agent
- scan my `.claude/` directory for vulnerabilities
- run `npx ecc-agentshield scan --format json` for CI
- apply the safe fixes with `npx ecc-agentshield scan --fix`
How to install security-scan
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill security-scan -a claude-code2Manually: put the files in place
~/.claude/skills/security-scan/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/security-scan/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill security-scan -a codex2Manually: put the files in place
.agents/skills/security-scan/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill security-scan -a cursor2Manually: put the files in place
.cursor/skills/security-scan/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install affaan-m/ECC security-scan2Manually: put the files in place
.github/skills/security-scan/SKILL.md1Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill security-scan -a gemini-cli2Platform CLI
gemini skills install https://github.com/affaan-m/ECC --path skills/security-scanManually: put the files in place
.devin/skills/security-scan/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add affaan-m/ECC --skill security-scan -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set146
The whole set →Other versions of security-scan
Similar
Questions about security-scan
How do I install security-scan in Claude?
Run npx skills add affaan-m/ECC --skill security-scan -a claude-code. The skill lands in ~/.claude/skills/security-scan/SKILL.md.
What does security-scan do?
It scans your .claude/ config through AgentShield: secrets, loose permissions, hook injection and risky MCP servers. You get a report graded A through F.
What does the `--opus` mode require?
An ANTHROPIC_API_KEY environment variable. Without it you still get the regular scan, auto-fixes and all output formats.
Source text
SKILL.md · MIT
---
name: security-scan
description: Scan your Claude Code configuration (.claude/ directory) for security vulnerabilities, misconfigurations, and injection risks using AgentShield. Checks CLAUDE.md, settings.json, MCP servers, hooks, and agent definitions. Use when auditing a .claude/ directory — CLAUDE.md, settings.json, MCP servers, hooks, or agent definitions.
metadata:
origin: ECC
---
# Security Scan Skill
Audit your Claude Code configuration for security issues using [AgentShield](https://github.com/affaan-m/agentshield).
## When to Activate
- Setting up a new Claude Code project
- After modifying `.claude/settings.json`, `CLAUDE.md`, or MCP configs
- Before committing configuration changes
- When onboarding to a new repository with existing Claude Code configs
- Periodic security hygiene checks
## What It Scans
| File | Checks |
|------|--------|
| `CLAUDE.md` | Hardcoded secrets, auto-run instructions, prompt injection patterns |
| `settings.json` | Overly permissive allow lists, missing deny lists, dangerous bypass flags |
| `mcp.json` | Risky MCP servers, hardcoded env secrets, npx supply chain risks |
| `hooks/` | Command injection via interpolation, data exfiltration, silent error suppression |
| `agents/*.md` | Unrestricted tool access, prompt injection surface, missing model specs |
## Prerequisites
AgentShield must be installed. Check and install if needed:
```bash
# Check if installed
npx ecc-agentshield --version
# Install globally (recommended)
npm install -g ecc-agentshield
# Or run directly via npx (no install needed)
npx ecc-agentshield scan .
```
## Usage
### Basic Scan
Run against the current project's `.claude/` directory:
```bash
# Scan current project
npx ecc-agentshield scan
# Scan a specific path
npx ecc-agentshield scan --path /path/to/.claude
# Scan with minimum severity filter
npx ecc-agentshield scan --min-severity medium
```
### Output Formats
```bash
# Terminal output (default) — colored report with grade
npx ecc-agentshield scan
# JSON — for CI/CD integration
npx ecc-agentshield scan --format json
# Markdown — for documentation
npx ecc-agentshield scan --format markdown
# HTML — self-contained dark-theme report
npx ecc-agentshield scan --format html > security-report.html
```
### Auto-Fix
Apply safe fixes automatically (only fixes marked as auto-fixable):
```bash
npx ecc-agentshield scan --fix
```
This will:
- Replace hardcoded secrets with environment variable references
- Tighten wildcard permissions to scoped alternatives
- Never modify manual-only suggestions
### Opus 4.6 Deep Analysis
Run the adversarial three-agent pipeline for deeper analysis:
```bash
# Requires ANTHROPIC_API_KEY
export ANTHROPIC_API_KEY=your-key
npx ecc-agentshield scan --opus --stream
```
This runs:
1. **Attacker (Red Team)** — finds attack vectors
2. **Defender (Blue Team)** — recommends hardening
3. **Auditor (Final Verdict)** — synthesizes both perspectives
### Initialize Secure Config
Scaffold a new secure `.claude/` configuration from scratch:
```bash
npx ecc-agentshield init
```
Creates:
- `settings.json` with scoped permissions and deny list
- `CLAUDE.md` with security best practices
- `mcp.json` placeholder
### GitHub Action
Add to your CI pipeline:
```yaml
- uses: affaan-m/agentshield@v1
with:
path: '.'
min-severity: 'medium'
fail-on-findings: true
```
## Severity Levels
| Grade | Score | Meaning |
|-------|-------|---------|
| A | 90-100 | Secure configuration |
| B | 75-89 | Minor issues |
| C | 60-74 | Needs attention |
| D | 40-59 | Significant risks |
| F | 0-39 | Critical vulnerabilities |
## Interpreting Results
### Critical Findings (fix immediately)
- Hardcoded API keys or tokens in config files
- `Bash(*)` in the allow list (unrestricted shell access)
- Command injection in hooks via `${file}` interpolation
- Shell-running MCP servers
### High Findings (fix before production)
- Auto-run instructions in CLAUDE.md (prompt injection vector)
- Missing deny lists in permissions
- Agents with unnecessary Bash access
### Medium Findings (recommended)
- Silent error suppression in hooks (`2>/dev/null`, `|| true`)
- Missing PreToolUse security hooks
- `npx -y` auto-install in MCP server configs
### Info Findings (awareness)
- Missing descriptions on MCP servers
- Prohibitive instructions correctly flagged as good practice
## Links
- **GitHub**: [github.com/affaan-m/agentshield](https://github.com/affaan-m/agentshield)
- **npm**: [npmjs.com/package/ecc-agentshield](https://www.npmjs.com/package/ecc-agentshield)
© affaan-m · MIT · affaan-m/ECC