41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.Collections.Immutable;
 | |
| using System.Text.Json.Serialization;
 | |
| 
 | |
| namespace StellaOps.Feedser.Source.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);
 |