mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-17 18:05:27 +00:00
* prototype new scan events * scan-event: improvements + conditional build * add scan charts server: make scan-charts * scan-charts: bug fix
46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
package events
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type ScanEventWorker interface {
|
|
// AddScanEvent adds a scan event to the worker
|
|
AddScanEvent(event ScanEvent)
|
|
}
|
|
|
|
// Track scan start / finish status
|
|
type ScanStatus string
|
|
|
|
const (
|
|
ScanStarted ScanStatus = "scan_start"
|
|
ScanFinished ScanStatus = "scan_end"
|
|
)
|
|
|
|
const (
|
|
ConfigFile = "config.json"
|
|
EventsFile = "events.jsonl"
|
|
)
|
|
|
|
// ScanEvent represents a single scan event with its metadata
|
|
type ScanEvent struct {
|
|
Target string `json:"target" yaml:"target"`
|
|
TemplateType string `json:"template_type" yaml:"template_type"`
|
|
TemplateID string `json:"template_id" yaml:"template_id"`
|
|
TemplatePath string `json:"template_path" yaml:"template_path"`
|
|
MaxRequests int `json:"max_requests" yaml:"max_requests"`
|
|
Time time.Time `json:"time" yaml:"time"`
|
|
EventType ScanStatus `json:"event_type" yaml:"event_type"`
|
|
}
|
|
|
|
// ScanConfig is only in context of scan event analysis
|
|
type ScanConfig struct {
|
|
Name string `json:"name" yaml:"name"`
|
|
TargetCount int `json:"target_count" yaml:"target_count"`
|
|
TemplatesCount int `json:"templates_count" yaml:"templates_count"`
|
|
TemplateConcurrency int `json:"template_concurrency" yaml:"template_concurrency"`
|
|
PayloadConcurrency int `json:"payload_concurrency" yaml:"payload_concurrency"`
|
|
JsConcurrency int `json:"js_concurrency" yaml:"js_concurrency"`
|
|
Retries int `json:"retries" yaml:"retries"`
|
|
}
|