Class SecurityReport

Namespace
Kuestenlogik.Bowire.Security
Assembly
Kuestenlogik.Bowire.dll

Structured security report (#107): findings grouped by severity + OWASP, plus a diff against a baseline run. ToMarkdown(string?) renders the deterministic markdown skeleton; an AI layer adds the executive-summary prose.

public sealed record SecurityReport : IEquatable<SecurityReport>
Inheritance
SecurityReport
Implements
Inherited Members

Constructors

SecurityReport(string?, IReadOnlyList<SecurityReportFinding>, IReadOnlyDictionary<string, int>, IReadOnlyDictionary<string, int>, SecurityReportDiff?)

Structured security report (#107): findings grouped by severity + OWASP, plus a diff against a baseline run. ToMarkdown(string?) renders the deterministic markdown skeleton; an AI layer adds the executive-summary prose.

public SecurityReport(string? Target, IReadOnlyList<SecurityReportFinding> Findings, IReadOnlyDictionary<string, int> BySeverity, IReadOnlyDictionary<string, int> ByOwasp, SecurityReportDiff? Diff)

Parameters

Target string
Findings IReadOnlyList<SecurityReportFinding>
BySeverity IReadOnlyDictionary<string, int>
ByOwasp IReadOnlyDictionary<string, int>
Diff SecurityReportDiff

Properties

ByOwasp

public IReadOnlyDictionary<string, int> ByOwasp { get; init; }

Property Value

IReadOnlyDictionary<string, int>

BySeverity

public IReadOnlyDictionary<string, int> BySeverity { get; init; }

Property Value

IReadOnlyDictionary<string, int>

Diff

public SecurityReportDiff? Diff { get; init; }

Property Value

SecurityReportDiff

Findings

public IReadOnlyList<SecurityReportFinding> Findings { get; init; }

Property Value

IReadOnlyList<SecurityReportFinding>

Target

public string? Target { get; init; }

Property Value

string

Methods

Deconstruct(out string?, out IReadOnlyList<SecurityReportFinding>, out IReadOnlyDictionary<string, int>, out IReadOnlyDictionary<string, int>, out SecurityReportDiff?)

public void Deconstruct(out string? Target, out IReadOnlyList<SecurityReportFinding> Findings, out IReadOnlyDictionary<string, int> BySeverity, out IReadOnlyDictionary<string, int> ByOwasp, out SecurityReportDiff? Diff)

Parameters

Target string
Findings IReadOnlyList<SecurityReportFinding>
BySeverity IReadOnlyDictionary<string, int>
ByOwasp IReadOnlyDictionary<string, int>
Diff SecurityReportDiff

Equals(SecurityReport?)

public bool Equals(SecurityReport? other)

Parameters

other SecurityReport

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToMarkdown(string?)

Deterministic markdown skeleton — no AI. An executive summary can be prepended.

public string ToMarkdown(string? executiveSummary = null)

Parameters

executiveSummary string

Returns

string

ToString()

public override string ToString()

Returns

string

Operators

operator ==(SecurityReport?, SecurityReport?)

public static bool operator ==(SecurityReport? left, SecurityReport? right)

Parameters

left SecurityReport
right SecurityReport

Returns

bool

operator !=(SecurityReport?, SecurityReport?)

public static bool operator !=(SecurityReport? left, SecurityReport? right)

Parameters

left SecurityReport
right SecurityReport

Returns

bool