Chains, scripts, the fuzzer and the proxy all work with the same probe, so a request you capture in the proxy can be replayed, chained, scripted or fuzzed without rebuilding it.
Probes
A probe is one request on one of sixteen protocols. MySQL, PostgreSQL, SQL Server and MongoDB go through their standard drivers. Freestyle lets you write a raw TCP or UDP exchange yourself.
HTTP · SMTP · IMAP · LDAP · DNS · SMB · Kerberos · SpamAssassin · Redis · FTP · STOMP · MySQL · PostgreSQL · SQL Server · MongoDB · Freestyle
Chains
Next to the sixteen protocol steps a chain has control steps: CONDITION, ITERATE, PARALLEL, CHAIN_REF for a sub-chain, ASSERT, SCRIPT, PRINT and WAIT_FOR_CALLBACK for an out-of-band callback.
IF {{status}}=='200' → then / else · PARALLEL · CHAIN_REF
MITM proxy
Intercept system-wide or scoped to a hostname. The proxy decodes thirteen protocols (HTTP, SMTP, IMAP, DNS, FTP, MySQL, PostgreSQL, SQL Server, MongoDB, Redis, STOMP, SMB and Kerberos) and lists every flow in a table you can filter. Any line promotes to an editable probe, ready to chain, replay or fuzz.
13 protocols · filter · capture → probe
Service virtualization
When a request matches a mock rule, the proxy answers with a synthetic response. Build the rule from a captured exchange or write the match yourself, to stand in for a service that isn't built yet or to force the edge case a real server won't give you.
capture → mock · match rules · stand-in services
JavaScript scripting
Scripts, SCRIPT steps and CONDITION expressions are JavaScript, written in an editor with syntax highlighting, autocomplete and linting. A script reaches your workspace only through the vp object and has no access to files or the host.
vp.send("Login", "SMTP auth", vars) · r.extract("SMTP_SUCCESS", null)
Library
Ready-made checks for OAuth flows, SMTP DSN edge cases, LDAP audits and spam-score regressions. Bring your own and share them with your team.
1,100+ probes & chains · 18 collections
Directory-backed workspaces FREE
Point VirtuProbe at a folder and your probes, chains, scripts, suites and environments become plain files. Keep the folder in Git, Dropbox or on a network drive, while secrets stay in the local encrypted store.
folder · Git-backed · diff & review in your own repo
Fuzzing
Mark any probe field with §payload§, add a wordlist and run it. Each result lands in a table with its status, duration and a body preview, so a result with an unusual status or duration is easy to spot.
§payload§ · 200 runs · 3 anomalies
AI assistant FREE · BYOK
Bring your own model: any OpenAI-compatible endpoint, including a local one. The assistant reads your responses, explains what broke and builds chains and scripts on request. Every write and every run waits for your approval.
BYOK · approve / run · local models
Unified credential store
Every scheme is picked from one list. OAuth2 in every grant flow, Basic, Bearer, API key and Digest are free. The Windows and enterprise schemes (NTLM, Pass-the-Hash, SPNEGO/Kerberos, AWS SigV4, mTLS and scripted auth) come with Engineering. Secrets live apart from the probe and never reach run history.
OAuth2 · SigV4 · NTLM / SPNEGO · per-project, per-run
Import & export
Bring existing work in from OpenAPI, Postman, Bruno, HAR, .http or Insomnia, or paste a cURL/wget command onto a probe. Export back out as cURL, wget, Python or PowerShell.
OpenAPI · Postman · Bruno · HAR · Insomnia
GraphQL
The HTTP probe has a Query and a Variables editor for GraphQL. Both are serialized into the request body when the probe is sent. From there you can chain, script or fuzz the request like any other.
query · variables · runs as HTTP
Action Mode
SMTP, IMAP and LDAP probes have an Action Mode, the simplified form where you state the outcome you want: send an email, find a message, check a login. VirtuProbe then runs the EHLO, SELECT or BIND conversation for you. Switch to Advanced when you want exact control over each command.
send email · find message · check login
MCP testing
Point the HTTP probe at a Model Context Protocol server, over Streamable HTTP or legacy SSE. Chain the handshake, stream events live and read every response for tool-poisoning. Fuzz the JSON-RPC like any other request.
initialize · tools/call · tool-poisoning scan
Databases
Run SQL against MySQL / MariaDB, PostgreSQL and SQL Server, queries against MongoDB and commands against Redis, all as probes. Pull out a column or a document field, chain it into the next step and assert on the result. Fill the form, or paste a full mongo shell query verbatim.
MySQL · MariaDB · PostgreSQL · SQL Server · MongoDB · Redis