respdiff
Trait-based differential response analysis and probe learning for HTTP scanning. It compares HTTP responses to find meaningful differences and automatically discovers injection gates from probe histories.
use Duration;
use ;
let baseline = new.with_elapsed;
let current = new.with_elapsed;
let diff = compare_responses;
if diff.has_differences
Why this exists
Scanners need to know if a payload actually changed the server's behavior. A raw text diff of two HTTP responses is useless because dynamic tokens, timestamps, and randomized content change on every request. respdiff understands HTTP semantics. It diffs headers intelligently, calculates body similarity using Jaccard index, and evaluates timing changes against configurable thresholds.
Differential policies
Configure the thresholds for what constitutes a meaningful difference.
use ;
let policy = DiffPolicy ;
let is_match = is_differential_match_with_policy;
Probe learning
The DifferentialLearner analyzes a history of observations to identify which input properties act as gates and which ones are injectable. It generates new variants based on successful shapes.
use Duration;
use ;
let mut learner = new.with_analyze_every;
learner.record;
let variants = learner.generate_variants;
for variant in variants
Contributing
Pull requests are welcome. There is no such thing as a perfect crate. If you find a bug, a better API, or just a rough edge, open a PR. We review quickly.
License
MIT. Copyright 2026 CORUM COLLECTIVE LLC.