Security scan
Professional development studio for Claude Code CLI
npx -y skills add manastalukdar/ai-devstudio --skill security-scanAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Comprehensive security analysis with vulnerability detection and remediation tracking
SKILL.md
9.4 KB, as published. Nobody here has run it
Security Analysis
I'll perform comprehensive security analysis with tracking and remediation continuity across sessions.
Arguments: $ARGUMENTS - specific paths or security focus areas
Session Intelligence
I'll maintain security remediation progress:
Session Files (in current project directory):
security-scan/plan.md- All vulnerabilities and fixessecurity-scan/state.json- Remediation progress
IMPORTANT: Session files are stored in a security-scan folder in your current project root
Auto-Detection:
- If session exists: Show fixed vs pending vulnerabilities
- If no session: Perform new security scan
- Commands:
resume,status,new
Optimization: Determine Scan Scope (85% savings on focused scans)
# Default to changed files only (85% token savings)
FULL_SCAN=false
SCAN_PATH=""
case "$ARGUMENTS" in
*--full*) FULL_SCAN=true ;;
*) SCAN_PATH="$ARGUMENTS" ;;
esac
if [ "$FULL_SCAN" = false ] && [ -z "$SCAN_PATH" ]; then
# Default: Scan only changed files
FILES_TO_SCAN=$(git diff --name-only HEAD)
if [ -z "$FILES_TO_SCAN" ]; then
echo "✓ No changed files to scan"
echo "Use --full for complete project scan"
exit 0 # Early exit
fi
echo "Scanning changed files: $(echo "$FILES_TO_SCAN" | wc -l) files"
elif [ -n "$SCAN_PATH" ]; then
echo "Scanning path: $SCAN_PATH"
FILES_TO_SCAN=$(find "$SCAN_PATH" -type f 2>/dev/null)
else
echo "Scanning entire project (--full flag)"
FILES_TO_SCAN="**/*"
fi
Optimization: Pattern-Based Grep Detection (90% savings)
# Use Grep patterns to find vulnerabilities (100 tokens vs 5,000+ reading all files)
# Critical: Hardcoded secrets and credentials
SECRET_ISSUES=$(Grep pattern="password|secret|api[_-]?key|token|private[_-]?key" \
files="$FILES_TO_SCAN" output_mode="files_with_matches" head_limit=20)
# High: SQL injection and XSS vulnerabilities
INJECTION_ISSUES=$(Grep pattern="execute\(|query\(|innerHTML|dangerouslySetInnerHTML" \
files="$FILES_TO_SCAN" output_mode="files_with_matches" head_limit=20)
# Medium: Insecure configurations
CONFIG_ISSUES=$(Grep pattern="ssl.*false|verify.*false|allow.*origin.*\*" \
files="$FILES_TO_SCAN" output_mode="files_with_matches" head_limit=20)
# Count issues for early exit decision
CRITICAL_COUNT=$(echo "$SECRET_ISSUES" | wc -l)
if [ $CRITICAL_COUNT -eq 0 ]; then
echo "✓ No critical security issues found in scanned files"
echo "Run with --full for complete project scan"
exit 0 # Early exit when no critical issues (95% savings)
fi
echo "Found $CRITICAL_COUNT potential critical issues, analyzing..."
Phase 1: Security Assessment (Optimized)
Extended Thinking for Security Analysis
For complex security scenarios, I'll use extended thinking to identify sophisticated vulnerabilities:
<think> When analyzing security: - Attack vectors that aren't immediately obvious - Chain vulnerabilities that individually seem harmless - Business logic flaws that enable exploitation - Timing attacks and race conditions - Supply chain vulnerabilities in dependencies - Architectural weaknesses that enable lateral movement </think>Triggers for Extended Analysis:
- Authentication and authorization systems
- Financial transaction processing
- Cryptographic implementations
- Multi-tenant architectures
- API security boundaries
MANDATORY FIRST STEPS:
- Check if
security-scandirectory exists in current working directory - If directory exists, check for session files:
- Look for
security-scan/state.json - Look for
security-scan/plan.md - If found, resume from existing session
- Look for
- If no directory or session exists:
- Perform full security scan
- Create vulnerability report
- Initialize tracking
- Show risk summary before remediation
Note: Always look for session files in the current project's security-scan/ folder, not ../../../security-scan/ or absolute paths
I'll analyze security across dimensions:
Vulnerability Detection:
- Hardcoded secrets and credentials
- Dependency vulnerabilities
- Insecure configurations
- Input validation issues
- Authentication weaknesses
Risk Categorization with Progressive Disclosure (65% savings):
Critical Issues (show full details immediately):
- Hardcoded credentials and API keys
- SQL injection vulnerabilities
- Authentication bypasses
- Remote code execution risks
High Priority (summarize with file locations):
- XSS vulnerabilities
- Insecure deserialization
- Path traversal issues
- Weak cryptography
Medium/Low Priority (count only by default):
- Configuration improvements
- Dependency updates
- Best practice recommendations
- "Run with --verbose for full details"
Example Output:
SECURITY SCAN RESULTS
Critical (3):
1. Hardcoded API key in src/config/keys.ts:15
2. SQL injection in src/api/users.ts:42
3. Exposed secret in .env.example:8
High (5): Summarized (run --verbose for details)
Medium (12): Configuration and best practices
Low (8): Dependency updates available
Total: 28 issues (3 critical require immediate attention)
Optimization: Cache Scan Results (80% savings on unchanged files)
# Save scan results with file checksums for future comparisons
mkdir -p .claude/cache/security
cat > .claude/cache/security/last-scan.json <<EOF
{
"timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
"scanned_files": $(echo "$FILES_TO_SCAN" | wc -l),
"issues": {
"critical": $CRITICAL_COUNT,
"high": $(echo "$INJECTION_ISSUES" | wc -l),
"medium": $(echo "$CONFIG_ISSUES" | wc -l),
"low": 0
},
"files": {
$(echo "$FILES_TO_SCAN" | while read file; do
if [ -f "$file" ]; then
CHECKSUM=$(md5sum "$file" 2>/dev/null | cut -d' ' -f1)
echo "\"$file\": {\"checksum\": \"$CHECKSUM\", \"scanned\": true}"
fi
done | paste -sd,)
}
}
EOF
echo "✓ Scan results cached for future comparisons"
Phase 2: Remediation Planning (Optimized)
Priority Order:
- Critical credential exposures
- High-risk vulnerabilities
- Dependency updates
- Configuration hardening
- Code pattern improvements
I'll write this plan to security-scan/plan.md with:
- Each vulnerability details
- Risk assessment
- Remediation approach
- Verification method
Phase 3: Intelligent Remediation
I'll fix vulnerabilities appropriately:
Remediation Patterns:
- Secrets → Environment variables
- Hardcoded values → Configuration files
- Weak validation → Strong patterns
- Outdated deps → Safe updates
Safe Practices:
- Never log sensitive data
- Use secure defaults
- Apply principle of least privilege
- Implement defense in depth
Phase 4: Incremental Fixing
I'll remediate systematically:
Execution Process:
- Create git checkpoint
- Fix vulnerability safely
- Verify fix doesn't break functionality
- Update plan with completion
- Move to next vulnerability
Progress Tracking:
- Mark each fix in plan
- Update state with decisions
- Create security-focused commits
Phase 5: Verification
After each remediation:
- Test functionality preserved
- Verify vulnerability resolved
- Check for new issues introduced
- Update security documentation
Context Continuity
Session Resume:
When you return and run /security-scan or /security-scan resume:
- Load vulnerability list and progress
- Show remediation statistics
- Continue from last fix
- Maintain fix decisions
Progress Example:
RESUMING SECURITY REMEDIATION
├── Total Vulnerabilities: 23
├── Fixed: 15 (65%)
├── Critical: 0 remaining
├── High: 3 remaining
└── Next: SQL injection in UserQuery
Continuing remediation...
Practical Examples
Start Scanning:
/security-scan # Full project scan
/security-scan src/api/ # Focus on API
/security-scan "credentials" # Credential focus
Session Control:
/security-scan resume # Continue remediation
/security-scan status # Check progress
/security-scan new # Fresh scan
Safety Guarantees
Protection Measures:
- Git checkpoint before fixes
- Functionality preservation
- No security regression
- Clear audit trail
Important: I will NEVER:
- Expose secrets in commits
- Break existing security
- Add AI attribution
- Log sensitive data
Skill Integration
When appropriate for critical security fixes:
/test- Verify functionality after security patches/commit- Create security-focused commits with proper messages
What I'll Actually Do
- Deep analysis - Use extended thinking for complex threats
- Scan thoroughly - Find all vulnerabilities
- Prioritize wisely - Critical issues first
- Fix safely - Preserve functionality
- Track completely - Perfect continuity
- Verify constantly - Ensure security improved
I'll maintain complete continuity between sessions, always resuming exactly where we left off with full remediation context.
Token Optimization
Expected range: 1,000–3,000 tokens (initial), 200 tokens (cache hit)
Caching: Caches last scan results in .claude/cache/security/last-scan.json for 7 days. Invalidated on new commits.
Early exit: Returns immediately after N critical findings to surface high-severity issues first.
Patterns used: Grep-before-Read, early exit, git diff scope default, caching, progressive disclosure