Learn / Attack archive / Lesson 20

Why breaches happen — the six patterns

The start of the attack archive. Almost every recent breach reuses one of six gaps, and knowing the six is worth more than knowing any single attack.

Last updated: 2026-09-23

What it is

This section of the course is an archive of real attacks, most of them from 2023 to 2026. Each lesson takes one kind of attack, walks through the incidents that made the news, and explains the gap that let the attacker in.

Read enough breach reports and they start to repeat. The tools change every year. The gaps behind them barely change at all. Nearly every incident in this archive fits one of six:

PatternThe gapLessons
1. Someone else's codeYou run code you did not write and did not checkPoisoned packages, framework flaws
2. A password is the only lockA stolen or reused password opens the doorStolen logins, phishing that beats MFA
3. People can be talked into itA helpful human resets access for the wrong personHelp desks and admin consoles
4. A token outlives its purposeA session or API token is stolen and still worksStolen tokens and connected apps
5. The front door is unpatchedAn internet-facing box has a known holeEdge devices and mass exploitation
6. Nobody locked itA bucket, database or admin panel was open by defaultOpen buckets and default passwords

Two newer forces now sit on top of all six: AI agents that find and chain these gaps at machine speed, and floods big enough to knock a site offline without breaking in at all. Each has its own lesson.

Why it is a rule

None of these needed a genius. Each needed one gap that nobody had closed.

How to do it

Use the six patterns as a checklist against your own system:

  1. List the code you run but did not write. Packages, CI actions, browser scripts, vendor appliances. Each one is a door.
  2. Find every login that is only a password. Staff tools, cloud consoles, the database, the domain registrar.
  3. Write down who can reset access, and how they check who is asking.
  4. List every long-lived token. API keys, OAuth grants to third-party apps, CI secrets.
  5. List every service reachable from the internet and when each was last patched.
  6. Check that every store of data is private by default.

Then read the lesson for whichever list scared you most.

How we do it here

We review the site against these six patterns rather than against a list of named attacks, because the patterns change far more slowly than the attacks do. The rest of this course covers the specific defences.

Benefits

Disadvantages

Checklist

Sources

Read this lesson as Markdown