Vulnerability Scanner
Think like an attacker, defend like an expert. 2025 threat landscape awareness.
🔧 Runtime Scripts
Execute for automated validation:
| Script |
Purpose |
Usage |
scripts/security_scan.py |
Validate security principles applied |
python scripts/security_scan.py <project_path> |
📋 Reference Files
| File |
Purpose |
| checklists.md |
OWASP Top 10, Auth, API, Data protection checklists |
1. Security Expert Mindset
Core Principles
| Principle |
Application |
| Assume Breach |
Design as if attacker already inside |
| Zero Trust |
Never trust, always verify |
| Defense in Depth |
Multiple layers, no single point |
| Least Privilege |
Minimum required access only |
| Fail Secure |
On error, deny access |
Threat Modeling Questions
Before scanning, ask:
- What are we protecting? (Assets)
- Who would attack? (Threat actors)
- How would they attack? (Attack vectors)
- What's the impact? (Business risk)
2. OWASP Top 10:2025
Risk Categories
| Rank |
Category |
Think About |
| A01 |
Broken Access Control |
Who can access what? IDOR, SSRF |
| A02 |
Security Misconfiguration |
Defaults, headers, exposed services |
| A03 |
Software Supply Chain 🆕 |
Dependencies, CI/CD, build integrity |
| A04 |
Cryptographic Failures |
Weak crypto, exposed secrets |
| A05 |
Injection |
User input → system commands |
| A06 |
Insecure Design |
Flawed architecture |
| A07 |
Authentication Failures |
Session, credential management |
| A08 |
Integrity Failures |
Unsigned updates, tampered data |
| A09 |
Logging & Alerting |
Blind spots, no monitoring |
| A10 |
Exceptional Conditions 🆕 |
Error handling, fail-open states |
2025 Key Changes
2021 → 2025 Shifts:
├── SSRF merged into A01 (Access Control)
├── A02 elevated (Cloud/Container configs)
├── A03 NEW: Supply Chain (major focus)
├── A10 NEW: Exceptional Conditions
└── Focus shift: Root causes > Symptoms
3. Supply Chain Security (A03)
Attack Surface
| Vector |
Risk |
Question to Ask |
| Dependencies |
Malicious packages |
Do we audit new deps? |
| Lock files |
Integrity attacks |
Are they committed? |
| Build pipeline |
CI/CD compromise |
Who can modify? |
| Registry |
Typosquatting |
Verified sources? |
Defense Principles
- Verify package integrity (checksums)
- Pin versions, audit updates
- Use private registries for critical deps
- Sign and verify artifacts
4. Attack Surface Mapping
What to Map
| Category |
Elements |
| Entry Points |
APIs, forms, file uploads |
| Data Flows |
Input → Process → Output |
| Trust Boundaries |
Where auth/authz checked |
| Assets |
Secrets, PII, business data |
Prioritization Matrix
Risk = Likelihood × Impact
High Impact + High Likelihood → CRITICAL
High Impact + Low Likelihood → HIGH
Low Impact + High Likelihood → MEDIUM
Low Impact + Low Likelihood → LOW
5. Risk Prioritization
CVSS + Context
| Factor |
Weight |
Question |
| CVSS Score |
Base severity |
How severe is the vuln? |
| EPSS Score |
Exploit likelihood |
Is it being exploited? |
| Asset Value |
Business context |
What's at risk? |
| Exposure |
Attack surface |
Internet-facing? |
Prioritization Decision Tree
Is it actively exploited (EPSS >0.5)?
├── YES → CRITICAL: Immediate action
└── NO → Check CVSS
├── CVSS ≥9.0 → HIGH
├── CVSS 7.0-8.9 → Consider asset value
└── CVSS <7.0 → Schedule for later
6. Exceptional Conditions (A10 - New)
Fail-Open vs Fail-Closed
| Scenario |
Fail-Open (BAD) |
Fail-Closed (GOOD) |
| Auth error |
Allow access |
Deny access |
| Parsing fails |
Accept input |
Reject input |
| Timeout |
Retry forever |
Limit + abort |
What to Check
- Exception handlers that catch-all and ignore
- Missing error handling on security operations
- Race conditions in auth/authz
- Resource exhaustion scenarios
7. Scanning Methodology
Phase-Based Approach
1. RECONNAISSANCE
└── Understand the target
├── Technology stack
├── Entry points
└── Data flows
2. DISCOVERY
└── Identify potential issues
├── Configuration review
├── Dependency analysis
└── Code pattern search
3. ANALYSIS
└── Validate and prioritize
├── False positive elimination
├── Risk scoring
└── Attack chain mapping
4. REPORTING
└── Actionable findings
├── Clear reproduction steps
├── Business impact
└── Remediation guidance
8. Code Pattern Analysis
High-Risk Patterns
| Pattern | Risk | Look For |
|---------
1---2name: vulnerability-scanner3description: Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.4---567# Vulnerability Scanner89> Think like an attacker, defend like an expert. 2025 threat landscape awareness.1011## 🔧 Runtime Scripts1213**Execute for automated validation:**1415| Script | Purpose | Usage |16|--------|---------|-------|17| `scripts/security_scan.py` | Validate security principles applied | `python scripts/security_scan.py <project_path>` |1819## 📋 Reference Files2021| File | Purpose |22|------|---------|23| [checklists.md](checklists.md) | OWASP Top 10, Auth, API, Data protection checklists |2425---2627## 1. Security Expert Mindset2829### Core Principles3031| Principle | Application |32|-----------|-------------|33| **Assume Breach** | Design as if attacker already inside |34| **Zero Trust** | Never trust, always verify |35| **Defense in Depth** | Multiple layers, no single point |36| **Least Privilege** | Minimum required access only |37| **Fail Secure** | On error, deny access |3839### Threat Modeling Questions4041Before scanning, ask:421. What are we protecting? (Assets)432. Who would attack? (Threat actors)443. How would they attack? (Attack vectors)454. What's the impact? (Business risk)4647---4849## 2. OWASP Top 10:20255051### Risk Categories5253| Rank | Category | Think About |54|------|----------|-------------|55| **A01** | Broken Access Control | Who can access what? IDOR, SSRF |56| **A02** | Security Misconfiguration | Defaults, headers, exposed services |57| **A03** | Software Supply Chain 🆕 | Dependencies, CI/CD, build integrity |58| **A04** | Cryptographic Failures | Weak crypto, exposed secrets |59| **A05** | Injection | User input → system commands |60| **A06** | Insecure Design | Flawed architecture |61| **A07** | Authentication Failures | Session, credential management |62| **A08** | Integrity Failures | Unsigned updates, tampered data |63| **A09** | Logging & Alerting | Blind spots, no monitoring |64| **A10** | Exceptional Conditions 🆕 | Error handling, fail-open states |6566### 2025 Key Changes6768```692021 → 2025 Shifts:70├── SSRF merged into A01 (Access Control)71├── A02 elevated (Cloud/Container configs)72├── A03 NEW: Supply Chain (major focus)73├── A10 NEW: Exceptional Conditions74└── Focus shift: Root causes > Symptoms75```7677---7879## 3. Supply Chain Security (A03)8081### Attack Surface8283| Vector | Risk | Question to Ask |84|--------|------|-----------------|85| **Dependencies** | Malicious packages | Do we audit new deps? |86| **Lock files** | Integrity attacks | Are they committed? |87| **Build pipeline** | CI/CD compromise | Who can modify? |88| **Registry** | Typosquatting | Verified sources? |8990### Defense Principles9192- Verify package integrity (checksums)93- Pin versions, audit updates94- Use private registries for critical deps95- Sign and verify artifacts9697---9899## 4. Attack Surface Mapping100101### What to Map102103| Category | Elements |104|----------|----------|105| **Entry Points** | APIs, forms, file uploads |106| **Data Flows** | Input → Process → Output |107| **Trust Boundaries** | Where auth/authz checked |108| **Assets** | Secrets, PII, business data |109110### Prioritization Matrix111112```113Risk = Likelihood × Impact114115High Impact + High Likelihood → CRITICAL116High Impact + Low Likelihood → HIGH117Low Impact + High Likelihood → MEDIUM118Low Impact + Low Likelihood → LOW119```120121---122123## 5. Risk Prioritization124125### CVSS + Context126127| Factor | Weight | Question |128|--------|--------|----------|129| **CVSS Score** | Base severity | How severe is the vuln? |130| **EPSS Score** | Exploit likelihood | Is it being exploited? |131| **Asset Value** | Business context | What's at risk? |132| **Exposure** | Attack surface | Internet-facing? |133134### Prioritization Decision Tree135136```137Is it actively exploited (EPSS >0.5)?138├── YES → CRITICAL: Immediate action139└── NO → Check CVSS140 ├── CVSS ≥9.0 → HIGH141 ├── CVSS 7.0-8.9 → Consider asset value142 └── CVSS <7.0 → Schedule for later143```144145---146147## 6. Exceptional Conditions (A10 - New)148149### Fail-Open vs Fail-Closed150151| Scenario | Fail-Open (BAD) | Fail-Closed (GOOD) |152|----------|-----------------|---------------------|153| Auth error | Allow access | Deny access |154| Parsing fails | Accept input | Reject input |155| Timeout | Retry forever | Limit + abort |156157### What to Check158159- Exception handlers that catch-all and ignore160- Missing error handling on security operations161- Race conditions in auth/authz162- Resource exhaustion scenarios163164---165166## 7. Scanning Methodology167168### Phase-Based Approach169170```1711. RECONNAISSANCE172 └── Understand the target173 ├── Technology stack174 ├── Entry points175 └── Data flows1761772. DISCOVERY178 └── Identify potential issues179 ├── Configuration review180 ├── Dependency analysis181 └── Code pattern search1821833. ANALYSIS184 └── Validate and prioritize185 ├── False positive elimination186 ├── Risk scoring187 └── Attack chain mapping1881894. REPORTING190 └── Actionable findings191 ├── Clear reproduction steps192 ├── Business impact193 └── Remediation guidance194```195196---197198## 8. Code Pattern Analysis199200### High-Risk Patterns201202| Pattern | Risk | Look For |203|---------