AntifrogEnquiries
Case library/ Case 06
Case 06 / Payment risk / 6 min

One BIN. Two thousand cards.

Separate the burst from the approvals it left behind.

Blank ivory passes gathered beside a stork at a quiet harbour checkpoint.
Your brief

You are on call for Pondside Gifts, a fictional digital gift-card merchant. Between 01:10 and 03:40, authorisation attempts rise from a usual 60 overnight to 2,400. Most come from one card range and most are declined. Some are approved, and gift-card codes have already been emailed. Decide what to do before the morning shift arrives. All people, figures and internal procedures in this exercise are synthetic.

Fictional scenario · Synthetic data · No real customer records
attempts / 2.5 h
2,400
from one BIN
1,980
pattern approvals
212
02 / Examine the evidence

What would
you look at?

Open at least two files before making a decision. You can read every file.

0 of 3 files opened

A useful definition
01 / Transaction logAuthorisation log

1,980 of the 2,400 attempts share one six-digit card-range prefix. This exercise uses it as a grouping field, not as a definitive issuer or account identity. Within that group, the gateway reports near-sequential underlying account-number patterns, expiry dates vary in a regular pattern and every amount is €25 or €50. 212 of the 1,980 were approved, and codes went to 212 distinct email addresses on three domains. The remaining 420 attempts show the merchant’s usual mix of BINs, amounts and returning customers, and were approved at the normal rate.

Near-sequential card references across one BIN are a strong signal of enumeration rather than ordinary demand, and the log shows which attempts belong to the pattern. It does not show which of the 212 approvals, if any, were made by the cardholder, and it does not identify who ran the burst.

02 / Engineering noteEngineering & gateway

Engineering finds no new release and no retry loop. Each attempt carries a different tokenised card reference. The gateway supplies an enumeration-pattern indicator; analysts do not access raw card numbers. All 1,980 attempts came through the guest-checkout API from a block of addresses in 203.0.113.0/24, with no page views before the payment call. The gateway’s velocity rule counts attempts per card reference per hour; it did not trigger because each card was used once.

The operational explanation has been tested and fits poorly. The missing page views and single-use cards explain why the existing control stayed quiet. The address block is a lead for a scoped control, not proof of a single actor; shared infrastructure can put unrelated traffic in one range.

03 / OperationsDelivery & runbook

212 gift-card codes worth €8,300 were delivered. 37 have been redeemed at partner retailers; 175 are unredeemed and can be suspended by the merchant until reviewed, then restored. The incident runbook permits a temporary rate limit per BIN and per address range for up to 24 hours, with a named owner and a 09:00 review. The acquirer asks for an incident note within one business day for any suspected enumeration event. These deadlines and controls are this fictional merchant’s runbook, not a scheme-wide requirement.

The split between redeemed and unredeemed codes tells you where a reversible action is still possible. The runbook sets the limits of what you can do alone. Nothing here settles whether each approval was fraudulent; that needs the issuers, through your acquirer.

03 / Choose a next step

Make the call.
Leave your reasoning.

Choose what you would do under this scenario’s assumptions. Your notes stay in this browser. Do not enter real customer information.

Your next step

Private notes, saved locally. The debrief responds to your chosen action; it does not grade your writing.

Further reading

OWASP · Automated Threats to Web Applications

Reference checked 5 November 2026. The scenario, runbook and debrief are original Antifrog teaching material; the source does not endorse them.