models

package
v0.4.6-0...-3cdd8a7 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const LatestSchemaVersion = 4

LatestSchemaVersion manages the Schema version used in the latest go-exploitdb.

Variables

This section is empty.

Functions

This section is empty.

Types

type Base

type Base struct {
	FileURL        string     `gorm:"type:varchar(255)" json:"file_url"`
	Description    string     `gorm:"type:text" json:"description"`
	DatePublished  *time.Time `json:"date_published"`
	Author         string     `gorm:"type:varchar(255)" json:"author"`
	Type           string     `gorm:"type:varchar(255)" json:"type"`
	Platform       string     `gorm:"type:varchar(255)" json:"platform"`
	DateAdded      *time.Time `json:"date_added"`
	DateUpdated    *time.Time `json:"date_updated"`
	Verified       bool       `json:"verified"`
	Codes          string     `gorm:"type:text" json:"codes"`
	Tags           string     `gorm:"type:varchar(255)" json:"tags"`
	Aliases        string     `gorm:"type:varchar(255)" json:"aliases"`
	ScreenshotURL  string     `gorm:"type:varchar(255)" json:"screenshot_url"`
	ApplicationURL string     `gorm:"type:varchar(255)" json:"application_url"`
	SourceURL      string     `gorm:"type:varchar(255)" json:"source_url"`
}

type CISAExploitCatalog

type CISAExploitCatalog struct {
	ID                int64  `json:"-"`
	ExploitID         int64  `gorm:"index:idx_cisa_exploit_id" json:"-"`
	VendorProject     string `json:"vendor"`
	Product           string `json:"product"`
	VulnerabilityName string `json:"vuln_name"`
	DateAdded         string `json:"date_added"`
	Description       string `json:"description"`
	RequiredAction    string `json:"required_action"`
	DueDate           string `json:"due_date"`
	Notes             string `json:"notes"`
	CveID             string `json:"cve_id"`
}

CISAExploitCatalog :

type DFExploit

type DFExploit struct {
	Exploits          []string             `json:"exploits"`
	ExploitsReference string               `json:"exploits_reference"`
	POCs              []GitHubRepository   `json:"pocs"`
	ExploitIncidents  []CISAExploitCatalog `json:"incidents"`
	EPSS              EPSSMeta             `json:"epss"`
}

DFExploit : Deepfactor Processed exploit information

type Document

type Document struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_document_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Port                string `gorm:"type:varchar(255)" json:"port"`
}

Document : https://gitlab.com/exploit-database/exploitdb/-/raw/main/files_exploits.csv

type EPSSMeta

type EPSSMeta struct {
	CveID      string  `gorm:"type:varchar(255);index:idx_epss_cve_id" json:"cve_id"`
	Score      float64 `json:"score"`
	Percentile float64 `json:"percentile"`
}

EPSSMeta :

type Exploit

type Exploit struct {
	ID                 int64               `json:"-"`
	ExploitType        ExploitType         `gorm:"type:varchar(255)" json:"exploit_type"`
	ExploitUniqueID    string              `gorm:"type:varchar(255);index:idx_exploit_exploit_unique_id" json:"exploit_unique_id"`
	URL                string              `gorm:"type:text" json:"url"`
	Description        string              `gorm:"type:text" json:"description"`
	CveID              string              `gorm:"type:varchar(255);index:idx_exploit_cve_id" json:"cve_id"`
	OffensiveSecurity  *OffensiveSecurity  `json:"offensive_security,omitempty"`
	GitHubRepository   *GitHubRepository   `json:"github_repository,omitempty"`
	InTheWild          *InTheWild          `json:"in_the_wild,omitempty"`
	CISAExploitCatalog *CISAExploitCatalog `json:"cisa_exploit_catalog,omitempty"`
}

Exploit :

type ExploitType

type ExploitType string

ExploitType :

var (
	// OffensiveSecurityType : https://www.exploit-db.com/
	OffensiveSecurityType ExploitType = "OffensiveSecurity"
	// GitHubRepositoryType :
	GitHubRepositoryType ExploitType = "GitHub"
	// AwesomePocType :
	AwesomePocType ExploitType = "AwesomePoc"
	// InTheWildType :
	InTheWildType ExploitType = "InTheWild"
	// CISA : cisa.gov/known-exploited-vulnerabilities-catalog
	CISA ExploitType = "CISA"
	// EPSS
	EPSS ExploitType = "EPSS"
)

type FetchMeta

type FetchMeta struct {
	gorm.Model      `json:"-"`
	ExploitRevision string
	SchemaVersion   uint
	LastFetchedAt   time.Time
}

FetchMeta has meta information about fetched exploit

func (FetchMeta) OutDated

func (f FetchMeta) OutDated() bool

OutDated checks whether last fetched feed is out dated

type GHDB

type GHDB struct {
	ID                  int64      `json:"-"`
	OffensiveSecurityID int64      `gorm:"index:idx_ghdb_offensive_security_id" json:"-"`
	Link                string     `gorm:"type:varchar(255)" json:"link"`
	Category            string     `gorm:"type:varchar(255)" json:"category"`
	ShortDescription    string     `gorm:"type:varchar(255)" json:"shortDescription"`
	TextualDescription  string     `gorm:"type:text" json:"textualDescription"`
	Query               string     `gorm:"type:varchar(255)" json:"query"`
	Querystring         string     `gorm:"type:varchar(255)" json:"querystring"`
	Edb                 string     `gorm:"type:varchar(255)" json:"edb"`
	Date                *time.Time `json:"date"`
	Author              string     `gorm:"type:varchar(255)" json:"author"`
}

GHDB : https://gitlab.com/exploit-database/exploitdb/-/raw/main/ghdb.xml

type GitHubRepository

type GitHubRepository struct {
	ID        int64     `json:"-"`
	ExploitID int64     `gorm:"index:idx_git_hub_repository_exploit_id" json:"-"`
	Star      int       `json:"star"`
	Fork      int       `json:"fork"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
	CveID     string    `json:"cve_id"`
	URL       string    `json:"url"`
}

GitHubRepository :

type InTheWild

type InTheWild struct {
	ID        int64     `json:"-"`
	ExploitID int64     `gorm:"index:idx_in_the_wild_exploit_id" json:"-"`
	TimeStamp time.Time `json:"timestamp"`
	Source    string    `gorm:"type:varchar(255)" json:"source"`
	Type      string    `gorm:"type:varchar(255)" json:"type"`
}

InTheWild :

type OffensiveSecurity

type OffensiveSecurity struct {
	ID        int64      `json:"-"`
	ExploitID int64      `gorm:"index:idx_offensive_security_exploit_id" json:"-"`
	Document  *Document  `json:"document,omitempty"`
	ShellCode *ShellCode `json:"shell_code,omitempty"`
	Paper     *Paper     `json:"paper,omitempty"`
	GHDB      *GHDB      `json:"ghdb,omitempty"`
}

OffensiveSecurity : https://www.exploit-db.com/

type Paper

type Paper struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_paper_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Language            string `gorm:"type:varchar(255)" json:"language"`
}

Paper : https://gitlab.com/exploit-database/exploitdb-papers/-/raw/main/files_papers.csv

type ShellCode

type ShellCode struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_shellcode_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Size                string `gorm:"type:varchar(255)" json:"size"`
}

ShellCode : https://gitlab.com/exploit-database/exploitdb/-/raw/main/files_shellcodes.csv

Jump to

Keyboard shortcuts

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