Class NucleiTemplateConverter
- Namespace
- Kuestenlogik.Bowire.Security.Templates.Nuclei
- Assembly
- Kuestenlogik.Bowire.Security.Templates.Nuclei.dll
Translate a parsed NucleiTemplate into Bowire's vulnerability-template shape (BowireRecording with Attack set + a populated AttackVulnerability + a built AttackPredicate). The scanner already knows how to execute that shape — no new probe-runner needed, the Nuclei corpus just shows up alongside Bowire's own templates.
Phase 2a — skeleton + identity + info mapping. The matcher → predicate translation lives behind a NotImplementedException guard so consumers see a clear "this part hasn't landed yet" error rather than silent under-coverage. Phase 2b implements status / word / regex matchers; multi-matcher composition + part-selection arrive alongside.
public static class NucleiTemplateConverter
- Inheritance
-
NucleiTemplateConverter
- Inherited Members
Methods
ResolveVariables(BowireRecording, NucleiVariableContext)
Walk an already-built recording and substitute Nuclei placeholders into its step paths + bodies. Useful when the corpus is loaded ahead of target binding (Phase 2e flow) and the scanner needs to resolve placeholders right before the probe goes out.
public static void ResolveVariables(BowireRecording recording, NucleiVariableContext context)
Parameters
recordingBowireRecordingcontextNucleiVariableContext
ToBowireRecording(NucleiTemplate, NucleiVariableContext?)
public static BowireRecording ToBowireRecording(NucleiTemplate template, NucleiVariableContext? variableContext = null)
Parameters
templateNucleiTemplatevariableContextNucleiVariableContext
Returns
ToBowireRecordings(NucleiTemplate, NucleiVariableContext?)
Produce a BowireRecording the security scanner
can load alongside its native templates. When
variableContext is supplied, every Nuclei
{{...}} placeholder in path / body strings gets
resolved against the target URL at conversion time so the
scanner receives ready-to-send probes. When the context is
null (corpus pre-load before target binding),
placeholders pass through literally; callers can re-convert
once the target is known or invoke
ResolveVariables(BowireRecording, NucleiVariableContext) on the resulting recording.
public static IReadOnlyList<BowireRecording> ToBowireRecordings(NucleiTemplate template, NucleiVariableContext? variableContext = null)
Parameters
templateNucleiTemplatevariableContextNucleiVariableContext