Engineering controls in API6:2023 "How To Prevent" works by classifying the client: device fingerprinting, human detection (CAPTCHA/biometrics), non-human timing patterns, and blocking Tor/proxy IPs. That model breaks when the automated client is itself legitimate: a first-party or approved third-party app, a developer/B2B integration, or a purchasing assistant acting under a valid user grant.
As AI assistants increasingly shop, book, and transact through APIs on users' behalf, legitimate automated traffic is becoming the norm rather than the exception, so API6 defenses that treat "automated" as a proxy for "malicious" will stop both blocking abuse and permitting legitimate use.
Proposed changes
1. "Is the API Vulnerable?" Add a condition:
The API is also vulnerable if the only restriction on a sensitive business flow is distinguishing human from automated clients, while authorized automated clients (partner integrations, developer APIs, or client applications acting on a user's behalf) can access the same flow.
2. "How To Prevent" Add business-layer controls that hold regardless of client type, and present the existing bot-detection bullets as one layer rather than the whole defense:
- Enforce limits on the business object, not the request: per-account, per-payment-instrument, per-shipping-address, or per-beneficiary caps on quantity, value, or frequency for each sensitive flow.
- Apply aggregate quotas per client application, so one approved integration can't consume a disproportionate share of a scarce resource (stock, seats, time slots, promotional budget).
- Add commitment cost to flows that can be hoarded and released, such as deposits or cancellation fees.
- Require step-up confirmation by the account holder, through a channel the client can't complete on its own, for high-value or irreversible actions.
- Scope automated clients' grants to exclude sensitive flows by default, and allow them per flow.
3. New scenario (suggested):
A retailer lets approved third-party shopping apps place orders on behalf of users via OAuth. For a limited-stock product launch, the retailer relies on CAPTCHA and bot detection on its own web checkout, but exempts approved apps from these checks. A reseller enrolls hundreds of real accounts in an approved app and schedules purchases for release time. Each order is authenticated, authorized, and arrives through a legitimate client, so none of the bot-detection controls trigger, and the reseller acquires most of the stock. Per-account and per-shipping-address purchase limits, plus an aggregate quota per client application, would have bounded the impact.
Scope note
This proposes new guidance and a new scenario, so I understand it would probably target the next edition rather than 2023. Happy to open a PR once there's agreement on direction.
Engineering controls in API6:2023 "How To Prevent" works by classifying the client: device fingerprinting, human detection (CAPTCHA/biometrics), non-human timing patterns, and blocking Tor/proxy IPs. That model breaks when the automated client is itself legitimate: a first-party or approved third-party app, a developer/B2B integration, or a purchasing assistant acting under a valid user grant.
As AI assistants increasingly shop, book, and transact through APIs on users' behalf, legitimate automated traffic is becoming the norm rather than the exception, so API6 defenses that treat "automated" as a proxy for "malicious" will stop both blocking abuse and permitting legitimate use.
Proposed changes
1. "Is the API Vulnerable?" Add a condition:
2. "How To Prevent" Add business-layer controls that hold regardless of client type, and present the existing bot-detection bullets as one layer rather than the whole defense:
3. New scenario (suggested):
Scope note
This proposes new guidance and a new scenario, so I understand it would probably target the next edition rather than 2023. Happy to open a PR once there's agreement on direction.