Files
SlipItIn/.github/skills/security-specialist/steering/attack-paths.md
Tim Krampitz 01046b01e4 Neue Skills, Referenzen & OpenWiki-Doku integriert
Umfangreiche Erweiterung der Skill-Bibliothek: Neue Skills für Humanisierung (Englisch/PT-BR), Design-Validierung, AI-SEO und Coolify-Deployment inkl. Regelwerke, Presets, Pattern-Referenzen, Testfälle und Automatisierungsskripte. Zusätzliche Skills für Revenue-Centric Design, Pier Cloud, OKF, Lebenslauf- und LinkedIn-Optimierung sowie zahlreiche Referenzdateien, Checklisten und YAML/JSON/Markdown-Templates. Einführung einer vollständigen OpenWiki-Dokumentation mit Architektur-, Domain- und Workflow-Beschreibungen, zentralem Index und automatisierten Updates. Modularer Aufbau, restriktive Lizenzen und umfassende Qualitäts- und Evaluationsmechanismen für alle neuen Inhalte.
2026-07-26 14:00:58 +02:00

5.5 KiB
Raw Blame History

Attack Path Tracing

Purpose

Map the exploitation path for a confirmed or suspected vulnerability. Starts from a finding, traces backward to entry point and forward to impact. Produces a realistic severity assessment based on actual exploitability — not theoretical worst-case.

When to Use

  • A finding from steering/full-scan.md or steering/discovery.md needs severity validation
  • Triaging whether a vulnerability is actually reachable
  • Building proof-of-concept narratives for critical findings
  • Disputing or confirming a severity rating

Step 1: Start from the Finding

Document the vulnerability anchor:

  • What: The vulnerable code (file, line, function)
  • Class: Injection, auth bypass, IDOR, SSRF, path traversal, etc.
  • Primitive: What the attacker gains if this fires (read arbitrary data, execute code, escalate privilege)

Step 2: Trace Entry Point → Vulnerability

Work backward. How does attacker-controlled input reach the vulnerable code?

Map the chain:

Entry Point (HTTP route, message queue, CLI arg)
  → Input processing (parsing, deserialization)
    → Validation (what checks exist between entry and sink)
      → Intermediate transforms (encoding, type conversion, mapping)
        → Vulnerable code (the sink)

At each hop, document:

  • What data flows through
  • What transformations or filters apply
  • Whether the attacker retains control over the data

If a hop breaks the chain (e.g., input is cast to integer before reaching SQL query), the path is dead. Document why and downgrade.

Step 3: Identify Prerequisites

What must be true for the attack to work?

Factor Questions
Authentication Does the attacker need a valid session? What role?
Network position Must they be on the internet, internal network, localhost?
Application state Does a specific condition need to exist (feature flag, data in DB)?
Race condition Is timing critical? How tight is the window?
User interaction Does a victim need to click/visit something?
Chaining Does this require another vulnerability to be exploitable first?

Each prerequisite reduces exploitability. Stack them honestly.

Step 4: Map Impact Forward

From the vulnerable code, what happens when it fires?

Vulnerable code triggers
  → Immediate effect (SQL executes, file reads, command runs)
    → Data accessed/modified (what exactly)
      → Lateral movement possible? (pivot to other services, escalate)
        → Final impact (data breach, RCE, account takeover, DoS)

Be specific about impact scope:

  • Single user's data vs. all users
  • Read-only vs. read-write
  • Contained to one service vs. cross-service pivot
  • Persistent vs. one-shot

Step 5: Check Existing Mitigations

Before finalizing severity, verify what's already blocking this path:

  • WAF/rate limiting — does it catch this payload pattern?
  • Framework protections — auto-escaping, parameterized queries, CSRF tokens
  • Network policy — is the target service isolated?
  • Monitoring/alerting — would exploitation trigger alerts?
  • Input validation upstream — is there a check we missed?

If mitigations exist, document them and assess residual risk. A mitigated path is still a finding (defense in depth matters), but severity drops.

Step 6: Assign Severity

Use this matrix — exploitability × impact:

Critical Impact High Impact Medium Impact Low Impact
Easy to exploit (unauth, no prereqs) Critical High Medium Low
Moderate (auth required, simple chain) High High Medium Low
Difficult (multi-step chain, race, internal network) High Medium Low Info
Very difficult (requires prior RCE, admin, physical) Medium Low Info Info

Impact levels:

  • Critical — RCE, full data breach, complete auth bypass
  • High — significant data exposure, privilege escalation, account takeover
  • Medium — limited data leak, single-user impact, partial bypass
  • Low — information disclosure, minor integrity issue

Step 7: Document the Path

Output format:

## Attack Path: <Title>

**Finding Reference:** <link to finding in scan DB>
**Final Severity:** <Critical/High/Medium/Low/Info>

### Chain

1. Attacker sends [specific input] to [entry point]
2. Input passes through [component] where [transform happens]
3. Reaches [vulnerable code] at [file:line]
4. Triggers [primitive] resulting in [immediate effect]
5. Attacker gains [final impact]

### Prerequisites
- [List each requirement]

### Mitigations Present
- [List what partially blocks this]

### Mitigations Absent
- [List what should exist but doesn't]

### Evidence
[Code snippets, data flow diagram, or PoC outline]

Step 8: Recommend Action

Based on the path analysis:

  • Critical/High with easy exploit → Fix immediately, consider if already exploited
  • Medium → Fix in next sprint, add detection
  • Low/Info → Track, fix opportunistically
  • Mitigated but structurally present → Harden, don't ignore. Mitigations fail.

Notes

  • Real severity comes from the PATH, not the pattern. SQLi behind three auth gates and only reaching a public data table is not critical.
  • Conversely, a "low-severity" IDOR that leaks all customer records is critical regardless of what the textbook says about IDORs.
  • If you can't trace a complete path from entry to impact, the finding might be theoretical. Say so explicitly rather than inflating.
  • Attack paths compound. Two medium findings that chain into a critical outcome should be reported as critical.