What's the single biggest shift offensive work gives you?

Five years of trying to break things taught me more about defense than any defensive role could have.

The biggest shift: offensive work teaches you that attackers don't need to be clever if a system gives them an easy path. Most real findings weren't exotic zero-days — they were a missed access check or an overly trusted assumption somewhere ordinary.

Defenders overestimate attacker sophistication and underestimate attacker opportunism.

How does that insight actually change architecture decisions?

It reframes the first question in any design review. Instead of "is this control theoretically sound against a sophisticated attacker," the more useful question becomes "where's the path of least effort, and does anything actually block it." Most of the findings that mattered in five years of offensive work came from that second framing — an endpoint that trusted a client-supplied value it shouldn't have, an internal service that assumed only internal traffic would ever reach it, an access check that existed on one code path but not the identical one three files over.

That single insight — that opportunism, not sophistication, is the more common threat — has shaped every architecture decision I've made since moving to the defensive side. It's also, not coincidentally, exactly why secure-by-design conversations that ask "what could go wrong here" at the design stage catch so much more than a compliance checklist ever does.