September 4, 2026
What If Burp Suite Could Teach Itself Who Owns an API Object?
While testing APIs, I kept coming back to one question:

By Deep SenGupta ๐ฅ
1 min read
How do you automatically tell when one user can access another user's data?
The Problem
Imagine Alice is allowed to access her order:
GET /api/orders/101
Authorization: Bearer ALICE_TOKENGET /api/orders/101
Authorization: Bearer ALICE_TOKENNow change the ID:
GET /api/orders/102
Authorization: Bearer ALICE_TOKENGET /api/orders/102
Authorization: Bearer ALICE_TOKENIf order 102 belongs to Bob and Alice still gets the data, that could be a BOLA/IDOR vulnerability.
Doing this manually across hundreds of requests gets slow very quickly.
So I built AuthForge.
How AuthForge Works
AuthForge takes traffic captured from Burp Suite and tries to understand:
- Who the users are
- What objects they accessed
- Which objects belong to which users
Then it automatically generates authorization tests.
Burp Traffic
โ
Find Users
โ
Find Objects
โ
Build Relationships
โ
Generate Tests
โ
Verify Access
โ
Report FindingsBurp Traffic
โ
Find Users
โ
Find Objects
โ
Build Relationships
โ
Generate Tests
โ
Verify Access
โ
Report FindingsFor example:
Alice โ Order 101 โ Allowed
Bob โ Order 202 โ Allowed
Bob โ Order 101 โ Should be deniedAlice โ Order 101 โ Allowed
Bob โ Order 202 โ Allowed
Bob โ Order 101 โ Should be deniedAuthForge can test that last case automatically.
Avoiding False Positives
A 200 OK doesn't always mean there's a vulnerability.
Some APIs may return the same response for different IDs, so a simple status code check can produce false positives.
AuthForge uses a control object, another object that the target user is known to own, to help verify whether the authorization boundary was actually bypassed.
The goal is simple:
Don't just find suspicious behavior. Try to prove it.
Safe by Default
AuthForge starts in dry run mode.
It doesn't send live requests unless execution is explicitly enabled. Mutating requests require an additional flag.
The tool is intended for systems you own or are explicitly authorized to test.
Try It
go build -o authforge
./authforge -config examples/init.yamlgo build -o authforge
./authforge -config examples/init.yamlWhat It Produces
AuthForge can generate:
- Security findings
- HTML and JSON reports
- Authorization graphs
- Attack paths
- Regression baselines
Where This Is Going
The idea behind AuthForge is simple:
Turn Burp traffic into repeatable authorization tests.
I'm still improving the project and exploring better ways to discover authorization relationships, reduce false positives, and make testing easier.