skip to content

Your attribute-inference test recovered a health answer for 3 of 5 subjects - how do you report severity?

level: seniorimportance: nice to knowfreq 32%

answer

  1. the hit rate is one column of four
  2. the precondition belongs in the headline
  3. compare against the record they already bought
  4. one field, one person, per purchased record
  5. five subjects is a wide interval

basics

~20 s

Report the precondition and the baseline beside the hit rate. Each subject needed a purchased near-complete record and their quoted premium, and without a comparison against predicting the field from that record alone, 3 of 5 shows little.

solid answer

~50 s

Three of five is not the finding; it is one column of it. Write the precondition first: for each subject you held a purchased, correctly linked near-complete application plus the premium that person was quoted - without that there is no attack, so this is a data holding plus an endpoint. Then the baseline: what does a predictor built from the auxiliary attributes alone say about the same field? The endpoint's contribution is the lift over that, and if the lift is small the exposure is mostly attributable to the data the attacker bought. Then the scope: one field of one identified person per subject, not bulk extraction, at single-digit queries each. Finally the uncertainty: five subjects is a wide interval, and note which fields the premium barely responds to, because those did not fail by chance. A severity written that way survives contact with the model owner.

code

text · 10 lines
text
finding: attribute recovery, underwriting premium endpoint

subjects tested                 5
field recovered                 3/5  (declared health answer)
queries per subject             4    (4 candidate values)
auxiliary record                purchased broker file, per subject
subject's quoted premium        required, obtained per subject
baseline: same field predicted
  from auxiliary fields alone    not measured
...

go deeper

for a junior

Remember that a recovery rate on its own is not a finding; note what the test needed before it could run and how many people it applied to.

for a middle

Explain why a baseline predictor built from the attacker's existing record must sit beside the hit rate, and what a small gap between them would mean.

for a senior

Show you can write this up so an owner can price it: precondition, lift over baseline, per-subject payoff, query cost, sample size, and what the failed subjects tell you about output sensitivity.

for a principal

Own the credibility trade: a finding that states its own limits in the headline is the one that gets funded, and overstating this class of result once costs the team the next report.

## The number is the least of it "Recovered for 3 of 5 subjects" is a hit rate with no denominatorless meaning. Four things have to sit beside it before anyone can act on it, and a red-teamer who omits them will either be dismissed as alarmist or - worse - be believed and cause the wrong fix. ## 1. The precondition, stated first For each subject the test required: - a **near-complete application** for a specific identified person, correctly linked; - typically the **premium that person was actually quoted**, to match candidates against; - the ability to submit applications to the endpoint. The first two came from a purchased broker file, not from the model. So the honest headline is: *an adversary already holding a linked broker record for a person, plus that person's quoted price, converts a handful of queries into one sensitive declared field.* Severity then tracks **who can satisfy that precondition** - brokers, insiders, anyone with a prior breach of similar data - which is a scoping question the business can actually answer. Burying the precondition in an appendix produces a report that reads as *the endpoint leaks health data*, and invites a fix aimed at the wrong half of the attack. ## 2. The baseline, without which the number means nothing The attacker already held most of the record. Some of what they "recovered" may be predictable from that record alone, with no endpoint involved at all. So the report needs a second row: **what does a predictor fitted only on the auxiliary attributes say about the same field for the same subjects?** - If the baseline gets 2 of 5 and the attack gets 3 of 5, the endpoint's contribution is thin, and the exposure is largely a fact about purchasable data. - If the baseline gets 0 of 5 and the attack gets 3 of 5, the endpoint is doing the work and the finding is squarely about the model. Without that comparison the report attributes the data holding's power to the model. That is the single most common way this class of finding is overstated, and a model owner who spots it will discount everything else in the report. ## 3. The scope of the payoff Say exactly what an attacker walks away with: **one field, for one identified person, per auxiliary record they hold**. Not a class prototype, not a bulk dump, not a membership bit. That framing is what lets a privacy or legal reader reason about it, and it also caps the claim honestly - this does not scale beyond the number of linked records the adversary can buy. ## 4. The uncertainty and the failures Five subjects gives a wide interval; 3 of 5 and 2 of 5 are not distinguishable at that sample size, and the report should say so rather than implying precision. The two failures are also evidence, not noise: check whether the returned premium simply does not move much with that declaration for those profiles, or whether several candidate values produced the same figure. A field the output barely responds to is not recoverable at any query budget, and saying which profiles behaved that way is more useful than the hit rate. ## What a defensible finding looks like A finding that carries: precondition, baseline lift, per-subject payoff, query cost, sample size and the observed failure mode is one an owner can price and act on. A finding that carries only "3 of 5" is a number that will be argued about instead of fixed. One more discipline: resist reporting the *worst plausible* reading. If the lift over baseline turns out to be marginal, say so in the same sentence as the hit rate. Credibility on this class of finding is spent once.

  • What does the baseline row actually compare against?
    A predictor of the same field fitted only on the auxiliary attributes the attacker already held, applied to the same subjects. It answers the question the model owner will ask first: how much of this could they have worked out without touching our endpoint? The difference is the endpoint's contribution, and it is the number worth reporting.
  • Two of the five subjects failed. Is that just sampling noise?
    Not necessarily, and it is worth checking. If the returned premium barely moves with that declaration for those profiles, several candidates produce indistinguishable figures and no query budget fixes it. Reporting which profiles behaved that way tells the owner where the channel is actually open, which is more actionable than the aggregate rate.
  • How do you keep the write-up from being dismissed as alarmist?
    Lead with the precondition, quote the baseline lift in the same sentence as the hit rate, scope the payoff to one field per purchased record, and name the sample size honestly. If the lift is marginal, say so first. A finding that states its own limits is the one that gets acted on.

saying these in an interview costs you the question

  • Reports the hit rate with no baseline comparison
  • Buries the purchased auxiliary record in an appendix
  • Implies bulk extraction from a per-subject attack
  • Treats five subjects as a precise measurement
  • Ignores failures instead of reading them as evidence

context