mirror of
https://github.com/kubescape/kubescape.git
synced 2026-04-07 11:16:53 +00:00
62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
package containerscan
|
|
|
|
const (
|
|
//defines Relevancy as enum-like
|
|
Unknown = "Unknown"
|
|
Relevant = "Relevant"
|
|
Irelevant = "Irelevant"
|
|
NoSP = "No signature profile to compare"
|
|
|
|
//Clair Severities
|
|
UnknownSeverity = "Unknown"
|
|
NegligibleSeverity = "Negligible"
|
|
LowSeverity = "Low"
|
|
MediumSeverity = "Medium"
|
|
HighSeverity = "High"
|
|
CriticalSeverity = "Critical"
|
|
|
|
ContainerScanRedisPrefix = "_containerscan"
|
|
)
|
|
|
|
var KnownSeverities = map[string]bool{
|
|
UnknownSeverity: true,
|
|
NegligibleSeverity: true,
|
|
LowSeverity: true,
|
|
MediumSeverity: true,
|
|
HighSeverity: true,
|
|
CriticalSeverity: true,
|
|
}
|
|
|
|
// CalculateFixed calculates the number of fixes in a given list of FixedIn objects.
|
|
//
|
|
// Example Usage:
|
|
//
|
|
// fixes := []FixedIn{
|
|
// {Version: "None"},
|
|
// {Version: "1.2.3"},
|
|
// {Version: ""},
|
|
// }
|
|
//
|
|
// result := CalculateFixed(fixes)
|
|
// fmt.Println(result) // Output: 1
|
|
//
|
|
// Inputs:
|
|
// - Fixes: a slice of FixedIn objects representing the fixes for a vulnerability.
|
|
//
|
|
// Flow:
|
|
// 1. Iterate over each FixedIn object in the Fixes slice.
|
|
// 2. Check if the Version field of the current FixedIn object is not equal to "None" and not empty.
|
|
// 3. If the condition is true for any FixedIn object, return 1.
|
|
// 4. If the loop completes without returning, return 0.
|
|
//
|
|
// Outputs:
|
|
// - An integer representing the number of fixes found in the Fixes slice.
|
|
func CalculateFixed(Fixes []FixedIn) int {
|
|
for _, fix := range Fixes {
|
|
if fix.Version != "None" && fix.Version != "" {
|
|
return 1
|
|
}
|
|
}
|
|
return 0
|
|
}
|