agentleFS
Sign inSign up

security-scan

DonTizi/CodeGeass/.claude/skills/security-scan/SKILL.md

Deep security analysis of codebase. Scans for secrets, vulnerabilities, and insecure patterns.

Skill2 starsChanged 8 months ago
  • Reads credentials
---
name: security-scan
description: Deep security analysis of codebase. Scans for secrets, vulnerabilities, and insecure patterns.
context: fork
agent: Explore
allowed-tools: Read, Grep, Glob, Bash(git log *), Bash(pip-audit), Bash(npm audit), Bash(find * -name *)
disable-model-invocation: true
---

# Security Scan Instructions

Perform a comprehensive security scan on the codebase.

## 1. Secrets Detection

Search for exposed credentials:
- API keys and tokens (AWS, GCP, Stripe, etc.)
- Passwords and secrets
- Private keys and certificates
- Connection strings
- Environment variable references in code

### Patterns to Search
```
- password=
- api_key=
- secret=
- token=
- private_key
- -----BEGIN.*PRIVATE KEY-----
- AKIA[A-Z0-9]{16}  # AWS Access Key
- sk_live_  # Stripe
- ghp_  # GitHub Personal Token
```

## 2. Dependency Vulnerabilities

Check for vulnerable dependencies:
- Run: `pip-audit` (Python) or `npm audit` (JS)
- Check for CVEs in dependencies
- Identify outdated packages with known vulnerabilities

## 3. Code Vulnerabilities

Scan for:
- **SQL/NoSQL injection**: Unparameterized queries
- **Command injection**: Unsafe shell execution
- **XSS vulnerabilities**: Unsanitized user input in HTML
- **Path traversal**: Unchecked file paths
- **Insecure deserialization**: Unsafe pickle/yaml loading
- **Hardcoded credentials**: Passwords in source

## 4. Configuration Issues

Check for:
- Debug mode in production configs
- Permissive CORS settings
- Missing security headers
- Insecure default values

## Dynamic Context
- Package files: !`find . -name "package.json" -o -name "requirements.txt" -o -name "Gemfile" -o -name "go.mod" 2>/dev/null | head -10`
- Potential secrets: !`grep -r -l "password\|secret\|api_key\|token" --include="*.py" --include="*.js" --include="*.ts" --include="*.env*" 2>/dev/null | head -5`

## Output Format

Return a JSON security report:
```json
{
  "audit_summary": "Overall security assessment",
  "risk_level": "low|medium|high|critical",
  "findings": [
    {
      "id": "SEC-001",
      "title": "Hardcoded API Key Found",
      "severity": "critical",
      "category": "secrets",
      "file": "config/settings.py",
      "line": 15,
      "description": "AWS access key hardcoded in source file",
      "evidence": "AWS_ACCESS_KEY = 'AKIA...'",
      "remediation": "Move to environment variables or secrets manager",
      "cwe": "CWE-798"
    }
  ],
  "recommendations": [
    "Enable secret scanning in CI/CD",
    "Implement dependency vulnerability scanning"
  ],
  "dependencies_checked": true,
  "files_scanned": 42
}
```

## Severity Ratings

- **Critical**: Immediate exploitation risk, data breach potential
- **High**: Significant security weakness, should fix soon
- **Medium**: Security concern, plan to address
- **Low**: Minor issue or best practice suggestion

$ARGUMENTS

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.