grab

package
v1.8.2 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ReasonNewCreated      = "漏洞创建"
	ReasonTagUpdated      = "标签更新"
	ReasonSeverityUpdated = "等级更新"
)
View Source
const KEVUrl = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"
View Source
const KEYPageSize = 10 // KEV每次都是返回全量数据,所以这里自己定义一下pagesize匹配原来的爬取逻辑

const CVEUrl = "https://cveawg.mitre.org/api/cve/" 查询原始评级预留url

View Source
const OSCSPageSize = 10
View Source
const Struts2Url = "https://cwiki.apache.org/confluence/display/WW/Security+Bulletins"

Variables

This section is empty.

Functions

func MergeUniqueString added in v1.1.0

func MergeUniqueString(s1 []string, s2 []string) []string

func NewHttpClient

func NewHttpClient() *req.Client

Types

type AVDCrawler

type AVDCrawler struct {
	// contains filtered or unexported fields
}

func (*AVDCrawler) GetUpdate added in v1.2.0

func (a *AVDCrawler) GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)

func (*AVDCrawler) IsValuable

func (a *AVDCrawler) IsValuable(info *VulnInfo) bool

func (*AVDCrawler) ProviderInfo added in v0.2.0

func (a *AVDCrawler) ProviderInfo() *Provider

type Grabber

type Grabber interface {
	ProviderInfo() *Provider
	GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)
	IsValuable(info *VulnInfo) bool
}

func NewAVDCrawler

func NewAVDCrawler() Grabber

func NewKEVCrawler added in v1.7.0

func NewKEVCrawler() Grabber

func NewOSCSCrawler

func NewOSCSCrawler() Grabber

func NewSeebugCrawler added in v0.8.0

func NewSeebugCrawler() Grabber

func NewStruts2Crawler added in v1.5.0

func NewStruts2Crawler() Grabber

func NewThreatBookCrawler added in v1.3.0

func NewThreatBookCrawler() Grabber

func NewTiCrawler

func NewTiCrawler() Grabber

type KEVCrawler added in v1.7.0

type KEVCrawler struct {
	// contains filtered or unexported fields
}

func (*KEVCrawler) GetUpdate added in v1.7.0

func (c *KEVCrawler) GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)

func (*KEVCrawler) IsValuable added in v1.7.0

func (c *KEVCrawler) IsValuable(info *VulnInfo) bool

func (*KEVCrawler) ProviderInfo added in v1.7.0

func (c *KEVCrawler) ProviderInfo() *Provider

type OSCSCrawler

type OSCSCrawler struct {
	// contains filtered or unexported fields
}

func (*OSCSCrawler) GetUpdate added in v1.2.0

func (t *OSCSCrawler) GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)

func (*OSCSCrawler) IsValuable

func (t *OSCSCrawler) IsValuable(info *VulnInfo) bool

func (*OSCSCrawler) ProviderInfo added in v0.2.0

func (t *OSCSCrawler) ProviderInfo() *Provider

type Provider added in v0.2.0

type Provider struct {
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
	Link        string `json:"link"`
}

type ReasonType added in v0.3.0

type ReasonType string

type SeebugCrawler added in v0.8.0

type SeebugCrawler struct {
	// contains filtered or unexported fields
}

func (*SeebugCrawler) GetUpdate added in v1.2.0

func (t *SeebugCrawler) GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)

func (*SeebugCrawler) IsValuable added in v0.8.0

func (t *SeebugCrawler) IsValuable(info *VulnInfo) bool

func (*SeebugCrawler) ProviderInfo added in v0.8.0

func (t *SeebugCrawler) ProviderInfo() *Provider

type SeverityLevel

type SeverityLevel string
const (
	Low      SeverityLevel = "低危"
	Medium   SeverityLevel = "中危"
	High     SeverityLevel = "高危"
	Critical SeverityLevel = "严重"
)

type Struts2Crawler added in v1.5.0

type Struts2Crawler struct {
	// contains filtered or unexported fields
}

func (*Struts2Crawler) GetUpdate added in v1.5.0

func (c *Struts2Crawler) GetUpdate(ctx context.Context, vulnLimit int) ([]*VulnInfo, error)

func (*Struts2Crawler) IsValuable added in v1.5.0

func (c *Struts2Crawler) IsValuable(info *VulnInfo) bool

func (*Struts2Crawler) ProviderInfo added in v1.5.0

func (c *Struts2Crawler) ProviderInfo() *Provider

type ThreatBookCrawler added in v1.3.0

type ThreatBookCrawler struct {
	// contains filtered or unexported fields
}

func (*ThreatBookCrawler) GetUpdate added in v1.3.0

func (t *ThreatBookCrawler) GetUpdate(ctx context.Context, pageLimit int) ([]*VulnInfo, error)

func (*ThreatBookCrawler) IsValuable added in v1.3.0

func (t *ThreatBookCrawler) IsValuable(info *VulnInfo) bool

func (*ThreatBookCrawler) ProviderInfo added in v1.3.0

func (t *ThreatBookCrawler) ProviderInfo() *Provider

type TiCrawler

type TiCrawler struct {
	// contains filtered or unexported fields
}

func (*TiCrawler) GetUpdate added in v1.2.0

func (t *TiCrawler) GetUpdate(ctx context.Context, _ int) ([]*VulnInfo, error)

func (*TiCrawler) IsValuable

func (t *TiCrawler) IsValuable(info *VulnInfo) bool

func (*TiCrawler) ProviderInfo added in v0.2.0

func (t *TiCrawler) ProviderInfo() *Provider

type VulnInfo

type VulnInfo struct {
	UniqueKey    string        `json:"unique_key"`
	Title        string        `json:"title"`
	Description  string        `json:"description"`
	Severity     SeverityLevel `json:"severity"`
	CVE          string        `json:"cve"`
	Disclosure   string        `json:"disclosure"`
	Solutions    string        `json:"solutions"`
	GithubSearch []string      `json:"github_search"`
	References   []string      `json:"references"`
	Tags         []string      `json:"tags"`
	From         string        `json:"from"`
	Reason       []string      `json:"reason"`

	Creator Grabber `json:"-"`
}

func (*VulnInfo) String

func (v *VulnInfo) String() string

Jump to

Keyboard shortcuts

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