← CodeClarityLab Home
Browse by Category
+ added · updated 7d
← Back to glossary

Attack Chain / Cyber Kill Chain

security Advanced
debt(d8/e7/b6/t7)
d8 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'silent in production until users hit it' (d9), -1. The detection_hints note automated detection as 'no'. While tools like Semgrep and Burp Suite can detect individual vulnerabilities in the chain, recognizing that multiple low-severity findings combine into a critical attack chain requires manual threat modelling and expert analysis. Individual links may be flagged, but the chain relationship itself is nearly invisible to tooling — only careful security review or red-team exercises surface it. Scored d8 rather than d9 because individual steps can sometimes be caught.

e7 Effort Remediation debt — work required to fix once spotted

Closest to 'cross-cutting refactor across the codebase' (e7). The quick_fix says 'fix low-severity findings that could be combined with others,' but this is deceptively simple advice. In practice, addressing attack chains requires fixing multiple vulnerabilities across different layers (information disclosure in error handling, LFI in file access, auth weaknesses) — these span multiple files and components. The common_mistakes highlight that fixing one high-severity step while ignoring enabling vulnerabilities is insufficient, meaning proper remediation touches error handling, input validation, authentication, and authorization across the codebase.

b6 Burden Structural debt — long-term weight of choosing wrong

Closest to 'persistent productivity tax' (b5), +1. Attack chain thinking applies across all contexts (web, api, cli) and is a threat-modelling discipline that must be maintained continuously. It's not just a one-time fix but a persistent mental model that affects how every vulnerability is triaged and prioritized. It doesn't quite define the system's shape (b9) or create strong gravitational pull (b7), but it does impose an ongoing tax on security processes and triage workflows across the organization, slightly beyond b5.

t7 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'serious trap — contradicts how a similar concept works elsewhere' (t7). The misconception is explicit and dangerous: 'Fixing one vulnerability in a chain prevents the full attack.' This directly contradicts the intuitive mental model most developers have from CVSS-based triage, where each vulnerability is assessed in isolation. Developers trained to fix the highest-severity issue first naturally assume the chain is broken, but attackers pivot. The common_mistakes reinforce this: accepting low CVSS scores as low risk without considering chain potential is the default behavior.

About DEBT scoring →

Also Known As

exploit chain kill chain attack sequence

TL;DR

A sequential model of cyberattack stages from reconnaissance to exfiltration — used to identify optimal detection and disruption points.

Explanation

The Cyber Kill Chain (Lockheed Martin) and MITRE ATT&CK model attacks as sequences: Reconnaissance, Weaponisation, Delivery, Exploitation, Installation, Command & Control, then Actions on Objectives. Understanding the chain helps defenders identify the earliest disruption point — blocking delivery via a WAF is far cheaper than responding to active exfiltration. For PHP web applications, a typical chain runs: automated scanner reconnaissance, SQLi or file upload exploitation, webshell installation, reverse shell C2, then database dump. Defence-in-depth aims to break the chain at multiple simultaneous stages.

Diagram

flowchart TD
    RECON[Reconnaissance<br/>scan ports, find subdomains] -->
    ENUM[Enumeration<br/>find login, API endpoints] -->
    EXPLOIT[Initial Exploit<br/>SQL injection / XSS] -->
    ACCESS[Initial Access<br/>read DB / steal session] -->
    PRIV[Privilege Escalation<br/>admin account] -->
    PERSIST[Persistence<br/>backdoor / cron job] -->
    EXFIL[Data Exfiltration<br/>customer records]
    DEFEND[Defence in Depth<br/>stop at any stage] -.->|blocks| EXPLOIT & ACCESS & PRIV
style RECON fill:#f85149,color:#fff
style EXFIL fill:#f85149,color:#fff
style DEFEND fill:#238636,color:#fff

Watch Out

Organisations that fix only critical-severity findings leave attack chains intact — an attacker chaining three "medium" issues can achieve the same impact as a single critical. Remediate findings that appear early in common chains first.

Common Misconception

Fixing one vulnerability in a chain prevents the full attack. Attackers pivot — removing one step forces them to find an alternative, but a four-step chain with one step removed is still a three-step attack.

Why It Matters

Real attacks rarely exploit a single vulnerability — they chain low-severity issues into high-impact compromise. Treating vulnerabilities in isolation understates the actual risk.

Common Mistakes

  • Accepting low CVSS scores as low risk without considering chain potential with other issues.
  • Fixing a high-severity step in a chain while ignoring enabling vulnerabilities that still allow reconstitution.
  • Threat modelling single vulnerabilities rather than attacker goals and multi-step paths to achieve them.
  • Not considering that information disclosure findings enable injection or authentication attacks downstream.

Avoid When

  • Do not dismiss individual low-severity findings without checking whether they are part of a chain — information disclosure + IDOR + privilege escalation can each be "low" severity individually.

When To Use

  • Use attack chain thinking during threat modelling to evaluate how low-severity findings combine into critical paths — a finding that seems minor in isolation may be the missing link in a chain.
  • Apply it when triaging security reports: trace each finding backward (what does an attacker need first?) and forward (what does this enable next?).

Code Examples

💡 Note
The bad example leaks internal host and credentials in a debug header — trivial on its own, but it provides the reconnaissance step that makes a subsequent SSRF or credential-stuffing attack trivially easy.
✗ Vulnerable
// Information disclosure enables the chain:
header('X-Debug-Info: DB_HOST=db.internal DB_PASS=s3cr3t'); // Step 1: leaks creds
// Attacker uses creds to access admin endpoint:
// GET /admin/export?table=users — no auth check (Step 2: privilege escalation)
✓ Fixed
# Attack chains combine individually low-severity issues into critical impact

# Example: Stored XSS + CSRF bypass + privilege escalation
# Step 1: Attacker stores XSS in profile bio (stored XSS — Medium)
# Step 2: Admin views profile — XSS fires in admin session
# Step 3: XSS POSTs to /admin/create-user with admin role (CSRF — Medium)
# Result: Attacker has admin account (Critical)

# Defence: each layer stops the chain
# Input sanitisation → stops Step 1
# CSP → stops Step 2 even if Step 1 slips through
# SameSite=Strict → stops Step 3 even if Steps 1+2 succeed

# In threat modelling: trace multi-step attack paths, not just single issues

Added 15 Mar 2026
Edited 31 Mar 2026
Views 23
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W 0 pings T 0 pings F 0 pings S 0 pings S 1 ping M 0 pings T 0 pings W 2 pings T 1 ping F 0 pings S 0 pings S 0 pings M 1 ping T 1 ping W 0 pings T 1 ping F 0 pings S 0 pings S 0 pings M 0 pings T 0 pings W 1 ping T 1 ping F 0 pings S
No pings yet today
Amazonbot 7 Perplexity 3 Unknown AI 3 SEMrush 3 Google 2 Ahrefs 2 ChatGPT 2
crawler 19 crawler_json 2 pre-tracking 1
DEV INTEL Tools & Severity
🟠 High ⚙ Fix effort: Medium
⚡ Quick Fix
Think in chains: an information disclosure (stack trace) that reveals a path, combined with an LFI, becomes a full compromise — fix low-severity findings that could be combined with others
📦 Applies To
any web api cli
🔗 Prerequisites
🔍 Detection Hints
Stack traces in production responses; verbose error messages revealing paths; multiple low-severity issues that could be chained
Auto-detectable: ✗ No semgrep burpsuite
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: High ✗ Manual fix Fix: High Context: File

✓ schema.org compliant