store

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
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

func NewValkeyStore() (KVStore, error)

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"`
}

Jump to

Keyboard shortcuts

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