ecluse
Safe HaskellNone
LanguageGHC2021

Ecluse.Pilot.Osv

Synopsis

Documentation

data OsvAdvisory Source #

Exact model of what osv.dev makes available

Instances

Instances details
FromJSON OsvAdvisory Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvAdvisory Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvAdvisory 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAdvisory = D1 ('MetaData "OsvAdvisory" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvAdvisory" 'PrefixI 'True) (S1 ('MetaSel ('Just "osvId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "osvAffected") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [OsvAffected])) :*: S1 ('MetaSel ('Just "osvDatabaseSpecific") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OsvDatabaseSpecific)))))
Show OsvAdvisory Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvAdvisory Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAdvisory Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAdvisory = D1 ('MetaData "OsvAdvisory" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvAdvisory" 'PrefixI 'True) (S1 ('MetaSel ('Just "osvId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "osvAffected") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [OsvAffected])) :*: S1 ('MetaSel ('Just "osvDatabaseSpecific") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe OsvDatabaseSpecific)))))

data OsvAffected Source #

Instances

Instances details
FromJSON OsvAffected Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvAffected Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvAffected 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAffected = D1 ('MetaData "OsvAffected" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvAffected" 'PrefixI 'True) (S1 ('MetaSel ('Just "affectedPackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OsvPackage) :*: S1 ('MetaSel ('Just "affectedRanges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [OsvRange]))))
Show OsvAffected Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvAffected Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAffected Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvAffected = D1 ('MetaData "OsvAffected" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvAffected" 'PrefixI 'True) (S1 ('MetaSel ('Just "affectedPackage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 OsvPackage) :*: S1 ('MetaSel ('Just "affectedRanges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [OsvRange]))))

data OsvPackage Source #

Constructors

OsvPackage 

Instances

Instances details
FromJSON OsvPackage Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvPackage Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvPackage 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvPackage = D1 ('MetaData "OsvPackage" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvPackage" 'PrefixI 'True) (S1 ('MetaSel ('Just "packageName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "packageEcosystem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))
Show OsvPackage Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvPackage Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvPackage Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvPackage = D1 ('MetaData "OsvPackage" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvPackage" 'PrefixI 'True) (S1 ('MetaSel ('Just "packageName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "packageEcosystem") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

data OsvRange Source #

Constructors

OsvRange 

Instances

Instances details
FromJSON OsvRange Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvRange Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvRange 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvRange = D1 ('MetaData "OsvRange" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "rangeType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "rangeEvents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [OsvEvent])))

Methods

from :: OsvRange -> Rep OsvRange x #

to :: Rep OsvRange x -> OsvRange #

Show OsvRange Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvRange Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvRange Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvRange = D1 ('MetaData "OsvRange" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "rangeType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "rangeEvents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [OsvEvent])))

data OsvEvent Source #

Constructors

OsvEvent 

Instances

Instances details
FromJSON OsvEvent Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvEvent Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvEvent 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvEvent = D1 ('MetaData "OsvEvent" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "eventIntroduced") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "eventFixed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

Methods

from :: OsvEvent -> Rep OsvEvent x #

to :: Rep OsvEvent x -> OsvEvent #

Show OsvEvent Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvEvent Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvEvent Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvEvent = D1 ('MetaData "OsvEvent" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'False) (C1 ('MetaCons "OsvEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "eventIntroduced") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "eventFixed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))

newtype OsvDatabaseSpecific Source #

The subset of an advisory's database_specific block the pipeline consumes.

Constructors

OsvDatabaseSpecific 

Fields

  • dbsSeverity :: Maybe Text

    The source database's qualitative severity label (for GHSA-sourced npm advisories: LOW, MODERATE, HIGH, or CRITICAL).

Instances

Instances details
FromJSON OsvDatabaseSpecific Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Generic OsvDatabaseSpecific Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Associated Types

type Rep OsvDatabaseSpecific 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvDatabaseSpecific = D1 ('MetaData "OsvDatabaseSpecific" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'True) (C1 ('MetaCons "OsvDatabaseSpecific" 'PrefixI 'True) (S1 ('MetaSel ('Just "dbsSeverity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))
Show OsvDatabaseSpecific Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq OsvDatabaseSpecific Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvDatabaseSpecific Source # 
Instance details

Defined in Ecluse.Pilot.Osv

type Rep OsvDatabaseSpecific = D1 ('MetaData "OsvDatabaseSpecific" "Ecluse.Pilot.Osv" "ecluse-0.1.0-inplace" 'True) (C1 ('MetaCons "OsvDatabaseSpecific" 'PrefixI 'True) (S1 ('MetaSel ('Just "dbsSeverity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))))

data ExtractedOsv Source #

The necessary subset of data requested by the goal: package names, ecosystem identifiers, cve_id, and remediation boundaries.

Constructors

ExtractedOsv 

Fields

Instances

Instances details
Show ExtractedOsv Source # 
Instance details

Defined in Ecluse.Pilot.Osv

Eq ExtractedOsv Source # 
Instance details

Defined in Ecluse.Pilot.Osv

osvExportUrl :: Text -> Text -> String Source #

An ecosystem's advisory export under an OSV-layout base URL (<base>/<ecosystem>/all.zip): a zip archive of every advisory currently published for the ecosystem. The base comes from configuration (osvExportBaseUrl), so a moved or mirrored upstream never needs a new binary; a trailing slash on the base is tolerated.

>>> osvExportUrl "https://osv-vulnerabilities.storage.googleapis.com/" "npm"
"https://osv-vulnerabilities.storage.googleapis.com/npm/all.zip"