Pentest training web apps with a three-agent team that checks itself

David Ray Jr ran explorer, validator and coordinator agents against OWASP Juice Shop and a BugForge lab; across four runs the validator overturned a false positive and turned a failed SQL injection into a working one.

Done withCustom agent· Oct 17, 2026

What they did

As part of his research into autonomous penetration testing, Ray set up three agents with separate roles: an Explorer that tested the target, a Validator whose job was to challenge findings, and a Coordinator that decided what the evidence supported. All traffic went through a gateway that logged each HTTP request, and each agent wrote decision records. He ran four experiments in authorized training environments, three against OWASP Juice Shop and one against a BugForge CopyPasta lab, covering reconnaissance, authentication attacks and authorization checks. He does not name the model or framework behind the agents.

How it went

The four runs logged 181 requests, 60 decision records and 50 finding records, which he stresses are not 50 confirmed vulnerabilities. In one run the Validator showed an admin endpoint returned the same body without a token and got the Coordinator to withdraw that claim. In another, the Explorer gave up on a login SQL injection after three 401s; the Coordinator asked whether the body had even been parsed, and the Validator retried with a JSON content type and got a token. A cross-user basket finding was only confirmed once tested with an ordinary customer account. On the new BugForge app the team found signed-in users could read other users' profile data, including emails, and recorded the admin endpoints that held.

Worth knowing

He says the runs show collaborative behavior, not that three agents beat one; that would need matched solo and team runs. The targets were deliberately vulnerable training apps he was authorized to test. The agent stack is not named, so there is nothing to install from the post.

Try it

With Custom agent· 4 parts to fill in

Act as a three-role testing team against [a training app or a system I own and am authorized to test] at [URL]. Explorer: map the app and try [authentication and authorization] tests. Validator: independently repeat every claimed finding with a proper control (unauthenticated, wrong password, ordinary user) and try to refute it. Coordinator: accept a finding only when the Validator confirms it and the control rules out other explanations. Log every request with an id and record each decision with its reason. Stop after [number] requests or when every hypothesis is confirmed or refuted, and report confirmed findings, withdrawn ones and negative results separately.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related