models

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2025 License: Apache-2.0 Imports: 2 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// CiscoType :
	CiscoType = "Cisco"

	// CiscoExactVersionMatch :
	CiscoExactVersionMatch = "CiscoExactVersionMatch"
	// CiscoRoughVersionMatch :
	CiscoRoughVersionMatch = "CiscoRoughVersionMatch"
	// CiscoVendorProductMatch :
	CiscoVendorProductMatch = "CiscoVendorProductMatch"
)
View Source
const (
	// FortinetType :
	FortinetType = "Fortinet"

	// FortinetExactVersionMatch :
	FortinetExactVersionMatch = "FortinetExactVersionMatch"
	// FortinetRoughVersionMatch :
	FortinetRoughVersionMatch = "FortinetRoughVersionMatch"
	// FortinetVendorProductMatch :
	FortinetVendorProductMatch = "FortinetVendorProductMatch"
)
View Source
const (
	// JvnType :
	JvnType = "JVN"

	// JvnVendorProductMatch :
	JvnVendorProductMatch = "JvnVendorProductMatch"
)
View Source
const (
	// NvdType :
	NvdType = "NVD"

	// NvdExactVersionMatch :
	NvdExactVersionMatch = "NvdExactVersionMatch"
	// NvdRoughVersionMatch :
	NvdRoughVersionMatch = "NvdRoughVersionMatch"
	// NvdVendorProductMatch :
	NvdVendorProductMatch = "NvdVendorProductMatch"
)
View Source
const (
	// PaloaltoType :
	PaloaltoType = "Paloalto"

	// PaloaltoExactVersionMatch :
	PaloaltoExactVersionMatch = "PaloaltoExactVersionMatch"
	// PaloaltoRoughVersionMatch :
	PaloaltoRoughVersionMatch = "PaloaltoRoughVersionMatch"
	// PaloaltoVendorProductMatch :
	PaloaltoVendorProductMatch = "PaloaltoVendorProductMatch"
)
View Source
const (
	// VulncheckType :
	VulncheckType = "VulnCheck"

	// VulncheckExactVersionMatch :
	VulncheckExactVersionMatch = "VulnCheckExactVersionMatch"
	// VulncheckRoughVersionMatch :
	VulncheckRoughVersionMatch = "VulnCheckRoughVersionMatch"
	// VulncheckVendorProductMatch :
	VulncheckVendorProductMatch = "VulnCheckVendorProductMatch"
)
View Source
const LatestSchemaVersion = 3

LatestSchemaVersion manages the Schema version used in the latest go-cve-dictionary.

View Source
const (
	// MitreType :
	MitreType = "Mitre"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Cert added in v0.8.1

type Cert struct {
	Title string `gorm:"type:text"`
	Link  string `gorm:"type:text"`
}

Cert holds CERT alerts.

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) HasCisco added in v0.13.0

func (c CveDetail) HasCisco() bool

HasCisco returns true if Cisco contents

func (CveDetail) HasFortinet added in v0.10.0

func (c CveDetail) HasFortinet() bool

HasFortinet returns true if Fortinet contents

func (CveDetail) HasJvn added in v0.8.1

func (c CveDetail) HasJvn() bool

HasJvn returns true if JVN contents

func (CveDetail) HasMitre added in v0.11.0

func (c CveDetail) HasMitre() bool

HasMitre returns true if Mitre contents

func (CveDetail) HasNvd added in v0.8.1

func (c CveDetail) HasNvd() bool

HasNvd returns true if NVD contents

func (CveDetail) HasPaloalto added in v0.13.0

func (c CveDetail) HasPaloalto() bool

HasPaloalto returns true if Paloalto contents

func (CveDetail) HasVulncheck added in v0.14.0

func (c CveDetail) HasVulncheck() bool

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

func (FetchMeta) OutDated added in v0.8.1

func (f FetchMeta) OutDated() bool

OutDated checks whether last fetched feed is out dated

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL