parlov
HTTP oracle detection tool — systematic probing for RFC-compliant information leakage.
HTTP servers that faithfully implement RFC 9110 often leak protected internal state through deterministic differences in status codes, cache-conditional responses, and response metadata. parlov detects those differential signals, scores confidence with per-signal normative weighting, and reports whether an application is vulnerable to oracle-based enumeration.
usage
manual probe (existence)
# GET existence check
# POST registration enumeration
# HEAD — lightweight, no response body
# with auth header
automated scan (scan)
# default: all vectors, safe risk
# specific vector with risk ceiling
# mixed risk per vector
# specific vector with risk ceiling
# specific strategy
# SARIF output for CI integration
40 strategies across four detection vectors (17 status-code-diff + 8 cache-probing + 7 error-message-granularity + 8 redirect-diff). Each finding includes a confidence score, impact class, severity, and deterministic finding ID for cross-run deduplication.
options
global
| Flag | Description |
|---|---|
--format |
Output format: table (default), json, sarif |
existence subcommand
| Flag | Description |
|---|---|
--target |
URL template with {id} placeholder |
--baseline-id |
Resource ID known to exist |
--probe-id |
Resource ID to test (defaults to random UUIDv4) |
--method |
HTTP method (defaults to GET) |
--header |
Request header in Name: Value format (repeatable) |
--body |
Body template with {id} placeholder |
scan subcommand
| Flag | Description |
|---|---|
--target |
URL template with {id} placeholder |
--baseline-id |
Resource ID known to exist |
--probe-id |
Resource ID to test (defaults to random UUIDv4) |
--header |
Request header in Name: Value format (repeatable) |
--vector |
Detection vector with optional risk ceiling (repeatable) |
--risk |
Global risk ceiling for all vectors |
--strategy |
Run specific strategy by ID (repeatable) |
--alt-credential |
Alternative credential header for scope manipulation |
--known-duplicate |
Known duplicate value for uniqueness strategies |
--state-field |
State field name for state transition strategies |
exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime error |
license
MIT OR Apache-2.0