Limit

Reduce blast radius when things go wrong.

Even the best defences sometimes fail. Limit is about containing the damage and recovering cleanly. Design with an assume-breach mindset and a single stolen token or bad package stays a small problem.

Why Limiting Impact Matters

Key insight: Containment is cheap resilience. You recover faster, and with far less reputational harm, when something does go wrong.

Containment Strategy

Credentials and Identity

Stolen credentials are the most common way a supply chain attack spreads. Make each one worth as little as possible.

Zero Trust and Segmentation

Zero trust means no component is trusted because of where it sits on the network. Every request is authenticated and authorised.

Build and CI Boundaries

Your pipeline is a high-value target. Keep a compromise in one step from reaching everything.

Build environments usually hold more secrets than production code does: signing keys, publish tokens, cloud roles. Every build plugin, Maven or Gradle extension and CI action runs with that access. Give the steps that run third-party build tooling the fewest secrets and the narrowest network access you can, and release signing and publish credentials only to the final job that needs them.

End-of-Life Components

An end-of-life component with a known vulnerability is permanent exposure. Nobody upstream will fix it, and future vulnerabilities may never get a CVE because nobody is looking. Sonatype's 2026 report estimates that 5-15% of components in enterprise dependency graphs are end of life.

Plan an exit path for each one:

See End-of-Life Dependencies.

Developer Machines and AI Agents

Data Protection Limits

Resilience Engineering

Feature Control

Resource Limits

Recovery Planning

Know Your Undo Buttons

Work these out in advance. During an incident is a bad time to read the documentation.

Practising these is the job of Exercise. Spotting that you need them is the job of Expose.

Limitation Checklist

Immediate Actions

Medium-term Goals

Advanced Resilience

Goal

Design systems that contain damage and recover cleanly when security controls fail.

Core Activities

Apply limitation principles to real scenarios:


Previous Stage: ← Fortify Next Stage: Expose →

With damage limitation designed in, learn to make attacks visible through monitoring and detection.