Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Operator string `json:"operator"`
Negate bool `json:"negate,omitempty"`
Nodes []Node `json:"nodes"`
}
"configurations" array items
type CpeMatch ¶
type CpeMatch struct {
Vulnerable bool `json:"vulnerable"`
Criteria string `json:"criteria"`
MatchCriteriaID string `json:"matchCriteriaId"`
VersionStartExcluding string `json:"versionStartExcluding,omitempty"`
VersionStartIncluding string `json:"versionStartIncluding,omitempty"`
VersionEndExcluding string `json:"versionEndExcluding,omitempty"`
VersionEndIncluding string `json:"versionEndIncluding,omitempty"`
}
An item in "cpeMatch"
type CveItem ¶
type CveItem struct {
ID string `json:"id"`
SourceIdentifier string `json:"sourceIdentifier"`
VulnStatus string `json:"vulnStatus"`
Published string `json:"published"`
LastModified string `json:"lastModified"`
EvaluatorComment *string `json:"evaluatorComment,omitempty"`
EvaluatorSolution *string `json:"evaluatorSolution,omitempty"`
EvaluatorImpact *string `json:"evaluatorImpact,omitempty"`
CisaExploitAdd *string `json:"cisaExploitAdd,omitempty"`
CisaActionDue *string `json:"cisaActionDue,omitempty"`
CisaRequiredAction *string `json:"cisaRequiredAction,omitempty"`
CisaVulnerabilityName *string `json:"cisaVulnerabilityName,omitempty"`
CveTags []CveTag `json:"cveTags,omitempty"`
Descriptions []LangString `json:"descriptions"`
References []Reference `json:"references"`
Metrics Metrics `json:"metrics,omitempty"`
Weaknesses []Weakness `json:"weaknesses,omitempty"`
Configurations []Config `json:"configurations,omitempty"`
VendorComments []VendorComment `json:"vendorComments,omitempty"`
}
CVE object per NVD schema
type CveTag ¶
type CveTag struct {
SourceIdentifier string `json:"sourceIdentifier"`
Tags []string `json:"tags"`
}
Each object in "cveTags"
type CvssDataV2 ¶
type CvssDataV2 struct {
Version string `json:"version"`
VectorString string `json:"vectorString"`
BaseScore float64 `json:"baseScore"`
AccessVector string `json:"accessVector"`
AccessComplexity string `json:"accessComplexity"`
Authentication string `json:"authentication"`
ConfidentialityImpact string `json:"confidentialityImpact"`
IntegrityImpact string `json:"integrityImpact"`
AvailabilityImpact string `json:"availabilityImpact"`
}
CVSS v2.0 data
type CvssDataV30 ¶
type CvssDataV30 struct {
Version string `json:"version"`
VectorString string `json:"vectorString"`
BaseScore float64 `json:"baseScore"`
BaseSeverity string `json:"baseSeverity"`
AttackVector string `json:"attackVector"`
AttackComplexity string `json:"attackComplexity"`
PrivilegesRequired string `json:"privilegesRequired"`
UserInteraction string `json:"userInteraction"`
Scope string `json:"scope"`
ConfidentialityImpact string `json:"confidentialityImpact"`
IntegrityImpact string `json:"integrityImpact"`
AvailabilityImpact string `json:"availabilityImpact"`
}
CVSS v3.0 data
type CvssDataV31 ¶
type CvssDataV31 struct {
Version string `json:"version"`
VectorString string `json:"vectorString"`
BaseScore float64 `json:"baseScore"`
BaseSeverity string `json:"baseSeverity"`
AttackVector string `json:"attackVector"`
AttackComplexity string `json:"attackComplexity"`
PrivilegesRequired string `json:"privilegesRequired"`
UserInteraction string `json:"userInteraction"`
Scope string `json:"scope"`
ConfidentialityImpact string `json:"confidentialityImpact"`
IntegrityImpact string `json:"integrityImpact"`
AvailabilityImpact string `json:"availabilityImpact"`
}
CVSS v3.1 data
type CvssDataV40 ¶
type CvssDataV40 struct {
// For full parity, define fields from https://csrc.nist.gov/schema/nvd/api/2.0/external/cvss-v4.0.json
// This example structure only shows typical fields from sample data; expand as needed.
Version string `json:"version"`
VectorString string `json:"vectorString"`
}
CVSS v4.0 data
type CvssV2 ¶
type CvssV2 struct {
Source string `json:"source"`
Type string `json:"type"`
CvssData CvssDataV2 `json:"cvssData"`
BaseSeverity *string `json:"baseSeverity,omitempty"`
ExploitabilityScore *float64 `json:"exploitabilityScore,omitempty"`
ImpactScore *float64 `json:"impactScore,omitempty"`
AcInsufInfo *bool `json:"acInsufInfo,omitempty"`
ObtainAllPrivilege *bool `json:"obtainAllPrivilege,omitempty"`
ObtainUserPrivilege *bool `json:"obtainUserPrivilege,omitempty"`
ObtainOtherPrivilege *bool `json:"obtainOtherPrivilege,omitempty"`
UserInteractionRequired *bool `json:"userInteractionRequired,omitempty"`
}
CVSS v2.0
type CvssV30 ¶
type CvssV30 struct {
Source string `json:"source"`
Type string `json:"type"`
CvssData CvssDataV30 `json:"cvssData"`
ExploitabilityScore float64 `json:"exploitabilityScore,omitempty"`
ImpactScore float64 `json:"impactScore,omitempty"`
}
CVSS v3.0
type CvssV31 ¶
type CvssV31 struct {
Source string `json:"source"`
Type string `json:"type"`
CvssData CvssDataV31 `json:"cvssData"`
ExploitabilityScore float64 `json:"exploitabilityScore,omitempty"`
ImpactScore float64 `json:"impactScore,omitempty"`
}
CVSS v3.1
type CvssV40 ¶
type CvssV40 struct {
Source string `json:"source"`
Type string `json:"type"`
CvssData CvssDataV40 `json:"cvssData"`
}
CVSS v4.0
type DefCVEItem ¶
type DefCVEItem struct {
CVE CveItem `json:"cve"`
}
An item in the "vulnerabilities" array
type LangString ¶
"descriptions" array items
type Metrics ¶
type Metrics struct {
CvssMetricV40 []CvssV40 `json:"cvssMetricV40,omitempty"`
CvssMetricV31 []CvssV31 `json:"cvssMetricV31,omitempty"`
CvssMetricV30 []CvssV30 `json:"cvssMetricV30,omitempty"`
CvssMetricV2 []CvssV2 `json:"cvssMetricV2,omitempty"`
}
Container for multiple CVSS versions
type NVDResponse ¶
type NVDResponse struct {
ResultsPerPage int `json:"resultsPerPage"`
StartIndex int `json:"startIndex"`
TotalResults int `json:"totalResults"`
Format string `json:"format"`
Version string `json:"version"`
Timestamp string `json:"timestamp"`
Vulnerabilities []DefCVEItem `json:"vulnerabilities"`
}
Top-level response
type Node ¶
type Node struct {
Operator string `json:"operator"`
Negate bool `json:"negate,omitempty"`
CpeMatch []CpeMatch `json:"cpeMatch,omitempty"`
}
Each node in "configurations"
type Reference ¶
type Reference struct {
URL string `json:"url"`
Source string `json:"source,omitempty"`
Tags []string `json:"tags,omitempty"`
}
"references" array items
type VendorComment ¶
type VendorComment struct {
Organization string `json:"organization"`
Comment string `json:"comment"`
LastModified string `json:"lastModified"`
}
"vendorComments" array items
type Weakness ¶
type Weakness struct {
Source string `json:"source"`
Type string `json:"type"`
Description []LangString `json:"description"`
}
"weaknesses" array items
Click to show internal directories.
Click to hide internal directories.