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 =========================