Updated Aug 27, 2026

Scanners

Find and probe the AI agents on your own web pages

webagentaudit is a tool from the Atom41 research team for security auditing of web-based AI agents through browser automation, auditing deployed chat and agent interfaces at scale through their real web surfaces rather than model or runtime APIs.

installgit clone https://github.com/atom41research/webagentaudit.gitpip install -e .

Python · AGPL-3.0 license

Agent

overview

What webagentaudit does

webagentaudit tests the AI agents that companies embed in their own web pages: the support chat, the shopping assistant, the onboarding bot. Those agents have no API you can point a scanner at. They exist only behind a widget, so the audit drives a real browser, finds the chat surface, and interacts with it the way a visitor would.

Mode selects how far it goes. detect looks for the chat surface and reports where it is. assess runs the algorithmic probes against a surface it has found. fixture replays a demo for shape checks. Because the probes are algorithmic rather than model driven, no provider API token is required, which keeps the node runnable on a schedule without a per-run cost.

Targets arrive as a single --url or a file on the url-file port, and the Web AI Agent Audit workflow probes hosts with httpx first so only live pages reach the browser stage. Output is findings.jsonl plus screenshots and reports, so an assessment leaves evidence a retest can be diffed against.

source github.com/atom41research/webagentaudit

use cases

Where webagentaudit fits

Find which pages actually expose an agent

Run detect mode across a URL list to inventory the chat surfaces on your estate, including the ones a team shipped without telling anyone.

Probe a chat surface for agent-layer flaws

Switch to assess mode so the browser exercises the widget with algorithmic probes and records what the agent does in response.

Keep evidence for a retest

Screenshots and reports land beside findings.jsonl, so the next scheduled run can be compared against what the agent did last time.

Probe live hosts only

Chain httpx before the audit, as the Library workflow does, so browser automation runs against pages that resolve instead of the whole list.

reference

webagentaudit inputs and flags

3 inputs
NameTypeFlagDescription
urlSTRING--urlSingle chat-page URL (optional if the urls file is set)
urlsFILE--url-fileURL list file (one per line). Prefer seed to prep wiring, distribute per line.
modeSTRING--modedetect (find chat widget) | assess (run probes) | fixture (demo only)

Showing key inputs. webagentaudit exposes 3 inputs in total.

example

Run webagentaudit

webagentaudit · command
# find the chat surface on one page
webagentaudit --mode detect --url https://www.example.com/support

# probe a list of pages you are authorized to test
webagentaudit --mode assess --url-file urls.txt
sample output
{
  "tool": "webagentaudit",
  "url": "https://www.example.com/support",
  "mode": "assess",
  "surface": "chat widget detected",
  "probe": "system-prompt disclosure",
  "result": "agent returned configuration text",
  "severity": "medium"
}

guidance

Choosing webagentaudit

Reach for webagentaudit when the agent is reachable only through a browser widget on a page you are authorized to test. Use mcparasite when the agent speaks MCP and the question is cross-channel propagation, and use httpx when you only need to know which pages are live.

mcparasite

Tests agents across MCP propagation channels. Same class of risk, reached through a protocol client rather than a browser.

httpx

Probes hosts and reports what responds. It finds the pages; it cannot interact with a chat widget rendered by JavaScript.

nuclei

Templates against the underlying web app. Runs beside an agent audit and covers the ordinary web surface, not the agent behaviour.

faq

webagentaudit questions

No. The probes are algorithmic and run through browser automation, so no provider API token is required. That is what keeps a scheduled audit free of per-run model cost.

detect finds the chat surface on a page and reports it. assess runs the probes against a surface. fixture replays a packaged demo, which is useful for verifying wiring before you point the node at real pages.

Yes. Put one URL per line on the url-file port. The Library workflow normalizes the list first and distributes per line so each page is audited by its own worker.

findings.jsonl plus screenshots and reports in the output folder, which is what makes a scheduled retest comparable rather than a fresh read every time.

No. It tests the deployed agent as a visitor reaches it, including the page, the widget, and the guardrails around it. A model evaluation asks a different question in a different place.

WebAgentAudit is published at github.com/atom41research/webagentaudit and was presented at the Black Hat USA 2026 Arsenal. Trickest packages it as the library node documented here.

Run webagentaudit yourself

A list of live page URLs feeds webagentaudit, which detects chat surfaces, probes them, and writes findings with screenshots.

Facts on this page come from the live Trickest tool library.