Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
projectdiscovery
GitHub Repository: projectdiscovery/nuclei
Path: blob/dev/pkg/scan/events/utils.go
2070 views
1
package events
2
3
import (
4
"time"
5
)
6
7
type ScanEventWorker interface {
8
// AddScanEvent adds a scan event to the worker
9
AddScanEvent(event ScanEvent)
10
}
11
12
// Track scan start / finish status
13
type ScanStatus string
14
15
const (
16
ScanStarted ScanStatus = "scan_start"
17
ScanFinished ScanStatus = "scan_end"
18
)
19
20
const (
21
ConfigFile = "config.json"
22
EventsFile = "events.jsonl"
23
)
24
25
// ScanEvent represents a single scan event with its metadata
26
type ScanEvent struct {
27
Target string `json:"target" yaml:"target"`
28
TemplateType string `json:"template_type" yaml:"template_type"`
29
TemplateID string `json:"template_id" yaml:"template_id"`
30
TemplatePath string `json:"template_path" yaml:"template_path"`
31
MaxRequests int `json:"max_requests" yaml:"max_requests"`
32
Time time.Time `json:"time" yaml:"time"`
33
EventType ScanStatus `json:"event_type" yaml:"event_type"`
34
}
35
36
// ScanConfig is only in context of scan event analysis
37
type ScanConfig struct {
38
Name string `json:"name" yaml:"name"`
39
TargetCount int `json:"target_count" yaml:"target_count"`
40
TemplatesCount int `json:"templates_count" yaml:"templates_count"`
41
TemplateConcurrency int `json:"template_concurrency" yaml:"template_concurrency"`
42
PayloadConcurrency int `json:"payload_concurrency" yaml:"payload_concurrency"`
43
JsConcurrency int `json:"js_concurrency" yaml:"js_concurrency"`
44
Retries int `json:"retries" yaml:"retries"`
45
}
46
47