Documentation
¶
Index ¶
- type Affects
- type BaseMetricV2
- type BaseMetricV3
- type CPEMatch
- type CPEName
- type CPEReference
- type CPEReferenceType
- type CPEResponse
- type CPEResult
- type CVE
- type CVECPEName
- type CVEDataMeta
- type CVEFinding
- type CVEItem
- type CVEReference
- type CVEReferences
- type CVEResponse
- type CVEResult
- type CVSSV2
- type CVSSV3
- type Configurations
- type Description
- type Entry
- type Finding
- type FindingRequest
- type Host
- type Impact
- type LangString
- type Node
- type Port
- type ProblemType
- type ProblemTypeData
- type Product
- type RiskScore
- type Service
- type SiriusAgent
- type Star
- type Task
- type TaskResponse
- type TerminalHistory
- type Title
- type Vendor
- type VendorData
- type VendorProduct
- type Version
- type VersionData
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseMetricV2 ¶ added in v0.0.3
type BaseMetricV2 struct {
CVSSV2 CVSSV2 `json:"cvssV2"`
Severity string `json:"severity"`
ExploitabilityScore float64 `json:"exploitabilityScore"`
ImpactScore float64 `json:"impactScore"`
AcInsufInfo bool `json:"acInsufInfo"`
ObtainAllPrivilege bool `json:"obtainAllPrivilege"`
ObtainUserPrivilege bool `json:"obtainUserPrivilege"`
ObtainOtherPrivilege bool `json:"obtainOtherPrivilege"`
UserInteractionRequired bool `json:"userInteractionRequired"`
}
type BaseMetricV3 ¶ added in v0.0.3
type CPEMatch ¶ added in v0.0.3
type CPEMatch struct {
Vulnerable bool `json:"vulnerable"`
CPE22URI string `json:"cpe22Uri,omitempty"`
CPE23URI string `json:"cpe23Uri"`
VersionStartExcluding string `json:"versionStartExcluding,omitempty"`
VersionStartIncluding string `json:"versionStartIncluding,omitempty"`
VersionEndExcluding string `json:"versionEndExcluding,omitempty"`
VersionEndIncluding string `json:"versionEndIncluding,omitempty"`
CPEName []CVECPEName `json:"cpe_name,omitempty"`
}
CPEMatch is the CPE Match string or range as defined in the NIST API schema.
type CPEName ¶ added in v0.0.3
type CPEName struct {
CPE23URI string `json:"cpe23Uri"`
LastModifiedDate string `json:"lastModifiedDate"`
Deprecated bool `json:"deprecated,omitempty"`
DeprecatedBy []string `json:"deprecatedBy,omitempty"`
Titles []Title `json:"titles,omitempty"`
Refs []CPEReference `json:"refs,omitempty"`
Vulnerabilities []string `json:"vulnerabilities,omitempty"`
}
CPE name
type CPEReference ¶ added in v0.0.3
type CPEReference struct {
Ref string `json:"ref"`
Type CPEReferenceType `json:"type,omitempty"`
}
Internet resource for CPE
type CPEReferenceType ¶ added in v0.0.3
type CPEReferenceType string
var ( ADVISORY CPEReferenceType = "Advisory" CHANGE_LOG CPEReferenceType = "Change Log" PRODUCT CPEReferenceType = "Product" PROJECT CPEReferenceType = "Project" VENDOR CPEReferenceType = "Vendor" VERSION CPEReferenceType = "Version" )
type CPEResponse ¶ added in v0.0.3
type CVE ¶ added in v0.0.3
type CVE struct {
DataType string `json:"data_type"`
DataFormat string `json:"data_format"`
DataVersion string `json:"data_version"`
CVEDataMeta CVEDataMeta `json:"cve_data_meta"`
Affects *Affects `json:"affects,omitempty"`
ProblemType ProblemType `json:"problemtype"`
References CVEReferences `json:"references"`
Description Description `json:"description"`
}
CVE as defined in the NIST API schema.
type CVECPEName ¶ added in v0.0.3
type CVECPEName struct {
CPE22URI string `json:"cpe22Uri,omitempty"`
CPE23URI string `json:"cpe23Uri"`
LastModifiedDate string `json:"lastModifiedDate,omitempty"`
}
CPEName is the CPE name as defined in the NIST API schema.
type CVEDataMeta ¶ added in v0.0.3
type CVEFinding ¶ added in v0.0.3
type CVEFinding struct {
CVEDataType string `json:"cvedatatype"`
CVEDataFormat string `json:"cvedataformat"`
CVEDataVersion string `json:"cvedataversion"`
CVEDataNumberOfCVEs *string `json:"cvedatanumberofcves,omitempty"`
CVEDataTimestamp string `json:"cvedatatimestamp"`
CVEDataMeta CVEDataMeta
Description Description `json:"description"`
}
type CVEItem ¶ added in v0.0.3
type CVEItem struct {
CVE CVE `json:"cve"`
Configurations Configurations `json:"configurations,omitempty"`
Impact *Impact `json:"impact,omitempty"`
PublishedDate *string `json:"publishedDate,omitempty"`
LastModifiedDate *string `json:"lastModifiedDate,omitempty"`
}
CVEITEM defines a vulnerability in the NVD data feed as defined in the NIST API schema.
type CVEReference ¶ added in v0.0.3
type CVEReferences ¶ added in v0.0.3
type CVEReferences struct {
// ReferenceData has a minimum of 0 and a maximum of 500
// items according to the NIST API schema.
ReferenceData []CVEReference `json:"reference_data"`
}
type CVEResponse ¶ added in v0.0.3
type CVEResult ¶ added in v0.0.3
type CVEResult struct {
CVEDataType string `json:"CVE_data_type"`
CVEDataFormat string `json:"CVE_data_format"`
CVEDataVersion string `json:"CVE_data_version"`
CVEDataNumberOfCVEs *string `json:"CVE_data_numberOfCVEs,omitempty"`
CVEDataTimestamp string `json:"CVE_data_timestamp"`
CVEItems *[]CVEItem `json:"CVE_Items,omitempty"`
}
type CVSSV2 ¶ added in v0.0.3
type CVSSV2 struct {
Version string `json:"version"`
VectorString string `json:"vectorString"`
AccessVector string `json:"accessVector"`
AccessComplexity string `json:"accessComplexity"`
Authentication string `json:"authentication"`
ConfidentialityImpact string `json:"confidentialityImpact"`
IntegrityImpact string `json:"integrityImpact"`
AvailabilityImpact string `json:"availabilityImpact"`
BaseScore float64 `json:"baseScore"`
Exploitability string `json:"exploitability"`
RemediationLevel string `json:"remediationLevel"`
ReportConfidence string `json:"reportConfidence"`
TemporalScore float64 `json:"temporalScore"`
CollateralDamagePotential string `json:"collateralDamagePotential"`
TargetDistribution string `json:"targetDistribution"`
ConfidentialityRequirement string `json:"confidentialityRequirement"`
IntegrityRequirement string `json:"integrityRequirement"`
AvailabilityRequirement string `json:"availabilityRequirement"`
EnvironmentalScore float64 `json:"environmentalScore"`
}
type CVSSV3 ¶ added in v0.0.3
type CVSSV3 struct {
Version string `json:"version"`
VectorString string `json:"vectorString"`
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"`
BaseScore float64 `json:"baseScore"`
BaseSeverity string `json:"baseSeverity"`
ExploitCodeMaturity string `json:"exploitCodeMaturity"`
RemediationLevel string `json:"remediationLevel"`
ReportConfidence string `json:"reportConfidence"`
TemporalScore float64 `json:"temporalScore"`
TemporalSeverity string `json:"temporalSeverity"`
ConfidentialityRequirement string `json:"confidentialityRequirement"`
IntegrityRequirement string `json:"integrityRequirement"`
AvailabilityRequirement string `json:"availabilityRequirement"`
ModifiedAttackVector string `json:"modifiedAttackVector"`
ModifiedAttackComplexity string `json:"modifiedAttackComplexity"`
ModifiedPrivilegesRequired string `json:"modifiedPrivilegesRequired"`
ModifiedUserInteraction string `json:"modifiedUserInteraction"`
ModifiedScope string `json:"modifiedScope"`
ModifiedConfidentialityImpact string `json:"modifiedConfidentialityImpact"`
ModifiedIntegrityImpact string `json:"modifiedIntegrityImpact"`
ModifiedAvailabilityImpact string `json:"modifiedAvailabilityImpact"`
EnvironmentalScore float64 `json:"environmentalScore"`
EnvironmentalSeverity string `json:"environmentalSeverity"`
}
type Configurations ¶ added in v0.0.3
type Configurations struct {
CVEDataVersion string `json:"CVE_data_version"`
Nodes []Node `json:"nodes,omitempty"`
}
Configurations defines the set of product configurations for a NVD applicability statement as defined in the NIST API schema.
type Description ¶ added in v0.0.3
type Description struct {
// DescriptionData has a minimum of 0 items according to
// the NIST API schema.
Value string `json:"value"`
}
type FindingRequest ¶ added in v0.0.3
type Host ¶ added in v0.0.3
type Host struct {
HID string `gorm:"primaryKey" json:"hid"`
OS string `json:"os"`
OSVersion string `json:"osversion"`
IP string `json:"ip"`
Hostname string `json:"hostname"`
Ports []Port `json:"ports"`
Services []Service `json:"services,omitempty"`
Vulnerabilities []Vulnerability `json:"vulnerabilities,omitempty"`
CPE []string `json:"cpe"`
Users []string `json:"users"`
Notes []string `json:"notes"`
Agent *SiriusAgent `json:"agent,omitempty"`
}
type Impact ¶ added in v0.0.3
type Impact struct {
BaseMetricV3 BaseMetricV3 `json:"baseMetricV3,omitempty"`
BaseMetricV2 BaseMetricV2 `json:"baseMetricV2,omitempty"`
}
Impact scores for a vulnerability as found on NVD as defined in the NIST API schema.
type LangString ¶ added in v0.0.3
type Node ¶ added in v0.0.3
type Node struct {
Operator string `json:"operator,omitempty"`
Negate bool `json:"negate,omitempty"`
Children []Node `json:"children,omitempty"`
CPEMatch []CPEMatch `json:"cpe_match,omitempty"`
}
Node is a node or sub-node in an NVD applicability statement as defined in the NIST API schema.
type ProblemType ¶ added in v0.0.3
type ProblemType struct {
// ProblemTypeData has a minimum of 0 items according to the
// NIST API schema.
ProblemTypeData []ProblemTypeData `json:"problemtype_data"`
}
type ProblemTypeData ¶ added in v0.0.3
type ProblemTypeData struct {
// Description has a minimum of 0 items according to the
// NIST API schema.
Description []LangString `json:"description"`
}
type RiskScore ¶ added in v0.0.3
type RiskScore struct {
CVSSV3 BaseMetricV3 `json:"CVSSV3,omitempty"`
CVSSV2 BaseMetricV2 `json:"CVSSV2,omitempty"`
}
type SiriusAgent ¶ added in v0.0.3
type TaskResponse ¶ added in v0.0.3
type TerminalHistory ¶ added in v0.0.3
type Vendor ¶ added in v0.0.3
type Vendor struct {
// VendorData has a minimum of 0 items according to the
// NIST API schema.
VendorData []VendorData `json:""`
}
type VendorData ¶ added in v0.0.3
type VendorData struct {
VendorName string `json:"vendor_name"`
Product VendorProduct `json:"product"`
}
type VendorProduct ¶ added in v0.0.3
type VendorProduct struct {
// ProductData has a minimum of 1 item according to the
// NIST API schema.
ProductData []Product `json:"product_data"`
}
type Version ¶ added in v0.0.3
type Version struct {
// VersionData has a minimum of 1 item according to the
// NIST API schema.
VersionData []VersionData `json:"version_data"`
}
type VersionData ¶ added in v0.0.3
type Vulnerability ¶ added in v0.0.3
type Vulnerability struct {
VID string `json:"vid"`
Description string `json:"description"`
Title string `json:"title"`
RiskScore float64 `json:"riskScore,omitempty"`
// Enhanced metadata fields for script detection
CVEID string `json:"cve_id,omitempty"`
CVSSScore float64 `json:"cvss_score,omitempty"`
CVSSVector string `json:"cvss_vector,omitempty"`
Severity string `json:"severity,omitempty"`
Remediation string `json:"remediation,omitempty"`
Category string `json:"category,omitempty"`
Tags []string `json:"tags,omitempty"`
Confidence float64 `json:"confidence,omitempty"`
// Additional metadata as JSON
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
========================= Vulnerability =========================