Documentation
¶
Index ¶
- Variables
- func RunGovulncheck(ctx context.Context, dir string, logger *slog.Logger) ([]model.Finding, error)
- type Client
- type SearchResult
- type VScannerClient
- type VulnersClient
- func (v *VulnersClient) AddWebhook(ctx context.Context, query string) (*vulners.Webhook, error)
- func (v *VulnersClient) CreateSubscription(ctx context.Context, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)
- func (v *VulnersClient) DeleteSubscription(ctx context.Context, id string) error
- func (v *VulnersClient) DeleteWebhook(ctx context.Context, id string) error
- func (v *VulnersClient) EnableSubscription(ctx context.Context, id string, active bool) error
- func (v *VulnersClient) EnableWebhook(ctx context.Context, id string, active bool) error
- func (v *VulnersClient) FetchCollection(ctx context.Context, collType vulners.CollectionType) ([]vulners.Bulletin, error)
- func (v *VulnersClient) FetchCollectionUpdate(ctx context.Context, collType vulners.CollectionType, after time.Time) ([]vulners.Bulletin, error)
- func (v *VulnersClient) GetAIScore(ctx context.Context, text string) (*vulners.AIScore, error)
- func (v *VulnersClient) GetBulletin(ctx context.Context, id string) (*vulners.Bulletin, error)
- func (v *VulnersClient) GetBulletinHistory(ctx context.Context, id string) ([]vulners.HistoryEntry, error)
- func (v *VulnersClient) GetBulletinReferences(ctx context.Context, id string) ([]string, error)
- func (v *VulnersClient) GetMultipleBulletins(ctx context.Context, ids []string) (map[string]vulners.Bulletin, error)
- func (v *VulnersClient) GetSubscription(ctx context.Context, id string) (*vulners.Subscription, error)
- func (v *VulnersClient) GetSuggestion(ctx context.Context, fieldName string) ([]string, error)
- func (v *VulnersClient) GetWebhook(ctx context.Context, id string) (*vulners.Webhook, error)
- func (v *VulnersClient) HostAudit(ctx context.Context, osName, osVersion string, packages []vulners.AuditItem) (*vulners.SoftwareAuditResult, error)
- func (v *VulnersClient) HostVulns(ctx context.Context, limit, offset int) ([]vulners.HostVuln, error)
- func (v *VulnersClient) IPSummaryReport(ctx context.Context) (*vulners.IPSummary, error)
- func (v *VulnersClient) KBAudit(ctx context.Context, os string, kbList []string) (*vulners.AuditResult, error)
- func (v *VulnersClient) LinuxAudit(ctx context.Context, osName, osVersion string, packages []string) (*vulners.AuditResult, error)
- func (v *VulnersClient) ListSubscriptions(ctx context.Context) ([]vulners.Subscription, error)
- func (v *VulnersClient) ListWebhooks(ctx context.Context) ([]vulners.Webhook, error)
- func (v *VulnersClient) MakeSTIXBundleByCVE(ctx context.Context, cveID string) (*vulners.StixBundle, error)
- func (v *VulnersClient) MakeSTIXBundleByID(ctx context.Context, id string) (*vulners.StixBundle, error)
- func (v *VulnersClient) QueryAutocomplete(ctx context.Context, query string) ([]string, error)
- func (v *VulnersClient) ReadWebhook(ctx context.Context, id string, newestOnly bool) (*vulners.WebhookData, error)
- func (v *VulnersClient) SBOMAudit(ctx context.Context, sbom io.Reader) (*vulners.SBOMAuditResult, error)
- func (v *VulnersClient) ScanList(ctx context.Context, limit, offset int) ([]vulners.ScanItem, error)
- func (v *VulnersClient) Search(ctx context.Context, query string, limit, offset int) (*SearchResult, error)
- func (v *VulnersClient) SearchCPE(ctx context.Context, product, vendor string, limit int) (*vulners.CPESearchResult, error)
- func (v *VulnersClient) SearchExploits(ctx context.Context, query string, limit, offset int) (*SearchResult, error)
- func (v *VulnersClient) UpdateSubscription(ctx context.Context, id string, req *vulners.SubscriptionRequest) (*vulners.Subscription, error)
- func (v *VulnersClient) VulnsList(ctx context.Context, limit, offset int) ([]vulners.VulnItem, error)
- func (v *VulnersClient) VulnsSummaryReport(ctx context.Context, limit, offset int) (*vulners.VulnsSummary, error)
- func (v *VulnersClient) WinAudit(ctx context.Context, osName, osVersion string, kbList []string, ...) (*vulners.AuditResult, error)
- type VulnersVScannerClient
- func (v *VulnersVScannerClient) CreateProject(ctx context.Context, req *vscanner.ProjectRequest) (*vscanner.Project, error)
- func (v *VulnersVScannerClient) CreateTask(ctx context.Context, projectID string, req *vscanner.TaskRequest) (*vscanner.Task, error)
- func (v *VulnersVScannerClient) DeleteProject(ctx context.Context, id string) error
- func (v *VulnersVScannerClient) DeleteResult(ctx context.Context, projectID, resultID string) error
- func (v *VulnersVScannerClient) DeleteTask(ctx context.Context, projectID, taskID string) error
- func (v *VulnersVScannerClient) ExportResult(ctx context.Context, projectID, resultID, format string) ([]byte, error)
- func (v *VulnersVScannerClient) GetHostDetail(ctx context.Context, projectID, resultID, host string) (*vscanner.HostDetail, error)
- func (v *VulnersVScannerClient) GetLicenses(ctx context.Context) ([]vscanner.License, error)
- func (v *VulnersVScannerClient) GetProject(ctx context.Context, id string) (*vscanner.Project, error)
- func (v *VulnersVScannerClient) GetResult(ctx context.Context, projectID, resultID string) (*vscanner.Result, error)
- func (v *VulnersVScannerClient) GetResultHosts(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.HostSummary, error)
- func (v *VulnersVScannerClient) GetResultStatistics(ctx context.Context, projectID, resultID string) (*vscanner.Statistics, error)
- func (v *VulnersVScannerClient) GetResultVulnerabilities(ctx context.Context, projectID, resultID string, limit, offset int) ([]vscanner.VulnSummary, error)
- func (v *VulnersVScannerClient) GetTask(ctx context.Context, projectID, taskID string) (*vscanner.Task, error)
- func (v *VulnersVScannerClient) ListProjects(ctx context.Context, limit, offset int) ([]vscanner.Project, error)
- func (v *VulnersVScannerClient) ListResults(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Result, error)
- func (v *VulnersVScannerClient) ListTasks(ctx context.Context, projectID string, limit, offset int) ([]vscanner.Task, error)
- func (v *VulnersVScannerClient) StartTask(ctx context.Context, projectID, taskID string) error
- func (v *VulnersVScannerClient) StopTask(ctx context.Context, projectID, taskID string) error
- func (v *VulnersVScannerClient) UpdateProject(ctx context.Context, id string, req *vscanner.ProjectRequest) (*vscanner.Project, error)
- func (v *VulnersVScannerClient) UpdateTask(ctx context.Context, projectID, taskID string, req *vscanner.TaskRequest) (*vscanner.Task, error)
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 ¶
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 (*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 (*VulnersClient) EnableWebhook ¶ added in v1.2.0
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 (*VulnersClient) GetBulletin ¶
func (*VulnersClient) GetBulletinHistory ¶
func (v *VulnersClient) GetBulletinHistory(ctx context.Context, id string) ([]vulners.HistoryEntry, error)
func (*VulnersClient) GetBulletinReferences ¶
func (*VulnersClient) GetMultipleBulletins ¶
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 (*VulnersClient) GetWebhook ¶ added in v1.2.0
func (*VulnersClient) HostAudit ¶
func (v *VulnersClient) HostAudit(ctx context.Context, osName, osVersion string, packages []vulners.AuditItem) (*vulners.SoftwareAuditResult, error)
func (*VulnersClient) IPSummaryReport ¶ added in v1.2.0
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 (*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 (*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) 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) 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 (v *VulnersVScannerClient) CreateProject(ctx context.Context, req *vscanner.ProjectRequest) (*vscanner.Project, error)
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 (*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 (*VulnersVScannerClient) GetProject ¶ added in v1.2.0
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) ListProjects ¶ added in v1.2.0
func (*VulnersVScannerClient) ListResults ¶ added in v1.2.0
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 (v *VulnersVScannerClient) UpdateProject(ctx context.Context, id string, req *vscanner.ProjectRequest) (*vscanner.Project, error)
func (*VulnersVScannerClient) UpdateTask ¶ added in v1.2.0
func (v *VulnersVScannerClient) UpdateTask(ctx context.Context, projectID, taskID string, req *vscanner.TaskRequest) (*vscanner.Task, error)
Click to show internal directories.
Click to hide internal directories.