21 lines
1.3 KiB
Go
21 lines
1.3 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// VulnerabilityFinding records a known vulnerability found in a dependency.
|
|
type VulnerabilityFinding struct {
|
|
ID int64 `xorm:"'id' pk autoincr" json:"id"`
|
|
RepoID int64 `xorm:"'repo_id' notnull index" json:"repoId"`
|
|
VulnID string `xorm:"'vuln_id' varchar(50)" json:"vulnId"` // e.g. "GHSA-xxxx" or "CVE-2024-..."
|
|
PURL string `xorm:"'purl' varchar(255)" json:"purl"` // package URL
|
|
Version string `xorm:"'version' varchar(100)" json:"version"` // affected version
|
|
Summary string `xorm:"'summary' varchar(500)" json:"summary"`
|
|
Details string `xorm:"'details' text" json:"details,omitempty"`
|
|
CVSSScore float64 `xorm:"'cvss_score'" json:"cvssScore"`
|
|
FixedVersion string `xorm:"'fixed_version' varchar(100)" json:"fixedVersion"`
|
|
Dismissed bool `xorm:"'dismissed'" json:"dismissed"`
|
|
DismissedBy string `xorm:"'dismissed_by' varchar(100)" json:"dismissedBy,omitempty"`
|
|
DismissedAt *time.Time `xorm:"'dismissed_at'" json:"dismissedAt,omitempty"`
|
|
DetectedAt time.Time `xorm:"'detected_at'" json:"detectedAt"`
|
|
}
|