Documentation
¶
Index ¶
Constants ¶
const (
SIRIUS_VALKEY = "sirius-valkey:6379"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HostEntry ¶ added in v0.0.14
type HostEntry struct {
ID string `json:"id"`
IP string `json:"ip"`
Hostname string `json:"hostname,omitempty"`
Aliases []string `json:"aliases,omitempty"`
Sources []string `json:"sources,omitempty"`
}
HostEntry represents a discovered host with canonical IP identity. Multiple scanners may discover the same host; entries are merged by IP.
type HostVulnerabilityStat ¶ added in v0.0.12
type HostVulnerabilityStat struct {
HostIP string `json:"host_ip"`
Hostname string `json:"hostname,omitempty"`
Total int `json:"total"`
Critical int `json:"critical"`
High int `json:"high"`
Medium int `json:"medium"`
Low int `json:"low"`
Informational int `json:"informational"`
}
HostVulnerabilityStat represents vulnerability statistics for a specific host
type KVStore ¶
type KVStore interface {
// SetValue sets the given key to the specified value.
SetValue(ctx context.Context, key, value string) error
// SetValueWithTTL sets the given key to the specified value with a TTL in seconds.
SetValueWithTTL(ctx context.Context, key, value string, ttlSeconds int) error
// GetValue retrieves the value associated with the given key.
GetValue(ctx context.Context, key string) (ValkeyResponse, error)
// GetTTL retrieves the remaining TTL in seconds for the given key.
GetTTL(ctx context.Context, key string) (int, error)
// SetExpire sets the TTL for an existing key in seconds.
SetExpire(ctx context.Context, key string, ttlSeconds int) error
// ListKeys retrieves all keys matching the given pattern.
ListKeys(ctx context.Context, pattern string) ([]string, error)
// DeleteValue removes the value associated with the given key.
DeleteValue(ctx context.Context, key string) error
// Close shuts down the underlying connection.
Close() error
}
KVStore defines the key/value operations our store supports.
func NewValkeyStore ¶
NewValkeyStore creates a new store connected to sirius-valkey:6379.
type ScanResult ¶
type ScanResult struct {
ID string `json:"id"`
Status string `json:"status"`
Targets []string `json:"targets"`
Hosts []HostEntry `json:"hosts"`
HostsCompleted int `json:"hosts_completed"`
Vulnerabilities []VulnerabilitySummary `json:"vulnerabilities"`
StartTime string `json:"start_time"`
EndTime string `json:"end_time,omitempty"`
SubScans map[string]SubScan `json:"sub_scans,omitempty"`
}
type SnapshotMetadata ¶ added in v0.0.12
type SnapshotMetadata struct {
TotalHosts int `json:"total_hosts"`
HostsWithVulnerabilities int `json:"hosts_with_vulnerabilities"`
ScanCoveragePercent float64 `json:"scan_coverage_percent"`
SnapshotDurationMs int64 `json:"snapshot_duration_ms"`
}
SnapshotMetadata contains metadata about the snapshot
type SubScan ¶ added in v0.0.14
type SubScan struct {
Type string `json:"type"`
Enabled bool `json:"enabled"`
Status string `json:"status"`
Progress SubScanProgress `json:"progress"`
Metadata json.RawMessage `json:"metadata,omitempty"`
}
SubScan represents a modular scanner contribution to a scan. Each scanner type (network, agent, cloud, etc.) gets its own entry. Metadata is stored as json.RawMessage so that scanners that don't understand another scanner's metadata will preserve it verbatim during read-modify-write cycles.
type SubScanProgress ¶ added in v0.0.14
type SubScanProgress struct {
Completed int `json:"completed"`
Total int `json:"total"`
Label string `json:"label,omitempty"`
}
SubScanProgress tracks completion progress for a sub-scan.
type ValkeyResponse ¶
type ValkeyResponse struct {
Message ValkeyValue `json:"Message"`
Type string `json:"Type"`
}
type ValkeyValue ¶
type ValkeyValue struct {
Value string `json:"Value"`
}
type VulnerabilityCounts ¶ added in v0.0.12
type VulnerabilityCounts struct {
Total int `json:"total"`
Critical int `json:"critical"`
High int `json:"high"`
Medium int `json:"medium"`
Low int `json:"low"`
Informational int `json:"informational"`
}
VulnerabilityCounts represents the total counts of vulnerabilities by severity
type VulnerabilitySnapshot ¶ added in v0.0.12
type VulnerabilitySnapshot struct {
SnapshotID string `json:"snapshot_id"` // YYYY-MM-DD format
Timestamp time.Time `json:"timestamp"`
Counts VulnerabilityCounts `json:"counts"`
ByHost []HostVulnerabilityStat `json:"by_host"`
Metadata SnapshotMetadata `json:"metadata"`
}
VulnerabilitySnapshot represents a point-in-time vulnerability state
type VulnerabilitySummary ¶
type VulnerabilitySummary struct {
ID string `json:"id"`
Severity string `json:"severity"`
Title string `json:"title"`
Description string `json:"description"`
CVSSScore float64 `json:"cvss_score,omitempty"`
RiskScore float64 `json:"risk_score,omitempty"`
ScanSource string `json:"scan_source,omitempty"`
HostID string `json:"host_id,omitempty"`
AgentID string `json:"agent_id,omitempty"`
}