skip to content

Core Concepts and Threat Actors

You will follow one flaw from the identifier that names it to the working attack it becomes and the adversary who runs it. Interviewers open here because the confident answer is usually wrong.

on this pageshow

explore

questions

page 1 of 2

A flaw requires a valid account to exploit. Why is that not a reason to call it low risk?

level: juniorimportance: must knowfreq 62%

answer

  1. position in an intrusion, not difficulty
  2. who already holds that position?
  3. count the population, not the steps
  4. authenticated is not the same as trusted
  5. self-service signup collapses the distinction

basics

~10 s

A precondition says where in an intrusion a flaw becomes usable, not how hard the attack is. Accounts are widely held and cheap to obtain, so "authenticated only" excludes almost no adversary.

solid answer

~50 s

A precondition is a position, not a barrier. "Requires a valid account" tells you the flaw is usable from the moment someone has any account, which places it just after initial access rather than out of reach. The next question is always who already holds that position: every employee and contractor, every self-service signup on a multi-tenant product, every service account whose password sits in a repository, and anyone who buys or phishes a working credential. On a product where anyone with an email address can register, "authenticated" is functionally the same audience as "unauthenticated". What the precondition genuinely changes is the actor set and the shape of the attack, because it forces a preceding step; it does not make the flaw unreachable. Ranking a backlog by how many preconditions each entry lists is the mistake this question is testing for.

go deeper

for a junior

Be ready to say what a precondition is and to give the population test in one line: who already has an account here? Do not equate 'needs authentication' with 'hard to reach'.

for a middle

Explain why the same wording carries different weight on a self-service multi-tenant product than on a hand-provisioned internal tool, and name the concrete ways an attacker obtains a working credential.

for a senior

Show that you rate chains rather than rows, and that you can spot the pair where an unauthenticated finding supplies the account that an authenticated finding needs.

for a principal

Own the consequence for how a whole programme sorts work: any ranking driven by advisory wording rather than by who holds the position will misorder the backlog consistently, not occasionally.

## What a precondition actually is A precondition is the state of the world that must already hold before an exploit's first instruction runs. The common ones are short and familiar: the attacker needs an account on the system, needs to be running code on the host already, needs a person to click something, or needs to be on the same network segment as the target. There are two ways to read that list, and only one of them is right. **The wrong reading is a difficulty scale.** Under this reading, preconditions are obstacles stacked in front of the flaw: three preconditions is harder than one, and harder means lower risk. This produces the classic backlog sorted by precondition count, where "unauthenticated, no interaction" floats to the top and "authenticated, local" sinks whether or not anyone has checked what those words mean in this particular estate. **The right reading is a coordinate.** A precondition names the stage of an intrusion at which the flaw becomes usable. "Requires a valid account" does not say the attack is hard; it says the flaw belongs to the phase after initial access. Since initial access is a thing adversaries do routinely, for a living, all day, that placement is a description of *when* the flaw pays out, not a claim that it never will. ## The population test The test that converts the coordinate into a real judgment is a single question: **who already holds this position?** Enumerate them honestly: - Every employee and every contractor with a directory account. - Every customer, if the product is multi-tenant and self-service. On a system anyone can sign up for with a credit card or a free trial, "requires authentication" describes the entire internet with one extra minute of work. - Every service account, including the ones whose credentials are checked into a repository or baked into an image. - Anyone holding a credential obtained by phishing, by reuse against a breach corpus, or by purchase. Working credentials are among the cheapest things an adversary can acquire, which is precisely why credential theft is such a large share of real intrusions. - Anyone holding a live session or token, which is not the same population as "people who know a password". If that enumeration returns thousands of principals, the precondition is not a barrier. It is a formality, and the honest severity of the flaw is close to what it would be with no precondition at all. ## Authenticated is not trusted A related confusion sits underneath the wrong reading: treating "authenticated" as a synonym for "an insider we vetted". Authentication proves that a credential was accepted. It does not prove who presented it, and on a self-service product it does not even imply an employment relationship. A flaw reachable by any authenticated principal on a multi-tenant system is reachable by any attacker willing to become a tenant. ## What the precondition does legitimately tell you It is not noise. Read as a position, it tells you three useful things: 1. **Which actors can use it.** A flaw needing physical presence in a locked facility genuinely does exclude most of the world. A flaw needing an account excludes almost nobody on a public product and quite a lot of people on an air-gapped one with four operators. The same wording carries different weight in different estates, which is the whole point. 2. **The shape of the attack.** A required preceding step means the technique cannot be fully self-driving; something has to supply the position first. That constrains how the attack composes with others. 3. **Where a chain can be cut.** Choosing the control class that removes a precondition is a separate discipline with its own substitution test, and it is not this question, but the precondition is the input to it. ## Preconditions compose, so ranking in isolation hides chains The most expensive version of the mistake is rating each entry alone. An unauthenticated flaw that yields a low-privilege account is often rated moderate because it grants "only" a weak account. An authenticated flaw that yields administrative control is rated moderate because it "needs an account". Chained, they are one unauthenticated path to administrative control, and no single row in the list says so. Preconditions are the joints where findings snap together; a list sorted by precondition count is exactly the list that makes those joints invisible. ## Saying it in an interview The answer an interviewer is listening for is the reframe plus the test: a precondition is a position in the intrusion rather than a barrier in front of it, so name the population that already occupies that position, and let the size of that population drive the judgment. Then add the honest caveat, which is that preconditions do matter in estates where the position is genuinely scarce, and that telling those two cases apart is the actual skill.

  • Where would 'requires a valid account' genuinely be a strong precondition?
    Where the population holding an account is small, vetted and not remotely reachable: an isolated control system with four named operators, or an internal tool whose accounts are issued by hand and cannot be self-served. The test is the same one; it simply returns a small number. That is why the answer is an enumeration rather than a rule of thumb about the word 'authenticated'.
  • Two findings each look moderate: one gives an unauthenticated attacker a low-privilege account, the other needs any account and gives admin. How do you rate them?
    Together, as one unauthenticated path to admin. The first supplies exactly the precondition the second needs, so the pair is worth far more than either row suggests. Rating entries in isolation systematically hides this, because the precondition is the joint where they connect. When you fix, breaking either link breaks the chain, which is often the cheaper of the two.
  • A peer sorts the backlog by how many preconditions each finding lists. What is the one sentence that shows the flaw in that method?
    Precondition count measures the wording of the advisory, not the reachability of the position in your estate. Three preconditions that your own architecture hands out for free rank below one precondition nobody can satisfy, and the sort has no way to see that. Sort by who already holds the position instead.

A precondition is a postcode, not a lock. It tells you where the flaw lives in the attack, and you still have to ask how many people already live there.

saying these in an interview costs you the question

  • Ranks findings by how many preconditions the advisory lists
  • Treats authenticated as meaning vetted employee only
  • Assumes an account can only be obtained by cracking a password
  • Calls a precondition a barrier the attacker must break through
  • Rates each finding alone and misses that one supplies the other's precondition

context

open as a page

Why can a missing server-side permission check be attacked with no exploit code at all?

level: juniorimportance: must knowfreq 70%

basics

~20 s

Because the attack is an ordinary, well-formed request. If the server never checks who owns the record, any account holder simply asks for someone else's identifier and is served it. Nothing is malformed, so nothing needs exploiting.

open as a page

A public proof of concept for a vulnerability only crashes the service - what has changed about your exposure?

level: juniorimportance: must knowfreq 78%

basics

~20 s

A crash proves the flaw is reachable, not that anyone can control your system. Vulnerability, working exploit and packaged tooling are three separate states with three separate dates, and only the last two widen who can attack you.

open as a page

What does calling a vulnerability a 'zero-day' actually assert about it?

level: juniorimportance: must knowfreq 76%

basics

~20 s

Zero-day is a patch state, not a quality grade. It asserts only that no vendor fix existed at the moment the flaw was used. It says nothing about the bug's elegance, the attacker's skill, or whether the attack was unstoppable.

open as a page

What does a published CVE record assert about a product, and what does it never assert?

level: juniorimportance: must knowfreq 68%

basics

~20 s

A CVE record says a named authority described one flaw and listed the product versions it believes affected, under a permanent identifier. It never asserts exploitability where you run it, real-world attack, vendor agreement, or that a fix exists.

open as a page

What does a CWE identifier claim about a flaw that a CVE identifier does not?

level: juniorimportance: must knowfreq 66%

basics

~20 s

A CVE identifier names one flaw in one product, issued by a CVE Numbering Authority. A CWE identifier names the recurring weakness class that flaw belongs to, drawn from a community-maintained taxonomy. Class membership, not instance identity.

open as a page

Why is "we have a threat in the load balancer" the wrong sentence, and what should it say?

level: juniorimportance: must knowfreq 74%

basics

~20 s

A threat is an actor - a person or crew with intent and capability. The load balancer has a vulnerability, a weakness in the thing itself. Say "the load balancer has a vulnerability; the threat is whoever exploits it".

open as a page

Why can an insider cause a serious loss without exploiting any vulnerability?

level: juniorimportance: must knowfreq 74%

basics

~20 s

An insider already holds the access an outsider has to attack to obtain. The damaging actions are operations the role is permitted to perform with a valid credential, so no flaw is broken and the only bound on the loss is what that role may reach.

open as a page

Why does 'we are too small to be a target' misread how most intrusions select victims?

level: juniorimportance: must knowfreq 74%

basics

~20 s

Most intrusions pick the victim after the break-in, not before. A crew fires one flaw at every instance it can enumerate across the internet, then ranks what it caught. Being small changes your rank, not whether you are reached.

open as a page

What does calling an adversary an "advanced persistent threat" actually assert?

level: middleimportance: must knowfreq 64%

basics

~10 s

It asserts an organised, funded human adversary whose objective outlives any single campaign - sponsorship and patience. It never asserts novel techniques, an unfixed exploit, or that your organisation was specifically chosen.

open as a page

Malicious, negligent and compromised insiders: what differs between them, and what does not?

level: middleimportance: must knowfreq 63%

basics

~20 s

Only intent differs. The account, the device, the working hours and the operations performed can be identical across all three, so nothing about the actor separates them. That leaves one movable control in common: the scope the role may grant.

open as a page

How does a mass-exploitation crew behave differently from one that had your name first?

level: middleimportance: must knowfreq 62%

basics

~20 s

A mass-exploitation crew enters the same generic way everywhere, at the same time as many other organisations, and often leaves the access untouched for weeks. A name-first crew substitutes paths until one reaches you specifically, and works the access almost immediately.

open as a page

A flaw needs local execution on a CI runner. What does a fork pull-request build do to that precondition?

level: middleimportance: should knowfreq 44%

basics

~20 s

It hands the precondition away for free. Running contributor-authored build content is the runner's job, so anyone who can open a pull request already has local execution, and the flaw moves from post-compromise to initial access.

open as a page

Why does a memory-safety defect often stop at a crash rather than reach code execution?

level: middleimportance: should knowfreq 50%

basics

~20 s

A crash proves memory was corrupted, not that the corruption can be steered. Reaching execution needs a controlled write or read primitive plus defeat of non-executable data pages, address randomisation, stack cookies and control-flow integrity. Many defects never get there.

open as a page

When a reliable exploit is packaged into a public exploitation framework, what changes about who can attack you?

level: middleimportance: should knowfreq 60%

basics

~20 s

Capability does not change; audience does. Anyone able to write or drive the exploit could already attack you. Packaging removes the skill and time cost, so the population that can try it grows from a handful of operators to effectively everyone.

open as a page

Your renderer's vendor shipped a fix this morning — why can the number of capable attackers rise?

level: middleimportance: should knowfreq 55%

basics

~20 s

The shipped fix is a description of the bug. Comparing the corrected code with the previous version localises the defect and often reveals the missing check, so people who could never have found it can now trigger it — while your machines still run the old code until each application restarts.

open as a page

What does a RESERVED CVE record mean when the ID already appears in a public fix commit?

level: middleimportance: should knowfreq 42%

basics

~20 s

RESERVED means an assigner allocated the identifier and published nothing behind it: no description, no affected versions, no references. Seeing it in a commit tells you a number exists for something that may be published, not what the flaw is.

open as a page

Why does mapping a bug to CWE-20 Improper Input Validation settle nothing about the fix?

level: middleimportance: should knowfreq 44%

basics

~20 s

CWE-20 sits at the Class level of a four-tier taxonomy — Pillar, Class, Base, Variant. It says a check was missing, not which resource was harmed, so it constrains no change. The actionable statement lives at Base.

open as a page

You set aside a flaw because it "requires a user to click". What have you just claimed?

level: seniorimportance: should knowfreq 38%

basics

~20 s

You have claimed that nobody in the reachable population will perform an ordinary action once during the flaw's remaining life, while anyone who can contact them may ask. Written out, that claim is usually false.

open as a page

A team says "we are fully patched, so we are fine" — what does patch level not cover?

level: seniorimportance: should knowfreq 58%

basics

~20 s

Patch level is a claim about third-party code someone else shipped a fix for. It says nothing about first-party authorization decisions, identifiers accepted as entitlement, workflow logic or configuration — flaws that never carry a version number at all.

open as a page

Your Kubernetes nodes run untrusted tenant workloads and a container-escape exploit just became reliable - what changed?

level: seniorimportance: should knowfreq 44%

basics

~20 s

Every tenant already holds the escape's only entry condition: code in a pod. Reliability turns a crash into repeatable takeover of the node and every workload on it, so this rung moves you far more than a single-tenant estate.

open as a page

A CVE against your appliance is tagged DISPUTED by the vendor — how do you judge your exposure?

level: seniorimportance: should knowfreq 40%

basics

~20 s

A dispute records that a party contests the record; it does not withdraw it, and nobody adjudicates. Judge the described behaviour against your own deployment. If the vendor calls it intended, no fix is coming.

open as a page

Which CWE abstraction level do you file a world-readable Linux credentials file at, and why?

level: seniorimportance: should knowfreq 32%

basics

~20 s

File it at Base: CWE-732, incorrect permission assignment for a critical resource. The Pillar and Class above it are true but imply no change; only the Base entry names the resource and the consequence, so only it constrains the fix.

open as a page

What does actor class predict when one crew defaces the web server it took and another quietly sells the same access?

level: seniorimportance: should knowfreq 52%

basics

~20 s

Class predicts what the same access gets spent on and whether the crew returns. Publicity is the hacktivist's objective, so access is consumed; for a criminal crew publicity destroys value. It is not a capability ladder.

open as a page

A platform engineer's cloud session is stolen: why is that now an insider problem?

level: seniorimportance: should knowfreq 47%

basics

~20 s

The stolen session carries the engineer's standing roles, so the thief acts with the position rather than against it. Authentication has already succeeded, which spends every control keyed to identity; what happens next is bounded only by what those roles may reach.

open as a page

A crew held quiet remote access six weeks, then went for finance — were you selected in advance?

level: seniorimportance: should knowfreq 40%

basics

~20 s

Probably not by whoever got in. That pattern fits a split market: one party gained access opportunistically and sold it, a second party bought and chose you from a listing. The six-week gap measures time on a market, not patience.

open as a page

An executive is told 'it was a zero-day, so nothing would have stopped it' — what do you fund?

level: principalimportance: should knowfreq 41%

basics

~20 s

First test the sentence: was a fix available on the day? Most such claims turn out to be n-day, where money spent shortening the gap between a fix existing and running pays off. If the claim holds, fund that shorter clock anyway and record the remainder as accepted residual risk.

open as a page

A state operator holds an unfixed exploit for your fleet's document renderer — why use it on one person?

level: middleimportance: nice to knowfreq 38%

basics

~20 s

An unfixed exploit is a wasting asset. Every use puts a copy somewhere the operator does not control, and one recovery leads to a fix that destroys its value everywhere at once. Broad use burns it fast, so it is spent narrowly.

open as a page

Why would a reliable hypervisor escape stay unpublished and unpackaged for years?

level: seniorimportance: nice to knowfreq 28%

basics

~20 s

Because publishing destroys most of its value. A working escape from a guest virtual machine is one of the most expensive capabilities to build or buy, so the holder keeps it private. The ladder tracks availability, not existence.

open as a page

A vendor that is its own CVE Numbering Authority reports zero CVEs — what does that prove?

level: seniorimportance: nice to knowfreq 31%

basics

~20 s

Nothing about the code. The count measures assignment decisions the vendor controls: its declared scope, what it counts as a vulnerability, what it publishes. Identifiers are requested by people, never discovered, so an unresearched product scores zero.

open as a page

showing 1–30 of 36