mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-12 20:53:34 +08:00
Ports functionality from 10+ separate plugins into ECC so users only need one plugin installed. Consolidates: pr-review-toolkit, feature-dev, commit-commands, hookify, code-simplifier, security-guidance, frontend-design, explanatory-output-style, and personal skills. New agents (8): code-architect, code-explorer, code-simplifier, comment-analyzer, conversation-analyzer, pr-test-analyzer, silent-failure-hunter, type-design-analyzer New commands (9): commit, commit-push-pr, clean-gone, review-pr, feature-dev, hookify, hookify-list, hookify-configure, hookify-help New skills (8): frontend-design, hookify-rules, github-ops, knowledge-ops, lead-intelligence, oura-health, pmx-guidelines, remotion Enhanced skills (8): article-writing, content-engine, market-research, investor-materials, investor-outreach, x-api, security-scan, autonomous-loops — merged with personal skill content New hook: security-reminder.py (pattern-based OWASP vulnerability warnings on file edits) Totals: 36 agents, 69 commands, 128 skills, 29 hook scripts
223 lines
6.1 KiB
Markdown
223 lines
6.1 KiB
Markdown
---
|
|
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.
|
|
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
|
|
|
|
## Infrastructure Security Operations
|
|
|
|
Beyond Claude Code config scanning, this skill covers broader infrastructure security hygiene.
|
|
|
|
### Repository Security Checks
|
|
|
|
```bash
|
|
# Check Dependabot alerts across repos
|
|
gh api repos/{owner}/{repo}/dependabot/alerts --jq '.[].security_advisory.summary'
|
|
|
|
# Check for exposed secrets in recent commits
|
|
gh api repos/{owner}/{repo}/secret-scanning/alerts --jq '.[].state'
|
|
|
|
# Check code scanning alerts (CodeQL)
|
|
gh api repos/{owner}/{repo}/code-scanning/alerts --jq '.[].rule.description'
|
|
```
|
|
|
|
### API Key Hygiene
|
|
|
|
Track and rotate API keys on a schedule:
|
|
|
|
| Category | Rotation Frequency |
|
|
|----------|--------------------|
|
|
| LLM APIs (OpenAI, Anthropic, etc.) | Quarterly |
|
|
| Search APIs (Exa, Brave, Firecrawl) | Quarterly |
|
|
| Social APIs (X, LinkedIn) | On compromise only |
|
|
| Infrastructure (Supabase, GitHub tokens) | Quarterly |
|
|
| Payment (Stripe) | On compromise only |
|
|
| OAuth tokens (Oura, Google) | Auto-refresh |
|
|
|
|
### Quick Security Audit
|
|
|
|
1. Check all repos for Dependabot alerts
|
|
2. Check for exposed secrets in recent commits
|
|
3. Verify critical services are responding
|
|
4. Check SSL cert expiry for deployed domains
|
|
5. Review API key scopes (are any over-permissioned?)
|
|
|
|
### Deep Security Audit
|
|
|
|
1. Full dependency tree analysis for each repo
|
|
2. API key scope review
|
|
3. Review LaunchAgent/cron configurations for security implications
|
|
4. Check for hardcoded secrets in codebase (beyond .env)
|
|
5. Network exposure audit (what ports are open?)
|
|
6. Review OAuth token scopes and expiry
|
|
7. License compliance check
|
|
|
|
### Incident Response
|
|
|
|
If a key is compromised:
|
|
1. Immediately rotate the affected key
|
|
2. Check service logs for unauthorized usage
|
|
3. Review git history for when/how it was exposed
|
|
4. Update `.env` files across all systems
|
|
5. Assess impact and notify stakeholders
|
|
|
|
## 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)
|