Documentation
¶
Index ¶
Constants ¶
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
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