Documentation
¶
Index ¶
- Constants
- type Cert
- type Cisco
- type CiscoBugID
- type CiscoCweID
- type CiscoProduct
- type CiscoReference
- type CpeBase
- type CpeWFN
- type CveDetail
- type CveIDs
- type Cvss2
- type Cvss3
- type Cvss40
- type FetchMeta
- type Fortinet
- type FortinetCpe
- type FortinetCvss3
- type FortinetCwe
- type FortinetReference
- type Jvn
- type JvnCert
- type JvnCpe
- type JvnCvss2
- type JvnCvss3
- type JvnReference
- type Mitre
- type MitreCVEMetadata
- type MitreConfiguration
- type MitreConfigurationSupportingMedia
- type MitreContainer
- type MitreCredit
- type MitreDescription
- type MitreDescriptionSupportingMedia
- type MitreExploit
- type MitreExploitSupportingMedia
- type MitreImpact
- type MitreImpactDescription
- type MitreImpactDescriptionSupportingMedia
- type MitreMetric
- type MitreMetricCVSS2
- type MitreMetricCVSS30
- type MitreMetricCVSS31
- type MitreMetricCVSS40
- type MitreMetricKEV
- type MitreMetricOther
- type MitreMetricSSVC
- type MitreMetricScenario
- type MitreProblemType
- type MitreProblemTypeDescription
- type MitreProblemTypeDescriptionReference
- type MitreProduct
- type MitreProductCPE
- type MitreProductModule
- type MitreProductPlatform
- type MitreProductProgramFile
- type MitreProductProgramRoutine
- type MitreProductVersion
- type MitreProductVersionChange
- type MitreProviderMetadata
- type MitreReference
- type MitreSolution
- type MitreSolutionSupportingMedia
- type MitreTag
- type MitreTaxonomyMapping
- type MitreTaxonomyRelation
- type MitreTimeline
- type MitreWorkaround
- type MitreWorkaroundSupportingMedia
- type Nvd
- type NvdCert
- type NvdCpe
- type NvdCvss2Extra
- type NvdCvss3
- type NvdCvss40
- type NvdCwe
- type NvdDescription
- type NvdEnvCpe
- type NvdReference
- type Paloalto
- type PaloaltoCVSS3
- type PaloaltoCVSS40
- type PaloaltoConfiguration
- type PaloaltoDescription
- type PaloaltoExploit
- type PaloaltoImpact
- type PaloaltoProblemType
- type PaloaltoProduct
- type PaloaltoReference
- type PaloaltoSolution
- type PaloaltoWorkaround
- type Reference
- type Vulncheck
- type VulncheckCert
- type VulncheckCpe
- type VulncheckCvss2Extra
- type VulncheckCvss3
- type VulncheckCvss40
- type VulncheckCwe
- type VulncheckDescription
- type VulncheckReference
Constants ¶
const ( // CiscoType : CiscoType = "Cisco" // CiscoExactVersionMatch : CiscoExactVersionMatch = "CiscoExactVersionMatch" // CiscoRoughVersionMatch : CiscoRoughVersionMatch = "CiscoRoughVersionMatch" // CiscoVendorProductMatch : CiscoVendorProductMatch = "CiscoVendorProductMatch" )
const ( // FortinetType : FortinetType = "Fortinet" // FortinetExactVersionMatch : FortinetExactVersionMatch = "FortinetExactVersionMatch" // FortinetRoughVersionMatch : FortinetRoughVersionMatch = "FortinetRoughVersionMatch" // FortinetVendorProductMatch : FortinetVendorProductMatch = "FortinetVendorProductMatch" )
const ( // JvnType : JvnType = "JVN" // JvnVendorProductMatch : JvnVendorProductMatch = "JvnVendorProductMatch" )
const ( // NvdType : NvdType = "NVD" // NvdExactVersionMatch : NvdExactVersionMatch = "NvdExactVersionMatch" // NvdRoughVersionMatch : NvdRoughVersionMatch = "NvdRoughVersionMatch" // NvdVendorProductMatch : NvdVendorProductMatch = "NvdVendorProductMatch" )
const ( // PaloaltoType : PaloaltoType = "Paloalto" // PaloaltoExactVersionMatch : PaloaltoExactVersionMatch = "PaloaltoExactVersionMatch" // PaloaltoRoughVersionMatch : PaloaltoRoughVersionMatch = "PaloaltoRoughVersionMatch" // PaloaltoVendorProductMatch : PaloaltoVendorProductMatch = "PaloaltoVendorProductMatch" )
const ( // VulncheckType : VulncheckType = "VulnCheck" // VulncheckExactVersionMatch : VulncheckExactVersionMatch = "VulnCheckExactVersionMatch" // VulncheckRoughVersionMatch : VulncheckRoughVersionMatch = "VulnCheckRoughVersionMatch" // VulncheckVendorProductMatch : VulncheckVendorProductMatch = "VulnCheckVendorProductMatch" )
const LatestSchemaVersion = 3
LatestSchemaVersion manages the Schema version used in the latest go-cve-dictionary.
const (
// MitreType :
MitreType = "Mitre"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cisco ¶ added in v0.13.0
type Cisco struct {
ID int64 `json:"-"`
AdvisoryID string `gorm:"size:255"`
Title string `gorm:"size:256"`
Summary string `gorm:"size:-1"`
SIR string `gorm:"size:255"`
CveID string `gorm:"index:idx_ciscos_cveid;size:255"`
BugIDs []CiscoBugID
CweIDs []CiscoCweID
Affected []CiscoProduct
References []CiscoReference
FirstPublished time.Time
LastUpdated time.Time
DetectionMethod string `gorm:"-"`
}
Cisco is a model of Cisco
type CiscoBugID ¶ added in v0.13.0
type CiscoBugID struct {
ID int64 `json:"-"`
CiscoID uint `json:"-" gorm:"index:idx_cisco_bug_ids_cisco_id"`
BugID string `gorm:"index:idx_cisco_bugid;size:255"`
}
CiscoBugID :
type CiscoCweID ¶ added in v0.13.0
type CiscoCweID struct {
ID int64 `json:"-"`
CiscoID uint `json:"-" gorm:"index:idx_cisco_cwe_ids_cisco_id"`
CweID string `gorm:"index:idx_cisco_cweid;size:255"`
}
CiscoCweID :
type CiscoProduct ¶ added in v0.13.0
type CiscoProduct struct {
ID int64 `json:"-"`
CiscoID uint `json:"-" gorm:"index:idx_cisco_products_cisco_id"`
CpeBase `gorm:"embedded"`
}
CiscoProduct :
type CiscoReference ¶ added in v0.13.0
type CiscoReference struct {
ID int64 `json:"-"`
CiscoID uint `json:"-" gorm:"index:idx_cisco_references_cisco_id"`
Reference `gorm:"embedded"`
}
CiscoReference :
type CpeBase ¶ added in v0.2.0
type CpeBase struct {
URI string `gorm:"index;type:varchar(255)"`
FormattedString string `gorm:"index;type:varchar(255)"`
WellFormedName string `gorm:"type:text"`
CpeWFN `gorm:"embedded"`
VersionStartExcluding string `gorm:"type:varchar(255)"`
VersionStartIncluding string `gorm:"type:varchar(255)"`
VersionEndExcluding string `gorm:"type:varchar(255)"`
VersionEndIncluding string `gorm:"type:varchar(255)"`
}
CpeBase has common args of Cpe and EnvCpe
type CpeWFN ¶ added in v0.2.0
type CpeWFN struct {
Part string `gorm:"index;type:varchar(255)"`
Vendor string `gorm:"index;type:varchar(255)"`
Product string `gorm:"index;type:varchar(255)"`
Version string `gorm:"type:varchar(255)"`
Update string `gorm:"type:varchar(255)"`
Edition string `gorm:"type:varchar(255)"`
Language string `gorm:"type:varchar(255)"`
SoftwareEdition string `gorm:"type:varchar(255)"`
TargetSW string `gorm:"type:varchar(255)"`
TargetHW string `gorm:"type:varchar(255)"`
Other string `gorm:"type:varchar(255)"`
}
CpeWFN has CPE Well Formed name information
type CveDetail ¶
type CveDetail struct {
CveID string
Nvds []Nvd
Vulnchecks []Vulncheck
Jvns []Jvn
Fortinets []Fortinet
Mitres []Mitre
Paloaltos []Paloalto
Ciscos []Cisco
}
CveDetail :
func (CveDetail) HasFortinet ¶ added in v0.10.0
HasFortinet returns true if Fortinet contents
func (CveDetail) HasPaloalto ¶ added in v0.13.0
HasPaloalto returns true if Paloalto contents
func (CveDetail) HasVulncheck ¶ added in v0.14.0
HasVulncheck returns true if VulnCheck contents
type CveIDs ¶ added in v0.13.0
type CveIDs struct {
Nvd []string
Vulncheck []string
Jvn []string
Fortinet []string
Paloalto []string
Cisco []string
}
CveIDs :
type Cvss2 ¶ added in v0.2.0
type Cvss2 struct {
VectorString string `gorm:"type:varchar(255)"`
AccessVector string `gorm:"type:varchar(255)"`
AccessComplexity string `gorm:"type:varchar(255)"`
Authentication string `gorm:"type:varchar(255)"`
ConfidentialityImpact string `gorm:"type:varchar(255)"`
IntegrityImpact string `gorm:"type:varchar(255)"`
AvailabilityImpact string `gorm:"type:varchar(255)"`
BaseScore float64
Severity string `gorm:"type:varchar(255)"`
}
Cvss2 has CVSS Version 2 info
type Cvss3 ¶ added in v0.2.0
type Cvss3 struct {
VectorString string `gorm:"type:varchar(255)"`
AttackVector string `gorm:"type:varchar(255)"`
AttackComplexity string `gorm:"type:varchar(255)"`
PrivilegesRequired string `gorm:"type:varchar(255)"`
UserInteraction string `gorm:"type:varchar(255)"`
Scope string `gorm:"type:varchar(255)"`
ConfidentialityImpact string `gorm:"type:varchar(255)"`
IntegrityImpact string `gorm:"type:varchar(255)"`
AvailabilityImpact string `gorm:"type:varchar(255)"`
BaseScore float64
BaseSeverity string `gorm:"type:varchar(255)"`
ExploitabilityScore float64
ImpactScore float64
}
Cvss3 has CVSS Version 3 info
type Cvss40 ¶ added in v0.11.0
type Cvss40 struct {
VectorString string `gorm:"type:varchar(255)"`
BaseScore float64 `json:"baseScore"`
BaseSeverity string `gorm:"type:varchar(255)"`
ThreatScore *float64
ThreatSeverity *string `gorm:"type:varchar(255)"`
EnvironmentalScore *float64
EnvironmentalSeverity *string `gorm:"type:varchar(255)"`
}
Cvss40 has CVSS Version 4.0 info
type FetchMeta ¶ added in v0.8.1
type FetchMeta struct {
gorm.Model `json:"-"`
GoCVEDictRevision string
SchemaVersion uint
LastFetchedAt time.Time
}
FetchMeta has meta information about fetched CVE data
type Fortinet ¶ added in v0.10.0
type Fortinet struct {
ID int64 `json:"-"`
AdvisoryID string `gorm:"type:varchar(255)"`
CveID string `gorm:"index:idx_fortinets_cveid;type:varchar(255)"`
Title string `gorm:"type:varchar(255)"`
Summary string `gorm:"type:text"`
Descriptions string `gorm:"type:text"`
Cvss3 FortinetCvss3
Cwes []FortinetCwe
Cpes []FortinetCpe
References []FortinetReference
PublishedDate time.Time
LastModifiedDate time.Time
AdvisoryURL string `gorm:"type:text"`
DetectionMethod string `gorm:"-"`
}
Fortinet is a model of Fortinet
type FortinetCpe ¶ added in v0.10.0
type FortinetCpe struct {
ID int64 `json:"-"`
FortinetID uint `json:"-" gorm:"index:idx_fortinet_cpes_fortinet_id"`
CpeBase `gorm:"embedded"`
}
FortinetCpe is Child model of Fortinet.
type FortinetCvss3 ¶ added in v0.10.0
type FortinetCvss3 struct {
ID int64 `json:"-"`
FortinetID uint `json:"-" gorm:"index:idx_fortinet_cvss3_fortinet_id"`
Cvss3 `gorm:"embedded"`
}
FortinetCvss3 has Fortinet CVSS3 info
type FortinetCwe ¶ added in v0.10.0
type FortinetCwe struct {
ID int64 `json:"-"`
FortinetID uint `json:"-" gorm:"index:idx_fortinet_cwes_fortinet_id"`
CweID string `gorm:"type:varchar(255)"`
}
FortinetCwe has CweID
type FortinetReference ¶ added in v0.10.0
type FortinetReference struct {
ID int64 `json:"-"`
FortinetID uint `json:"-" gorm:"index:idx_fortinet_references_fortinet_id"`
Reference `gorm:"embedded"`
}
FortinetReference holds reference information about the CVE.
type Jvn ¶
type Jvn struct {
ID int64 `json:"-"`
CveID string `gorm:"index:idx_jvns_cveid;type:varchar(255)"`
Title string `gorm:"type:varchar(255)"`
Summary string `gorm:"type:text"`
JvnLink string `gorm:"type:varchar(255)"`
JvnID string `gorm:"type:varchar(255)"`
Cvss2 JvnCvss2
Cvss3 JvnCvss3
Cpes []JvnCpe
References []JvnReference
Certs []JvnCert
PublishedDate time.Time
LastModifiedDate time.Time
DetectionMethod string `gorm:"-"`
}
Jvn is a model of JVN
type JvnCert ¶ added in v0.8.1
type JvnCert struct {
ID int64 `json:"-"`
JvnID uint `json:"-" gorm:"index:idx_jvn_certs_jvn_id"`
Cert `gorm:"embedded"`
}
JvnCert is Child model of Jvn.
type JvnCpe ¶ added in v0.8.1
type JvnCpe struct {
ID int64 `json:"-"`
JvnID uint `json:"-" gorm:"index:idx_jvn_cpes_jvn_id"`
CpeBase `gorm:"embedded"`
}
JvnCpe is Child model of Jvn. see https://www.ipa.go.jp/security/vuln/CPE.html
type JvnCvss2 ¶ added in v0.8.1
type JvnCvss2 struct {
ID int64 `json:"-"`
JvnID uint `json:"-" gorm:"index:idx_jvn_cvss2_jvn_id"`
Cvss2 `gorm:"embedded"`
}
JvnCvss2 has Jvn CVSS Version 2 info
type JvnCvss3 ¶ added in v0.8.1
type JvnCvss3 struct {
ID int64 `json:"-"`
JVNID uint `json:"-" gorm:"index:idx_jvn_cvss3_jvn_id"`
Cvss3 `gorm:"embedded"`
}
JvnCvss3 has JVN CVSS3 info
type JvnReference ¶ added in v0.8.1
type JvnReference struct {
ID int64 `json:"-"`
JvnID uint `json:"-" gorm:"index:idx_jvn_references_jvn_id"`
Reference `gorm:"embedded"`
}
JvnReference is Child model of Jvn.
type Mitre ¶ added in v0.11.0
type Mitre struct {
ID int64 `json:"-"`
DataType string `gorm:"type:varchar(255)"`
DataVersion string `gorm:"type:varchar(255)"`
CVEMetadata MitreCVEMetadata
Containers []MitreContainer
}
Mitre : https://cveproject.github.io/cve-schema/schema/CVE_Record_Format.json
type MitreCVEMetadata ¶ added in v0.11.0
type MitreCVEMetadata struct {
ID int64 `json:"-"`
MitreID uint `json:"-" gorm:"index:idx_mitre_cve_metadata"`
CVEID string `gorm:"index:idx_mitre_cve_metadata_cveid;type:varchar(255)"`
AssignerOrgID string `gorm:"type:varchar(255)"`
AssignerShortName *string `gorm:"type:varchar(32)"`
RequesterUserID *string `gorm:"type:varchar(255)"`
Serial *int
State string `gorm:"type:varchar(255)"`
DatePublished *time.Time
DateUpdated *time.Time
DateReserved *time.Time
DateRejected *time.Time
}
MitreCVEMetadata : #/definitions/cveMetadataPublished
type MitreConfiguration ¶ added in v0.11.0
type MitreConfiguration struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_configuration"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreConfigurationSupportingMedia
}
MitreConfiguration : #/definitions/configurations
type MitreConfigurationSupportingMedia ¶ added in v0.11.0
type MitreConfigurationSupportingMedia struct {
ID int64 `json:"-"`
MitreConfigurationID uint `json:"-" gorm:"index:idx_mitre_configuration_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreConfigurationSupportingMedia : #/definitions/description
type MitreContainer ¶ added in v0.11.0
type MitreContainer struct {
ID int64 `json:"-"`
MitreID uint `json:"-" gorm:"index:idx_mitre_containers"`
ContainerType string `gorm:"type:varchar(255)"`
ProviderMetadata MitreProviderMetadata
Title *string `gorm:"type:varchar(256)"`
Descriptions []MitreDescription
Affected []MitreProduct
ProblemTypes []MitreProblemType
Impacts []MitreImpact
Metrics []MitreMetric
Workarounds []MitreWorkaround
Solutions []MitreSolution
Exploits []MitreExploit
Configurations []MitreConfiguration
References []MitreReference
Timeline []MitreTimeline
Credits []MitreCredit
Source string `gorm:"type:text"`
Tags []MitreTag
TaxonomyMappings []MitreTaxonomyMapping
DateAssigned *time.Time
DatePublic *time.Time
}
MitreContainer : #/definitions/cnaPublishedContainer, #/definitions/adpContainer
type MitreCredit ¶ added in v0.11.0
type MitreCredit struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_credit"`
Type *string `gorm:"type:varchar(255)"`
Lang string `gorm:"type:varchar(255)"`
User *string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
}
MitreCredit : #/definitions/credits
type MitreDescription ¶ added in v0.11.0
type MitreDescription struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_description"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreDescriptionSupportingMedia
}
MitreDescription : #/definitions/description
type MitreDescriptionSupportingMedia ¶ added in v0.11.0
type MitreDescriptionSupportingMedia struct {
ID int64 `json:"-"`
MitreDescriptionID uint `json:"-" gorm:"index:idx_mitre_description_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreDescriptionSupportingMedia : #/definitions/description
type MitreExploit ¶ added in v0.11.0
type MitreExploit struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_exploit"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreExploitSupportingMedia
}
MitreExploit : #/definitions/exploits
type MitreExploitSupportingMedia ¶ added in v0.11.0
type MitreExploitSupportingMedia struct {
ID int64 `json:"-"`
MitreExploitID uint `json:"-" gorm:"index:idx_mitre_exploit_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreExploitSupportingMedia : #/definitions/description
type MitreImpact ¶ added in v0.11.0
type MitreImpact struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_impact"`
Descriptions []MitreImpactDescription
CapecID *string `gorm:"type:varchar(11)"`
}
MitreImpact : #/definitions/impacts
type MitreImpactDescription ¶ added in v0.11.0
type MitreImpactDescription struct {
ID int64 `json:"-"`
MitreImpactID uint `json:"-" gorm:"index:idx_mitre_impact_description"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreImpactDescriptionSupportingMedia
}
MitreImpactDescription : #/definitions/description
type MitreImpactDescriptionSupportingMedia ¶ added in v0.11.0
type MitreImpactDescriptionSupportingMedia struct {
ID int64 `json:"-"`
MitreImpactDescriptionID uint `json:"-" gorm:"index:idx_mitre_impact_description_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreImpactDescriptionSupportingMedia : #/definitions/description
type MitreMetric ¶ added in v0.11.0
type MitreMetric struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_metric"`
Format string `gorm:"type:varchar(64)"`
Scenarios []MitreMetricScenario
CVSSv2 *MitreMetricCVSS2
CVSSv30 *MitreMetricCVSS30
CVSSv31 *MitreMetricCVSS31
CVSSv40 *MitreMetricCVSS40
SSVC *MitreMetricSSVC
KEV *MitreMetricKEV
Other *MitreMetricOther
}
MitreMetric : #/definitions/metrics
type MitreMetricCVSS2 ¶ added in v0.11.0
type MitreMetricCVSS2 struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_cvss2"`
Cvss2 `gorm:"embedded"`
}
MitreMetricCVSS2 : https://www.first.org/cvss/cvss-v2.0.json?20170531
type MitreMetricCVSS30 ¶ added in v0.11.0
type MitreMetricCVSS30 struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_cvss30"`
Cvss3 `gorm:"embedded"`
}
MitreMetricCVSS30 : https://www.first.org/cvss/cvss-v3.0.json?20170531
type MitreMetricCVSS31 ¶ added in v0.11.0
type MitreMetricCVSS31 struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_cvss31"`
Cvss3 `gorm:"embedded"`
}
MitreMetricCVSS31 : https://www.first.org/cvss/cvss-v3.1.json?20210501
type MitreMetricCVSS40 ¶ added in v0.11.0
type MitreMetricCVSS40 struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_cvss40"`
Cvss40 `gorm:"embedded"`
}
MitreMetricCVSS40 : https://www.first.org/cvss/cvss-v4.0.json?20231011
type MitreMetricKEV ¶ added in v0.11.0
type MitreMetricKEV struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_kev"`
DateAdded time.Time
Reference string `gorm:"type:varchar(255)"`
}
MitreMetricKEV : https://github.com/cisagov/vulnrichment/blob/3f9d69632037fae3b7abdf47fc848c287702ffaa/assets/kev_metrics_schema-1.0.json
type MitreMetricOther ¶ added in v0.11.0
type MitreMetricOther struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_other"`
Type string `gorm:"type:varchar(128)"`
Content string `gorm:"type:text"`
}
MitreMetricOther : https://github.com/CVEProject/cve-schema/blob/30f59c7de92fbc77bddade302601cb500c66f718/schema/CVE_Record_Format.json#L901-L923
type MitreMetricSSVC ¶ added in v0.11.0
type MitreMetricSSVC struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_ssvc"`
Role string `gorm:"type:varchar(255)"`
Version string `gorm:"type:varchar(255)"`
Timestamp time.Time
Exploitation *string `gorm:"type:varchar(255)"`
Automatable *string `gorm:"type:varchar(255)"`
TechnicalImpact *string `gorm:"type:varchar(255)"`
}
MitreMetricSSVC :
type MitreMetricScenario ¶ added in v0.11.0
type MitreMetricScenario struct {
ID int64 `json:"-"`
MitreMetricID uint `json:"-" gorm:"index:idx_mitre_metric_scenario"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
}
MitreMetricScenario : #/definitions/metrics
type MitreProblemType ¶ added in v0.11.0
type MitreProblemType struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_problem_type"`
Descriptions []MitreProblemTypeDescription
}
MitreProblemType : #/definitions/problemTypes
type MitreProblemTypeDescription ¶ added in v0.11.0
type MitreProblemTypeDescription struct {
ID int64 `json:"-"`
MitreProblemTypeID uint `json:"-" gorm:"index:idx_mitre_problem_type_description"`
Type *string `gorm:"type:varchar(255)"`
Lang string `gorm:"type:varchar(128)"`
Description string `gorm:"type:text"`
CweID *string `gorm:"type:varchar(9)"`
References []MitreProblemTypeDescriptionReference
}
MitreProblemTypeDescription : #/definitions/problemTypes
type MitreProblemTypeDescriptionReference ¶ added in v0.11.0
type MitreProblemTypeDescriptionReference struct {
ID int64 `json:"-"`
MitreProblemTypeDescriptionID uint `json:"-" gorm:"index:idx_mitre_problem_type_description_reference"`
Reference `gorm:"embedded"`
}
MitreProblemTypeDescriptionReference : #/definitions/references
type MitreProduct ¶ added in v0.11.0
type MitreProduct struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_product"`
Vendor *string `gorm:"type:text"`
Product *string `gorm:"type:text"`
CollectionURL *string `gorm:"type:text"`
PackageName *string `gorm:"type:text"`
Cpes []MitreProductCPE
Modules []MitreProductModule
ProgramFiles []MitreProductProgramFile
ProgramRoutines []MitreProductProgramRoutine
Platforms []MitreProductPlatform
Repo *string `gorm:"type:text"`
DefaultStatus *string
Versions []MitreProductVersion
}
MitreProduct : #/definitions/product
type MitreProductCPE ¶ added in v0.11.0
type MitreProductCPE struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_cpe"`
CPE string `gorm:"type:text"`
}
MitreProductCPE : #/definitions/product
type MitreProductModule ¶ added in v0.11.0
type MitreProductModule struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_module"`
Module string `gorm:"type:text"`
}
MitreProductModule : #/definitions/product
type MitreProductPlatform ¶ added in v0.11.0
type MitreProductPlatform struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_platform"`
Platform string `gorm:"type:text"`
}
MitreProductPlatform : #/definitions/product
type MitreProductProgramFile ¶ added in v0.11.0
type MitreProductProgramFile struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_program_file"`
ProgramFile string `gorm:"type:text"`
}
MitreProductProgramFile : #/definitions/product
type MitreProductProgramRoutine ¶ added in v0.11.0
type MitreProductProgramRoutine struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_program_routine"`
Name string `gorm:"type:text"`
}
MitreProductProgramRoutine : #/definitions/product
type MitreProductVersion ¶ added in v0.11.0
type MitreProductVersion struct {
ID int64 `json:"-"`
MitreProductID uint `json:"-" gorm:"index:idx_mitre_product_version"`
Status string `gorm:"type:varchar(255)"`
VersionType *string `gorm:"type:varchar(128)"`
Version string `gorm:"type:text"`
LessThan *string `gorm:"type:text"`
LessThanOrEqual *string `gorm:"type:text"`
Changes []MitreProductVersionChange
}
MitreProductVersion : #/definitions/product
type MitreProductVersionChange ¶ added in v0.11.0
type MitreProductVersionChange struct {
ID int64 `json:"-"`
MitreProductVersionID uint `json:"-" gorm:"index:idx_mitre_product_version_change"`
At string `gorm:"type:text"`
Status string `gorm:"type:varchar(255)"`
}
MitreProductVersionChange : #/definitions/product
type MitreProviderMetadata ¶ added in v0.11.0
type MitreProviderMetadata struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_provider_metadata"`
OrgID string `gorm:"type:varchar(255)"`
ShortName *string `gorm:"type:varchar(32)"`
DateUpdated *time.Time
}
MitreProviderMetadata : #/definitions/providerMetadata
type MitreReference ¶ added in v0.11.0
type MitreReference struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_reference"`
Reference `gorm:"embedded"`
}
MitreReference : #/definitions/references
type MitreSolution ¶ added in v0.11.0
type MitreSolution struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_solution"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreSolutionSupportingMedia
}
MitreSolution : #/definitions/solutions
type MitreSolutionSupportingMedia ¶ added in v0.11.0
type MitreSolutionSupportingMedia struct {
ID int64 `json:"-"`
MitreSolutionID uint `json:"-" gorm:"index:idx_mitre_solution_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreSolutionSupportingMedia : #/definitions/description
type MitreTag ¶ added in v0.11.0
type MitreTag struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_tag"`
Tag string `gorm:"type:varchar(255)"`
}
MitreTag : #/definitions/cnaTags, #/definitions/adpTags
type MitreTaxonomyMapping ¶ added in v0.11.0
type MitreTaxonomyMapping struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_taxonomy_mapping"`
TaxonomyVersion *string `gorm:"type:varchar(128)"`
TaxonomyName string `gorm:"type:varchar(128)"`
TaxonomyRelations []MitreTaxonomyRelation
}
MitreTaxonomyMapping : #/definitions/taxonomyMappings
type MitreTaxonomyRelation ¶ added in v0.11.0
type MitreTaxonomyRelation struct {
ID int64 `json:"-"`
MitreTaxonomyMappingID uint `json:"-" gorm:"index:idx_mitre_taxonomy_relation"`
TaxonomyID string `gorm:"type:text"`
RelationshipName string `gorm:"type:varchar(128)"`
RelationshipValue string `gorm:"type:text"`
}
MitreTaxonomyRelation : #/definitions/taxonomyMappings
type MitreTimeline ¶ added in v0.11.0
type MitreTimeline struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_timeline"`
Time time.Time
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
}
MitreTimeline : #/definitions/timeline
type MitreWorkaround ¶ added in v0.11.0
type MitreWorkaround struct {
ID int64 `json:"-"`
MitreContainerID uint `json:"-" gorm:"index:idx_mitre_workaround"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
SupportingMedia []MitreWorkaroundSupportingMedia
}
MitreWorkaround : #/definitions/workarounds
type MitreWorkaroundSupportingMedia ¶ added in v0.11.0
type MitreWorkaroundSupportingMedia struct {
ID int64 `json:"-"`
MitreWorkaroundID uint `json:"-" gorm:"index:idx_mitre_workaround_supporting_media"`
Type string `gorm:"type:varchar(256)"`
Base64 *bool
Value string `gorm:"type:text"`
}
MitreWorkaroundSupportingMedia : #/definitions/description
type Nvd ¶
type Nvd struct {
ID int64 `json:"-"`
CveID string `gorm:"index:idx_nvds_cveid;type:varchar(255)"`
Descriptions []NvdDescription
Cvss2 []NvdCvss2Extra
Cvss3 []NvdCvss3
Cvss40 []NvdCvss40
Cwes []NvdCwe
Cpes []NvdCpe
References []NvdReference
Certs []NvdCert
PublishedDate time.Time
LastModifiedDate time.Time
DetectionMethod string `gorm:"-"`
}
Nvd is a struct of NVD JSON https://scap.nist.gov/schema/nvd/feed/0.1/nvd_cve_feed_json_0.1_beta.schema
type NvdCert ¶ added in v0.8.1
type NvdCert struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_certs_nvd_id"`
Cert `gorm:"embedded"`
}
NvdCert is Child model of Nvd.
type NvdCpe ¶ added in v0.8.1
type NvdCpe struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_cpes_nvd_id"`
CpeBase `gorm:"embedded"`
EnvCpes []NvdEnvCpe
}
NvdCpe is Child model of Nvd. see https://www.ipa.go.jp/security/vuln/CPE.html In NVD, configurations>nodes>cpe>vulnerable: true
type NvdCvss2Extra ¶ added in v0.8.1
type NvdCvss2Extra struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_cvss2_extra_nvd_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss2 `gorm:"embedded"`
ExploitabilityScore float64
ImpactScore float64
ObtainAllPrivilege bool
ObtainUserPrivilege bool
ObtainOtherPrivilege bool
UserInteractionRequired bool
}
NvdCvss2Extra has Nvd extra CVSS V2 info
type NvdCvss3 ¶ added in v0.8.1
type NvdCvss3 struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_cvss3_nvd_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss3 `gorm:"embedded"`
}
NvdCvss3 has Nvd CVSS3 info
type NvdCvss40 ¶ added in v0.11.0
type NvdCvss40 struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_cvss40_nvd_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss40 `gorm:"embedded"`
}
NvdCvss40 has Nvd CVSS40 info
type NvdCwe ¶ added in v0.8.1
type NvdCwe struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_cwes_nvd_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
CweID string `gorm:"type:varchar(255)"`
}
NvdCwe has CweID
type NvdDescription ¶ added in v0.8.1
type NvdDescription struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_descriptions_nvd_id"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
}
NvdDescription has description of the CVE
type NvdEnvCpe ¶ added in v0.8.1
type NvdEnvCpe struct {
ID int64 `json:"-"`
NvdCpeID uint `json:"-" gorm:"index:idx_nvd_env_cpes_nvd_cpe_id"`
CpeBase `gorm:"embedded"`
}
NvdEnvCpe is a Environmental CPE Only NVD has this information. configurations>nodes>cpe>vulnerable: false
type NvdReference ¶ added in v0.8.1
type NvdReference struct {
ID int64 `json:"-"`
NvdID uint `json:"-" gorm:"index:idx_nvd_references_nvd_id"`
Reference `gorm:"embedded"`
}
NvdReference holds reference information about the CVE.
type Paloalto ¶ added in v0.13.0
type Paloalto struct {
ID int64 `json:"-"`
AdvisoryID string `gorm:"type:varchar(255)"`
CveID string `gorm:"index:idx_paloaltos_cveid;type:varchar(255)"`
Title string `gorm:"type:varchar(256)"`
Descriptions []PaloaltoDescription
Affected []PaloaltoProduct
ProblemTypes []PaloaltoProblemType
Impacts []PaloaltoImpact
CVSSv3 []PaloaltoCVSS3
CVSSv40 []PaloaltoCVSS40
Workarounds []PaloaltoWorkaround
Solutions []PaloaltoSolution
Exploits []PaloaltoExploit
Configurations []PaloaltoConfiguration
References []PaloaltoReference
DatePublic *time.Time
DetectionMethod string `gorm:"-"`
}
Paloalto is a model of Paloalto
type PaloaltoCVSS3 ¶ added in v0.13.0
type PaloaltoCVSS3 struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_cvss3_paloalto_id"`
Cvss3 `gorm:"embedded"`
}
PaloaltoCVSS3 :
type PaloaltoCVSS40 ¶ added in v0.13.0
type PaloaltoCVSS40 struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_cvss40_paloalto_id"`
Cvss40 `gorm:"embedded"`
}
PaloaltoCVSS40 :
type PaloaltoConfiguration ¶ added in v0.13.0
type PaloaltoConfiguration struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_configurations_paloalto_id"`
Configuration string `gorm:"type:text"`
}
PaloaltoConfiguration :
type PaloaltoDescription ¶ added in v0.13.0
type PaloaltoDescription struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_descriptions_paloalto_id"`
Description string `gorm:"type:text"`
}
PaloaltoDescription :
type PaloaltoExploit ¶ added in v0.13.0
type PaloaltoExploit struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_exploits_paloalto_id"`
Exploit string `gorm:"type:text"`
}
PaloaltoExploit :
type PaloaltoImpact ¶ added in v0.13.0
type PaloaltoImpact struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_impacts_paloalto_id"`
CapecID string `gorm:"type:varchar(11)"`
}
PaloaltoImpact :
type PaloaltoProblemType ¶ added in v0.13.0
type PaloaltoProblemType struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_problem_types_paloalto_id"`
CweID string `gorm:"type:varchar(255)"`
}
PaloaltoProblemType :
type PaloaltoProduct ¶ added in v0.13.0
type PaloaltoProduct struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_affected_paloalto_id"`
CpeBase `gorm:"embedded"`
}
PaloaltoProduct :
type PaloaltoReference ¶ added in v0.13.0
type PaloaltoReference struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_references_paloalto_id"`
Reference `gorm:"embedded"`
}
PaloaltoReference :
type PaloaltoSolution ¶ added in v0.13.0
type PaloaltoSolution struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_solutions_paloalto_id"`
Solution string `gorm:"type:text"`
}
PaloaltoSolution :
type PaloaltoWorkaround ¶ added in v0.13.0
type PaloaltoWorkaround struct {
ID int64 `json:"-"`
PaloaltoID uint `json:"-" gorm:"index:idx_paloalto_workarounds_paloalto_id"`
Workaround string `gorm:"type:text"`
}
PaloaltoWorkaround :
type Reference ¶
type Reference struct {
Link string `gorm:"type:text"`
Source string `gorm:"type:varchar(255)"`
Tags string `gorm:"type:varchar(255)"`
Name string `gorm:"type:text"`
}
Reference holds reference information about the CVE.
type Vulncheck ¶ added in v0.14.0
type Vulncheck struct {
ID int64 `json:"-"`
CveID string `gorm:"index:idx_vulnchecks_cveid;type:varchar(255)"`
Descriptions []VulncheckDescription
Cvss2 []VulncheckCvss2Extra
Cvss3 []VulncheckCvss3
Cvss40 []VulncheckCvss40
Cwes []VulncheckCwe
Cpes []VulncheckCpe
References []VulncheckReference
Certs []VulncheckCert
PublishedDate time.Time
LastModifiedDate time.Time
DetectionMethod string `gorm:"-"`
}
Vulncheck is a struct of VulnCheck JSON
type VulncheckCert ¶ added in v0.14.0
type VulncheckCert struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_certs_vulncheck_id"`
Cert `gorm:"embedded"`
}
VulncheckCert is Child model of Vulncheck.
type VulncheckCpe ¶ added in v0.14.0
type VulncheckCpe struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_cpes_vulncheck_id"`
CpeBase `gorm:"embedded"`
}
VulncheckCpe is Child model of Vulncheck.
type VulncheckCvss2Extra ¶ added in v0.14.0
type VulncheckCvss2Extra struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_cvss2_extra_vulncheck_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss2 `gorm:"embedded"`
ExploitabilityScore float64
ImpactScore float64
ObtainAllPrivilege bool
ObtainUserPrivilege bool
ObtainOtherPrivilege bool
UserInteractionRequired bool
}
VulncheckCvss2Extra has Vulncheck extra CVSS V2 info
type VulncheckCvss3 ¶ added in v0.14.0
type VulncheckCvss3 struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_cvss3_vulncheck_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss3 `gorm:"embedded"`
}
VulncheckCvss3 has Vulncheck CVSS3 info
type VulncheckCvss40 ¶ added in v0.14.0
type VulncheckCvss40 struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_cvss40_vulncheck_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
Cvss40 `gorm:"embedded"`
}
VulncheckCvss40 has Vulncheck CVSS40 info
type VulncheckCwe ¶ added in v0.14.0
type VulncheckCwe struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_cwes_vulncheck_id"`
Source string `gorm:"type:text"`
Type string `gorm:"type:varchar(255)"`
CweID string `gorm:"type:varchar(255)"`
}
VulncheckCwe has CweID
type VulncheckDescription ¶ added in v0.14.0
type VulncheckDescription struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_descriptions_vulncheck_id"`
Lang string `gorm:"type:varchar(255)"`
Value string `gorm:"type:text"`
}
VulncheckDescription has description of the CVE
type VulncheckReference ¶ added in v0.14.0
type VulncheckReference struct {
ID int64 `json:"-"`
VulncheckID uint `json:"-" gorm:"index:idx_vulncheck_references_vulncheck_id"`
Reference `gorm:"embedded"`
}
VulncheckReference holds reference information about the CVE.