AI Skill Report Card
Generated Skill
Security Code Testing
Quick Start
Python# Basic security scan checklist def quick_security_scan(codebase_path): checks = [ "SQL injection vulnerabilities", "XSS attack vectors", "Authentication bypasses", "Input validation gaps", "Privilege escalation paths", "Data exposure risks" ] return run_security_analysis(codebase_path, checks)
Recommendation▾
Consider adding more specific examples
Workflow
Progress:
- Static Analysis - Scan code for known vulnerability patterns
- Dynamic Testing - Test running application with malicious inputs
- Authentication Review - Verify access controls and session management
- Data Flow Analysis - Trace sensitive data handling
- Dependency Audit - Check third-party libraries for known CVEs
- Configuration Review - Validate security settings and environment
- Report Generation - Document findings with severity levels
Static Analysis Phase
- Run automated tools (Bandit, SemGrep, CodeQL)
- Manual code review focusing on:
- Input sanitization
- Output encoding
- Cryptographic implementations
- Error handling
Dynamic Testing Phase
- Deploy to test environment
- Perform penetration testing:
- Injection attacks (SQL, NoSQL, LDAP, OS)
- Broken authentication
- Sensitive data exposure
- Security misconfiguration
Recommendation▾
Include edge cases
Examples
Example 1: SQL Injection Detection Input:
Pythonquery = f"SELECT * FROM users WHERE id = {user_id}" cursor.execute(query)
Output:
CRITICAL: SQL Injection vulnerability
Location: line 23, user_controller.py
Fix: Use parameterized queries
Recommended: cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
Example 2: XSS Vulnerability Input:
JavaScriptdocument.innerHTML = "<div>" + userInput + "</div>";
Output:
HIGH: XSS vulnerability - unescaped user input
Location: line 45, profile.js
Fix: Sanitize input before DOM insertion
Recommended: Use textContent or DOMPurify library
Best Practices
- Automate first - Use SAST/DAST tools before manual review
- Test early - Integrate security testing in CI/CD pipeline
- Prioritize by risk - Focus on high-impact, high-probability vulnerabilities
- Document everything - Maintain detailed logs of tests and findings
- Retest fixes - Verify vulnerabilities are properly resolved
- Stay updated - Monitor OWASP Top 10 and CVE databases
Common Pitfalls
- Testing only happy paths - Always test edge cases and malformed inputs
- Ignoring business logic flaws - Look beyond technical vulnerabilities
- Assuming frameworks are secure - Verify security configurations
- Testing in production - Use isolated environments for security testing
- Incomplete threat modeling - Consider all attack vectors for the application
- False sense of security - Automated tools miss context-specific vulnerabilities