Skip to content
SecHelixv3 alpha
GitHub
DocsContributeSupportWorkbenchGitHub
Core Concepts

Variant Hunter

After a verified root cause, the deterministic variant hunter compares sibling paths against the seed invariant and returns EXACT, VARIANT, REFUTED, or BLOCKED.

Why variants matter

One verified defect is usually one instance of a class. If the fix lands on the instance and the class stays open, the next occurrence is discovered by an attacker rather than by the audit.

The variant hunter is deterministic code, not a model prompt. It compares a verified seed finding signature against candidate sibling paths and returns one of four classifications.

Anchors and dimensions

A Gold Check Pack declares which fields anchor a variant comparison and which fields are allowed to vary. For the reference authorization pack the anchors are the invariant, the boundary, and the action.

Anchor fields
invariant · boundary · action
Variant dimensions
actor · object · identity_state · enforcement_layer · sink_kind · framework

The distinction is what stops variant search from degenerating into keyword search. Two routes that both contain the word invoice are not variants of each other. Two routes that fail the same ownership invariant at the same boundary are, even if one is a list endpoint and the other is a bulk export.

The result contract

ResultCondition
EXACTAll anchors and all variant dimensions match.
VARIANTThe security invariant, boundary, and action match while one or more actor, object, framework, or enforcement dimensions differ.
REFUTEDThe path is unreachable, an evidenced control is enforced, or an anchor does not match.
BLOCKEDReachability or control evidence is still unknown.

The comparison lives in references/gold-check-packs.md and is implemented in the repository runtime rather than left to a prompt.

Matches stay hypotheses

This is deliberate. A variant search that promoted its own matches would multiply one verified finding into a list of unverified ones, which is exactly the inflation the framework is built to avoid.

Where it fits in a run

  • After verification, not before. The seed has to be a verified invariant, not a suspicion.
  • Before the fix is written, so the repair can be scoped to the class rather than the instance.
  • Fix Mode explicitly instructs the agent not to patch one instance if the same unsafe pattern exists elsewhere.
  • Finding sibling variants after one root cause is one of the listed pilot success criteria.
  • Variant recall on known fixtures is one of the things the evaluation protocol intends to measure.