41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System.Collections.Immutable;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace StellaOps.Concelier.Connector.Ru.Nkcki.Internal;
|
|
|
|
internal sealed record RuNkckiVulnerabilityDto(
|
|
string? FstecId,
|
|
string? MitreId,
|
|
DateTimeOffset? DatePublished,
|
|
DateTimeOffset? DateUpdated,
|
|
string? CvssRating,
|
|
bool? PatchAvailable,
|
|
string? Description,
|
|
RuNkckiCweDto? Cwe,
|
|
ImmutableArray<string> ProductCategories,
|
|
string? Mitigation,
|
|
string? VulnerableSoftwareText,
|
|
bool? VulnerableSoftwareHasCpe,
|
|
ImmutableArray<RuNkckiSoftwareEntry> VulnerableSoftwareEntries,
|
|
double? CvssScore,
|
|
string? CvssVector,
|
|
double? CvssScoreV4,
|
|
string? CvssVectorV4,
|
|
string? Impact,
|
|
string? MethodOfExploitation,
|
|
bool? UserInteraction,
|
|
ImmutableArray<string> Urls,
|
|
ImmutableArray<string> Tags)
|
|
{
|
|
[JsonIgnore]
|
|
public string AdvisoryKey => !string.IsNullOrWhiteSpace(FstecId)
|
|
? FstecId!
|
|
: !string.IsNullOrWhiteSpace(MitreId)
|
|
? MitreId!
|
|
: Guid.NewGuid().ToString();
|
|
}
|
|
|
|
internal sealed record RuNkckiCweDto(int? Number, string? Description);
|
|
|
|
internal sealed record RuNkckiSoftwareEntry(string Identifier, string Evidence, ImmutableArray<string> RangeExpressions);
|