DEF CON 34/ Demo Labs / Aug 2026
AI ONE BITES THE DAST

CONTEXTFIRST.BITESECOND.

AOBTD uses a real browser to explore the app before it starts testing. It keeps track of routes, roles, and objects, runs checks that fit what it finds, and saves the evidence.

01 / APP MAPPED
PROOF CAPTURED ✓
/scan/liveREASONING
AOBTD scan in progress showing the browser, agent narration, and endpoints
Scroll to trace the loop
The problem

Most scanners treat every input the same.

They don't know that one form logs you in, another changes a password, and 100 product pages may all use the same template. They just keep sending requests.

Old loop

Try everything, everywhere.

The request count goes up. The scanner doesn't learn much about the app.

POST /login: 2,431 probesGET /product/001: duplicateGET /product/002: duplicateGET /product/003: duplicatecontext: not found
01Explore

Browse it like a person.

Follow links, submit forms, and see what changes before testing anything.

02Remember

Keep track of what's known.

Group repeated pages into templates and remember the routes, roles, and objects already found.

03Decide

Pick tests that fit.

A login form gets authentication checks. An object ID gets access control checks. That narrows down what to test next.

The loop

Four steps with one shared memory.

Each pass gives the next one more context. AOBTD looks at the app, records what matters, tests a clear idea, and checks the result.

MOVE 01 / LOOK

See what the app does.

The browser follows the app, captures traffic, and watches what changes after each action.

MOVE 02 / LEARN

Keep what matters.

Routes become features. Inputs get a purpose. Repeated pages become one pattern.

MOVE 03 / PROBE

Test a clear idea.

The specialist gets the app context and chooses a small set of checks that make sense for that surface.

MOVE 04 / PROVE

Check the result.

The verifier runs the test again and saves the request, response, and impact.

Remember the shape

Learn the page once, then move on.

100 PAGESbecomes1 PATTERN

If 100 product pages share the same layout and inputs, AOBTD records one pattern. It can then spend its time on pages and actions it hasn't seen before.

Inside the tool

See what it's doing.

The browser view, notes, target map, and findings are all in one place. You can inspect any decision.

LIVE SCAN / 01
AOBTD live scan workspace
Proof before report

If the bug can't be reproduced, it isn't reported.

FINDING / AOBTD-004HIGH

Cross-tenant object access

An authenticated user can retrieve another tenant's invoice by changing the object identifier.

GET /api/invoices/8472
Authorization: Bearer user_a

status: 200 OK
tenant_id: tenant_b
evidence captured ✓
Ready to check

Everything you need to verify it.

Each confirmed issue includes what happened, why it matters, how to reproduce it, and what to fix.

The endpoint, request, and account state.
The raw request and response from verification.
Repeatable steps, impact, and a suggested fix.
How it works Technical details
01 / CAPTUREBrowserBrowse the target.
02 / EXTRACTSurfacesParse forms and inputs.
03 / UNDERSTANDContextBuild the app model.
04 / REASONSpecialistsChoose focused checks.
05 / EXECUTEPrimitivesRun the tests.
06 / PROVEVerifierSave the evidence.
AOBTD / PRE-ALPHA

Understand first. Then bite.

Try it on a target you are allowed to test. The CLI and web UI use the same scan history.