intel

package
v1.2.5 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Version = "dev"

Version is the CLI version injected by main.go for the HTTP user-agent.

Functions

func RunGovulncheck

func RunGovulncheck(ctx context.Context, dir string, logger *slog.Logger) ([]model.Finding, error)

RunGovulncheck runs govulncheck on a Go module directory and returns findings.

Types

type Client

type Client interface {
	Search(ctx context.Context, query string, limit, offset int) (*SearchResult, error)
	SearchExploits(ctx context.Context, query string, limit, offset int) (*SearchResult, error)
	GetBulletin(ctx context.Context, id string) (*vulners.Bulletin, error)
	GetMultipleBulletins(ctx context.Context, ids []string) (map[string]vulners.Bulletin, error)
	GetBulletinReferences(ctx context.Context, id string) ([]string, error)
	GetBulletinHistory(ctx context.Context, id string) ([]vulners.HistoryEntry, error)
	SearchCPE(ctx context.Context, product, vendor string, limit int) (*vulners.CPESearchResult, error)
	LinuxAudit(ctx context.Context, osName, osVersion string, packages []string) (*vulners.AuditResult, error)
	KBAudit(ctx context.Context, os string, kbList []string) (*vulners.AuditResult, error)
	HostAudit(ctx context.Context, osName, osVersion string, packages []vulners.AuditItem) (*vulners.SoftwareAuditResult, error)
	WinAudit(ctx context.Context, osName, osVersion string, kbList []string, software []vulners.WinAuditItem) (*vulners.AuditResult, error)
	SBOMAudit(ctx context.Context, sbom io.Reader) (*vulners.SBOMAuditResult, error)
	FetchCollection(ctx context.Context, collType vulners.CollectionType) ([]vulners.Bulletin, error)
	FetchCollectionUpdate(ctx context.Context, collType vulners.CollectionType, after time.Time) ([]vulners.Bulletin, error)
	GetAIScore(ctx context.Context, text string) (*vulners.AIScore, error)
	MakeSTIXBundleByID(ctx context.Context, id string) (*vulners.StixBundle, error)
	MakeSTIXBundleByCVE(ctx context.Context, cveID string) (*vulners.StixBundle, error)
	QueryAutocomplete(ctx context.Context, query string) ([]string, error)
	GetSuggestion(ctx context.Context, fieldName string) ([]string, error)
	VulnsSummaryReport(ctx context.Context, limit, offset int) (*vulners.VulnsSummary, error)
	VulnsList(ctx context.Context, limit, offset int) ([]vulners.VulnItem, error)
	HostVulns(ctx context.Context, limit, offset int) ([]vulners.HostVuln, error)
	ScanList(ctx context.Context, limit, offset int) ([]vulners.ScanItem, error)
	IPSummaryReport(ctx context.Context) (*vulners.IPSummary, error)
	ListWebhooks(ctx context.Context) ([]vulners.Webhook, error)
	AddWebhook(ctx context.Context, query string) (*vulners.Webhook, error)
	GetWebhook(ctx context.Context, id string) (*vulners.Webhook, error)
	ReadWebhook(ctx context.Context, id string, newestOnly bool) (*vulners.WebhookData, error)
	EnableWebhook(ctx context.Context, id string, active bool) error
	DeleteWebhook(ctx context.Context, id string) error
	ListSubscriptions(ctx context.Context) ([]vulners.Subscription, error)
	GetSubscription(ctx context.Context, id string) (*vulners.Subscription, error)
	CreateSubscription(ctx context.Context, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)
	UpdateSubscription(ctx context.Context, id string, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)
	DeleteSubscription(ctx context.Context, id string) error
	EnableSubscription(ctx context.Context, id string, active bool) error
}

Client is the interface for vulnerability intelligence lookups.

type SearchResult

type SearchResult struct {
	Total     int                `json:"total"`
	Bulletins []vulners.Bulletin `json:"bulletins"`
}

SearchResult wraps the Vulners search response.

type VScannerClient added in v1.2.0

type VScannerClient interface {
	// Project management
	ListProjects(ctx context.Context, limit, offset int) ([]vscanner.Project, error)
	GetProject(ctx context.Context, id string) (*vscanner.Project, error)
	CreateProject(ctx context.Context, req *vscanner.ProjectRequest) (*vscanner.Project, error)
	UpdateProject(ctx context.Context, id string, req *vscanner.ProjectRequest) (*vscanner.Project, error)
	DeleteProject(ctx context.Context, id string) error

	// Task management
	ListTasks(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Task, error)
	GetTask(ctx context.Context, projectID, taskID string) (*vscanner.Task, error)
	CreateTask(ctx context.Context, projectID string, req *vscanner.TaskRequest) (*vscanner.Task, error)
	UpdateTask(ctx context.Context, projectID, taskID string, req *vscanner.TaskRequest) (*vscanner.Task, error)
	StartTask(ctx context.Context, projectID, taskID string) error
	StopTask(ctx context.Context, projectID, taskID string) error
	DeleteTask(ctx context.Context, projectID, taskID string) error

	// Result access
	ListResults(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Result, error)
	GetResult(ctx context.Context, projectID, resultID string) (*vscanner.Result, error)
	GetResultStatistics(ctx context.Context, projectID, resultID string) (*vscanner.Statistics, error)
	GetResultHosts(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.HostSummary, error)
	GetHostDetail(ctx context.Context, projectID, resultID, host string) (*vscanner.HostDetail, error)
	GetResultVulnerabilities(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.VulnSummary, error)
	DeleteResult(ctx context.Context, projectID, resultID string) error
	ExportResult(ctx context.Context, projectID, resultID, format string) ([]byte, error)

	// License
	GetLicenses(ctx context.Context) ([]vscanner.License, error)
}

VScannerClient is the interface for VScanner operations.

type VulnersClient

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

VulnersClient implements the Client interface using go-vulners.

func NewVulnersClient

func NewVulnersClient(apiKey string, logger *slog.Logger) (*VulnersClient, error)

NewVulnersClient creates a new Vulners API client.

func (*VulnersClient) AddWebhook added in v1.2.0

func (v *VulnersClient) AddWebhook(ctx context.Context, query string) (*vulners.Webhook, error)

func (*VulnersClient) CreateSubscription added in v1.2.0

func (v *VulnersClient) CreateSubscription(ctx context.Context, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)

func (*VulnersClient) DeleteSubscription added in v1.2.0

func (v *VulnersClient) DeleteSubscription(ctx context.Context, id string) error

func (*VulnersClient) DeleteWebhook added in v1.2.0

func (v *VulnersClient) DeleteWebhook(ctx context.Context, id string) error

func (*VulnersClient) EnableSubscription added in v1.2.0

func (v *VulnersClient) EnableSubscription(ctx context.Context, id string, active bool) error

func (*VulnersClient) EnableWebhook added in v1.2.0

func (v *VulnersClient) EnableWebhook(ctx context.Context, id string, active bool) error

func (*VulnersClient) FetchCollection

func (v *VulnersClient) FetchCollection(ctx context.Context, collType vulners.CollectionType) ([]vulners.Bulletin, error)

func (*VulnersClient) FetchCollectionUpdate

func (v *VulnersClient) FetchCollectionUpdate(ctx context.Context, collType vulners.CollectionType, after time.Time) ([]vulners.Bulletin, error)

func (*VulnersClient) GetAIScore

func (v *VulnersClient) GetAIScore(ctx context.Context, text string) (*vulners.AIScore, error)

func (*VulnersClient) GetBulletin

func (v *VulnersClient) GetBulletin(ctx context.Context, id string) (*vulners.Bulletin, error)

func (*VulnersClient) GetBulletinHistory

func (v *VulnersClient) GetBulletinHistory(ctx context.Context, id string) ([]vulners.HistoryEntry, error)

func (*VulnersClient) GetBulletinReferences

func (v *VulnersClient) GetBulletinReferences(ctx context.Context, id string) ([]string, error)

func (*VulnersClient) GetMultipleBulletins

func (v *VulnersClient) GetMultipleBulletins(ctx context.Context, ids []string) (map[string]vulners.Bulletin, error)

func (*VulnersClient) GetSubscription added in v1.2.0

func (v *VulnersClient) GetSubscription(ctx context.Context, id string) (*vulners.Subscription, error)

func (*VulnersClient) GetSuggestion added in v1.2.0

func (v *VulnersClient) GetSuggestion(ctx context.Context, fieldName string) ([]string, error)

func (*VulnersClient) GetWebhook added in v1.2.0

func (v *VulnersClient) GetWebhook(ctx context.Context, id string) (*vulners.Webhook, error)

func (*VulnersClient) HostAudit

func (v *VulnersClient) HostAudit(ctx context.Context, osName, osVersion string, packages []vulners.AuditItem) (*vulners.SoftwareAuditResult, error)

func (*VulnersClient) HostVulns added in v1.2.0

func (v *VulnersClient) HostVulns(ctx context.Context, limit, offset int) ([]vulners.HostVuln, error)

func (*VulnersClient) IPSummaryReport added in v1.2.0

func (v *VulnersClient) IPSummaryReport(ctx context.Context) (*vulners.IPSummary, error)

func (*VulnersClient) KBAudit

func (v *VulnersClient) KBAudit(ctx context.Context, os string, kbList []string) (*vulners.AuditResult, error)

func (*VulnersClient) LinuxAudit

func (v *VulnersClient) LinuxAudit(ctx context.Context, osName, osVersion string, packages []string) (*vulners.AuditResult, error)

func (*VulnersClient) ListSubscriptions added in v1.2.0

func (v *VulnersClient) ListSubscriptions(ctx context.Context) ([]vulners.Subscription, error)

func (*VulnersClient) ListWebhooks added in v1.2.0

func (v *VulnersClient) ListWebhooks(ctx context.Context) ([]vulners.Webhook, error)

func (*VulnersClient) MakeSTIXBundleByCVE

func (v *VulnersClient) MakeSTIXBundleByCVE(ctx context.Context, cveID string) (*vulners.StixBundle, error)

func (*VulnersClient) MakeSTIXBundleByID

func (v *VulnersClient) MakeSTIXBundleByID(ctx context.Context, id string) (*vulners.StixBundle, error)

func (*VulnersClient) QueryAutocomplete added in v1.2.0

func (v *VulnersClient) QueryAutocomplete(ctx context.Context, query string) ([]string, error)

func (*VulnersClient) ReadWebhook added in v1.2.0

func (v *VulnersClient) ReadWebhook(ctx context.Context, id string, newestOnly bool) (*vulners.WebhookData, error)

func (*VulnersClient) SBOMAudit

func (v *VulnersClient) SBOMAudit(ctx context.Context, sbom io.Reader) (*vulners.SBOMAuditResult, error)

func (*VulnersClient) ScanList added in v1.2.0

func (v *VulnersClient) ScanList(ctx context.Context, limit, offset int) ([]vulners.ScanItem, error)

func (*VulnersClient) Search

func (v *VulnersClient) Search(ctx context.Context, query string, limit, offset int) (*SearchResult, error)

func (*VulnersClient) SearchCPE

func (v *VulnersClient) SearchCPE(ctx context.Context, product, vendor string, limit int) (*vulners.CPESearchResult, error)

func (*VulnersClient) SearchExploits

func (v *VulnersClient) SearchExploits(ctx context.Context, query string, limit, offset int) (*SearchResult, error)

func (*VulnersClient) UpdateSubscription added in v1.2.0

func (v *VulnersClient) UpdateSubscription(ctx context.Context, id string, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)

func (*VulnersClient) VulnsList added in v1.2.0

func (v *VulnersClient) VulnsList(ctx context.Context, limit, offset int) ([]vulners.VulnItem, error)

func (*VulnersClient) VulnsSummaryReport added in v1.2.0

func (v *VulnersClient) VulnsSummaryReport(ctx context.Context, limit, offset int) (*vulners.VulnsSummary, error)

func (*VulnersClient) WinAudit

func (v *VulnersClient) WinAudit(ctx context.Context, osName, osVersion string, kbList []string, software []vulners.WinAuditItem) (*vulners.AuditResult, error)

type VulnersVScannerClient added in v1.2.0

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

VulnersVScannerClient implements VScannerClient using go-vulners/vscanner.

func NewVScannerClient added in v1.2.0

func NewVScannerClient(apiKey string, logger *slog.Logger) (*VulnersVScannerClient, error)

NewVScannerClient creates a new VScanner API client.

func (*VulnersVScannerClient) CreateProject added in v1.2.0

func (*VulnersVScannerClient) CreateTask added in v1.2.0

func (v *VulnersVScannerClient) CreateTask(ctx context.Context, projectID string, req *vscanner.TaskRequest) (*vscanner.Task, error)

func (*VulnersVScannerClient) DeleteProject added in v1.2.0

func (v *VulnersVScannerClient) DeleteProject(ctx context.Context, id string) error

func (*VulnersVScannerClient) DeleteResult added in v1.2.0

func (v *VulnersVScannerClient) DeleteResult(ctx context.Context, projectID, resultID string) error

func (*VulnersVScannerClient) DeleteTask added in v1.2.0

func (v *VulnersVScannerClient) DeleteTask(ctx context.Context, projectID, taskID string) error

func (*VulnersVScannerClient) ExportResult added in v1.2.0

func (v *VulnersVScannerClient) ExportResult(ctx context.Context, projectID, resultID, format string) ([]byte, error)

func (*VulnersVScannerClient) GetHostDetail added in v1.2.0

func (v *VulnersVScannerClient) GetHostDetail(ctx context.Context, projectID, resultID, host string) (*vscanner.HostDetail, error)

func (*VulnersVScannerClient) GetLicenses added in v1.2.0

func (v *VulnersVScannerClient) GetLicenses(ctx context.Context) ([]vscanner.License, error)

func (*VulnersVScannerClient) GetProject added in v1.2.0

func (v *VulnersVScannerClient) GetProject(ctx context.Context, id string) (*vscanner.Project, error)

func (*VulnersVScannerClient) GetResult added in v1.2.0

func (v *VulnersVScannerClient) GetResult(ctx context.Context, projectID, resultID string) (*vscanner.Result, error)

func (*VulnersVScannerClient) GetResultHosts added in v1.2.0

func (v *VulnersVScannerClient) GetResultHosts(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.HostSummary, error)

func (*VulnersVScannerClient) GetResultStatistics added in v1.2.0

func (v *VulnersVScannerClient) GetResultStatistics(ctx context.Context, projectID, resultID string) (*vscanner.Statistics, error)

func (*VulnersVScannerClient) GetResultVulnerabilities added in v1.2.0

func (v *VulnersVScannerClient) GetResultVulnerabilities(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.VulnSummary, error)

func (*VulnersVScannerClient) GetTask added in v1.2.0

func (v *VulnersVScannerClient) GetTask(ctx context.Context, projectID, taskID string) (*vscanner.Task, error)

func (*VulnersVScannerClient) ListProjects added in v1.2.0

func (v *VulnersVScannerClient) ListProjects(ctx context.Context, limit, offset int) ([]vscanner.Project, error)

func (*VulnersVScannerClient) ListResults added in v1.2.0

func (v *VulnersVScannerClient) ListResults(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Result, error)

func (*VulnersVScannerClient) ListTasks added in v1.2.0

func (v *VulnersVScannerClient) ListTasks(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Task, error)

func (*VulnersVScannerClient) StartTask added in v1.2.0

func (v *VulnersVScannerClient) StartTask(ctx context.Context, projectID, taskID string) error

func (*VulnersVScannerClient) StopTask added in v1.2.0

func (v *VulnersVScannerClient) StopTask(ctx context.Context, projectID, taskID string) error

func (*VulnersVScannerClient) UpdateProject added in v1.2.0

func (*VulnersVScannerClient) UpdateTask added in v1.2.0

func (v *VulnersVScannerClient) UpdateTask(ctx context.Context, projectID, taskID string, req *vscanner.TaskRequest) (*vscanner.Task, error)

Jump to

Keyboard shortcuts

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