| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Core.Osv.Advisory
Description
Decode advisory evidence for the compiled artifact. Package keys use the same ecosystem identity as policy queries.
Synopsis
- data OsvAdvisory = OsvAdvisory {}
- data OsvAffected = OsvAffected {}
- data OsvPackage = OsvPackage {}
- data OsvRange = OsvRange {
- rangeType :: Text
- rangeEvents :: [OsvEvent]
- data OsvEvent = OsvEvent {}
- newtype OsvDatabaseSpecific = OsvDatabaseSpecific {
- dbsSeverity :: Maybe Text
- data OsvSeverityEntry = OsvSeverityEntry {}
- data ExtractedOsv = ExtractedOsv {}
- advisorySeverity :: OsvAdvisory -> Maybe Double
- extractFromAdvisory :: EpssScores -> OsvAdvisory -> [ExtractedOsv]
- orderableBounds :: Ecosystem -> ExtractedOsv -> Bool
- unorderableBounds :: Ecosystem -> ExtractedOsv -> [Text]
- osvExportUrl :: Text -> Text -> String
Documentation
data OsvAdvisory Source #
The OSV fields used to select and score active advisory evidence.
Constructors
| OsvAdvisory | |
Fields
| |
Instances
| FromJSON OsvAdvisory Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
| Show OsvAdvisory Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> OsvAdvisory -> ShowS # show :: OsvAdvisory -> String # showList :: [OsvAdvisory] -> ShowS # | |
| Eq OsvAdvisory Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
data OsvAffected Source #
Constructors
| OsvAffected | |
Fields
| |
Instances
| FromJSON OsvAffected Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
| Show OsvAffected Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> OsvAffected -> ShowS # show :: OsvAffected -> String # showList :: [OsvAffected] -> ShowS # | |
| Eq OsvAffected Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
data OsvPackage Source #
Constructors
| OsvPackage | |
Fields
| |
Instances
| FromJSON OsvPackage Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
| Show OsvPackage Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> OsvPackage -> ShowS # show :: OsvPackage -> String # showList :: [OsvPackage] -> ShowS # | |
| Eq OsvPackage Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
Constructors
| OsvRange | |
Fields
| |
One event in a range's ordered event list, carrying exactly one bound. introduced opens
the affected interval inclusively, fixed closes it exclusively, and last_affected inclusively.
Constructors
| OsvEvent | |
Fields | |
newtype OsvDatabaseSpecific Source #
The subset of an advisory's database_specific block the pipeline consumes.
Constructors
| OsvDatabaseSpecific | |
Fields
| |
Instances
| FromJSON OsvDatabaseSpecific Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods parseJSON :: Value -> Parser OsvDatabaseSpecific # parseJSONList :: Value -> Parser [OsvDatabaseSpecific] # | |
| Show OsvDatabaseSpecific Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> OsvDatabaseSpecific -> ShowS # show :: OsvDatabaseSpecific -> String # showList :: [OsvDatabaseSpecific] -> ShowS # | |
| Eq OsvDatabaseSpecific Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods (==) :: OsvDatabaseSpecific -> OsvDatabaseSpecific -> Bool # (/=) :: OsvDatabaseSpecific -> OsvDatabaseSpecific -> Bool # | |
data OsvSeverityEntry Source #
One entry of an advisory's severity array: a scoring-system tag (CVSS_V3) and
its value. For a CVSS system that value is the vector string, not a number.
Constructors
| OsvSeverityEntry | |
Instances
| FromJSON OsvSeverityEntry Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods parseJSON :: Value -> Parser OsvSeverityEntry # parseJSONList :: Value -> Parser [OsvSeverityEntry] # | |
| Show OsvSeverityEntry Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> OsvSeverityEntry -> ShowS # show :: OsvSeverityEntry -> String # showList :: [OsvSeverityEntry] -> ShowS # | |
| Eq OsvSeverityEntry Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods (==) :: OsvSeverityEntry -> OsvSeverityEntry -> Bool # (/=) :: OsvSeverityEntry -> OsvSeverityEntry -> Bool # | |
data ExtractedOsv Source #
An artifact segment keyed by the ecosystem's canonical package name. A missing introduced bound means affected from the beginning.
Constructors
| ExtractedOsv | |
Fields
| |
Instances
| Show ExtractedOsv Source # | |
Defined in Ecluse.Core.Osv.Advisory Methods showsPrec :: Int -> ExtractedOsv -> ShowS # show :: ExtractedOsv -> String # showList :: [ExtractedOsv] -> ShowS # | |
| Eq ExtractedOsv Source # | |
Defined in Ecluse.Core.Osv.Advisory | |
advisorySeverity :: OsvAdvisory -> Maybe Double Source #
Prefer the highest parsing CVSS vector, then the qualitative label's ceiling, or no score.
extractFromAdvisory :: EpssScores -> OsvAdvisory -> [ExtractedOsv] Source #
Emit only active advisory segments, with canonical package keys and raw version bounds. Withdrawn records emit nothing. Unknown ecosystems keep their package spelling.
orderableBounds :: Ecosystem -> ExtractedOsv -> Bool Source #
Does every bound this segment carries parse under the ecosystem's version grammar? A bound
that does not leaves affecting matching every version, fail-closed.
unorderableBounds :: Ecosystem -> ExtractedOsv -> [Text] Source #
The bounds this segment carries that the ecosystem's version grammar cannot parse.