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
TargetstringFindingsIReadOnlyList<SecurityReportFinding>BySeverityIReadOnlyDictionary<string, int>ByOwaspIReadOnlyDictionary<string, int>DiffSecurityReportDiff
Properties
ByOwasp
public IReadOnlyDictionary<string, int> ByOwasp { get; init; }
Property Value
BySeverity
public IReadOnlyDictionary<string, int> BySeverity { get; init; }
Property Value
Diff
public SecurityReportDiff? Diff { get; init; }
Property Value
Findings
public IReadOnlyList<SecurityReportFinding> Findings { get; init; }
Property Value
Target
public string? Target { get; init; }
Property Value
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
TargetstringFindingsIReadOnlyList<SecurityReportFinding>BySeverityIReadOnlyDictionary<string, int>ByOwaspIReadOnlyDictionary<string, int>DiffSecurityReportDiff
Equals(SecurityReport?)
public bool Equals(SecurityReport? other)
Parameters
otherSecurityReport
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
OwaspLink(string)
The code, linked to its page on owasp.org when it is a Top-10 entry.
public static string OwaspLink(string code)
Parameters
codestring
Returns
OwaspName(string)
The risk's name for a scanner OWASP code, or the code itself when it is not a Top-10 entry.
public static string OwaspName(string code)
Parameters
codestring
Returns
ToMarkdown(string?)
Deterministic markdown skeleton — no AI. An executive summary can be prepended.
public string ToMarkdown(string? executiveSummary = null)
Parameters
executiveSummarystring
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(SecurityReport?, SecurityReport?)
public static bool operator ==(SecurityReport? left, SecurityReport? right)
Parameters
leftSecurityReportrightSecurityReport
Returns
operator !=(SecurityReport?, SecurityReport?)
public static bool operator !=(SecurityReport? left, SecurityReport? right)
Parameters
leftSecurityReportrightSecurityReport