security

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditEvent

type AuditEvent struct {
	ID         string                 `json:"id"`
	Timestamp  time.Time              `json:"timestamp"`
	EventType  string                 `json:"event_type"`
	User       string                 `json:"user"`
	Resource   string                 `json:"resource"`
	Action     string                 `json:"action"`
	Result     string                 `json:"result"`
	Details    map[string]interface{} `json:"details"`
	IPAddress  string                 `json:"ip_address"`
	UserAgent  string                 `json:"user_agent"`
	SessionID  string                 `json:"session_id"`
	Severity   string                 `json:"severity"`
	Compliance []string               `json:"compliance"`
}

AuditEvent represents an audit event

type AuditIssue

type AuditIssue struct {
	Type           string `json:"type"`
	Severity       string `json:"severity"`
	Description    string `json:"description"`
	Resource       string `json:"resource"`
	Principal      string `json:"principal"`
	Recommendation string `json:"recommendation"`
}

AuditIssue represents an audit issue

type AuditLogger

type AuditLogger struct {
	// contains filtered or unexported fields
}

AuditLogger handles audit logging

func NewAuditLogger

func NewAuditLogger(config *SecurityConfig) (*AuditLogger, error)

NewAuditLogger creates a new audit logger

func (*AuditLogger) LogEvent

func (al *AuditLogger) LogEvent(event *AuditEvent) error

LogEvent logs an audit event

type AuditResult

type AuditResult struct {
	ID          string       `json:"id"`
	Resource    string       `json:"resource"`
	Timestamp   time.Time    `json:"timestamp"`
	Permissions []Permission `json:"permissions"`
	Issues      []AuditIssue `json:"issues"`
	Summary     AuditSummary `json:"summary"`
}

AuditResult represents permission audit results

type AuditSummary

type AuditSummary struct {
	TotalPermissions int `json:"total_permissions"`
	CriticalIssues   int `json:"critical_issues"`
	HighIssues       int `json:"high_issues"`
	MediumIssues     int `json:"medium_issues"`
	LowIssues        int `json:"low_issues"`
}

AuditSummary provides a summary of audit results

type ComplianceControl

type ComplianceControl struct {
	ID          string `json:"id"`
	Title       string `json:"title"`
	Description string `json:"description"`
	Status      string `json:"status"`
	Evidence    string `json:"evidence"`
	Remediation string `json:"remediation"`
}

ComplianceControl represents a single compliance control

type ComplianceResult

type ComplianceResult struct {
	ID        string              `json:"id"`
	Standard  string              `json:"standard"`
	Timestamp time.Time           `json:"timestamp"`
	Status    string              `json:"status"`
	Score     float64             `json:"score"`
	Controls  []ComplianceControl `json:"controls"`
	Summary   ComplianceSummary   `json:"summary"`
}

ComplianceResult represents compliance check results

type ComplianceSummary

type ComplianceSummary struct {
	TotalControls   int `json:"total_controls"`
	PassedControls  int `json:"passed_controls"`
	FailedControls  int `json:"failed_controls"`
	WarningControls int `json:"warning_controls"`
}

ComplianceSummary provides a summary of compliance results

type DefaultSecurityService

type DefaultSecurityService struct {
	// contains filtered or unexported fields
}

DefaultSecurityService provides a default implementation

func (*DefaultSecurityService) AuditPermissions

func (s *DefaultSecurityService) AuditPermissions(ctx context.Context, resource string) (*AuditResult, error)

AuditPermissions performs permission audits

func (*DefaultSecurityService) CheckCompliance

func (s *DefaultSecurityService) CheckCompliance(ctx context.Context, standard string) (*ComplianceResult, error)

CheckCompliance performs compliance checks

func (*DefaultSecurityService) GenerateSecurityReport

func (s *DefaultSecurityService) GenerateSecurityReport(ctx context.Context, options ReportOptions) (*SecurityReport, error)

GenerateSecurityReport generates a comprehensive security report

func (*DefaultSecurityService) MonitorSecurityEvents

func (s *DefaultSecurityService) MonitorSecurityEvents(ctx context.Context) (<-chan SecurityEvent, error)

MonitorSecurityEvents monitors security events

func (*DefaultSecurityService) ScanVulnerabilities

func (s *DefaultSecurityService) ScanVulnerabilities(ctx context.Context, target string) (*ScanResult, error)

ScanVulnerabilities performs a vulnerability scan

func (*DefaultSecurityService) ValidateSecurityPolicies

func (s *DefaultSecurityService) ValidateSecurityPolicies(ctx context.Context, policies []Policy) (*ValidationResult, error)

ValidateSecurityPolicies validates security policies

type Encryptor

type Encryptor struct {
	// contains filtered or unexported fields
}

Encryptor handles encryption operations

func NewEncryptor

func NewEncryptor(keyManager *KeyManager) *Encryptor

NewEncryptor creates a new encryptor

func (*Encryptor) Decrypt

func (e *Encryptor) Decrypt(data []byte, keyName string) ([]byte, error)

Decrypt decrypts data using AES-GCM

func (*Encryptor) Encrypt

func (e *Encryptor) Encrypt(data []byte, keyName string) ([]byte, error)

Encrypt encrypts data using AES-GCM

type ExecutiveSummary

type ExecutiveSummary struct {
	OverallRiskScore     float64  `json:"overall_risk_score"`
	CriticalFindings     int      `json:"critical_findings"`
	HighPriorityFindings int      `json:"high_priority_findings"`
	ComplianceScore      float64  `json:"compliance_score"`
	KeyRecommendations   []string `json:"key_recommendations"`
}

ExecutiveSummary provides a high-level summary

type KeyManager

type KeyManager struct {
	// contains filtered or unexported fields
}

KeyManager manages encryption keys

func NewKeyManager

func NewKeyManager(config *SecurityConfig) (*KeyManager, error)

NewKeyManager creates a new key manager

func (*KeyManager) GenerateKey

func (km *KeyManager) GenerateKey(name string) ([]byte, error)

GenerateKey generates a new key

func (*KeyManager) GetKey

func (km *KeyManager) GetKey(name string) ([]byte, error)

GetKey retrieves a key by name

type Permission

type Permission struct {
	Principal  string            `json:"principal"`
	Actions    []string          `json:"actions"`
	Resource   string            `json:"resource"`
	Effect     string            `json:"effect"`
	Conditions map[string]string `json:"conditions"`
}

Permission represents a permission entry

type Policy

type Policy struct {
	ID          string            `json:"id"`
	Name        string            `json:"name"`
	Description string            `json:"description"`
	Type        string            `json:"type"`
	Rules       []PolicyRule      `json:"rules"`
	Metadata    map[string]string `json:"metadata"`
}

Policy represents a security policy

type PolicyRule

type PolicyRule struct {
	ID         string            `json:"id"`
	Condition  string            `json:"condition"`
	Action     string            `json:"action"`
	Parameters map[string]string `json:"parameters"`
	Enabled    bool              `json:"enabled"`
}

PolicyRule represents a rule within a policy

type PolicyValidation

type PolicyValidation struct {
	PolicyID string              `json:"policy_id"`
	Status   string              `json:"status"`
	Issues   []ValidationIssue   `json:"issues"`
	Warnings []ValidationWarning `json:"warnings"`
}

PolicyValidation represents validation results for a single policy

type ReportOptions

type ReportOptions struct {
	Type           string   `json:"type"`
	Targets        []string `json:"targets"`
	Standards      []string `json:"standards"`
	IncludeDetails bool     `json:"include_details"`
	Format         string   `json:"format"`
}

ReportOptions defines options for generating security reports

type ScanResult

type ScanResult struct {
	ID              string          `json:"id"`
	Target          string          `json:"target"`
	Timestamp       time.Time       `json:"timestamp"`
	Status          string          `json:"status"`
	Summary         ScanSummary     `json:"summary"`
	Vulnerabilities []Vulnerability `json:"vulnerabilities"`
	Recommendations []string        `json:"recommendations"`
}

ScanResult represents the result of a security scan

type ScanSummary

type ScanSummary struct {
	TotalChecks    int `json:"total_checks"`
	CriticalIssues int `json:"critical_issues"`
	HighIssues     int `json:"high_issues"`
	MediumIssues   int `json:"medium_issues"`
	LowIssues      int `json:"low_issues"`
	InfoIssues     int `json:"info_issues"`
}

ScanSummary provides a summary of scan results

type SecurityConfig

type SecurityConfig struct {
	Encryption     bool   `json:"encryption" yaml:"encryption"`
	AuditLogging   bool   `json:"audit_logging" yaml:"audit_logging"`
	KeyManagement  string `json:"key_management" yaml:"key_management"`
	ComplianceMode string `json:"compliance_mode" yaml:"compliance_mode"`
	AuditLogPath   string `json:"audit_log_path" yaml:"audit_log_path"`
	KeyStorePath   string `json:"key_store_path" yaml:"key_store_path"`
	RotationPeriod int    `json:"rotation_period" yaml:"rotation_period"`
}

SecurityConfig represents security configuration

type SecurityEvent

type SecurityEvent struct {
	ID          string            `json:"id"`
	Type        string            `json:"type"`
	Timestamp   time.Time         `json:"timestamp"`
	Source      string            `json:"source"`
	Severity    string            `json:"severity"`
	Description string            `json:"description"`
	Details     map[string]string `json:"details"`
	Actions     []string          `json:"actions"`
}

SecurityEvent represents a security event

type SecurityManager

type SecurityManager struct {
	// contains filtered or unexported fields
}

Enhanced Security Manager with Encryption and Audit Logging

func NewSecurityManager

func NewSecurityManager(config *SecurityConfig) (*SecurityManager, error)

NewSecurityManager creates a new security manager

func (*SecurityManager) EncryptSensitiveData

func (sm *SecurityManager) EncryptSensitiveData(data map[string]interface{}) (map[string]interface{}, error)

EncryptSensitiveData encrypts sensitive configuration data

func (*SecurityManager) LogSecurityEvent

func (sm *SecurityManager) LogSecurityEvent(eventType, user, resource, action, result string, details map[string]interface{}) error

LogSecurityEvent logs a security-related event

type SecurityReport

type SecurityReport struct {
	ID                string             `json:"id"`
	Timestamp         time.Time          `json:"timestamp"`
	Type              string             `json:"type"`
	ExecutiveSummary  ExecutiveSummary   `json:"executive_summary"`
	ScanResults       []ScanResult       `json:"scan_results"`
	ComplianceResults []ComplianceResult `json:"compliance_results"`
	AuditResults      []AuditResult      `json:"audit_results"`
	Recommendations   []string           `json:"recommendations"`
}

SecurityReport represents a comprehensive security report

type SecurityService

type SecurityService interface {
	ScanVulnerabilities(ctx context.Context, target string) (*ScanResult, error)
	CheckCompliance(ctx context.Context, standard string) (*ComplianceResult, error)
	AuditPermissions(ctx context.Context, resource string) (*AuditResult, error)
	MonitorSecurityEvents(ctx context.Context) (<-chan SecurityEvent, error)
	GenerateSecurityReport(ctx context.Context, options ReportOptions) (*SecurityReport, error)
	ValidateSecurityPolicies(ctx context.Context, policies []Policy) (*ValidationResult, error)
}

SecurityService interface defines security-related operations

func NewSecurityService

func NewSecurityService(cfg *config.Config) SecurityService

NewSecurityService creates a new security service

type ValidationIssue

type ValidationIssue struct {
	Type        string `json:"type"`
	Severity    string `json:"severity"`
	Description string `json:"description"`
	RuleID      string `json:"rule_id"`
	Solution    string `json:"solution"`
}

ValidationIssue represents a validation issue

type ValidationResult

type ValidationResult struct {
	ID        string             `json:"id"`
	Timestamp time.Time          `json:"timestamp"`
	Status    string             `json:"status"`
	Policies  []PolicyValidation `json:"policies"`
	Summary   ValidationSummary  `json:"summary"`
}

ValidationResult represents policy validation results

type ValidationSummary

type ValidationSummary struct {
	TotalPolicies   int `json:"total_policies"`
	ValidPolicies   int `json:"valid_policies"`
	InvalidPolicies int `json:"invalid_policies"`
	TotalIssues     int `json:"total_issues"`
	TotalWarnings   int `json:"total_warnings"`
}

ValidationSummary provides a summary of validation results

type ValidationWarning

type ValidationWarning struct {
	Type        string `json:"type"`
	Description string `json:"description"`
	RuleID      string `json:"rule_id"`
	Suggestion  string `json:"suggestion"`
}

ValidationWarning represents a validation warning

type Vulnerability

type Vulnerability struct {
	ID          string            `json:"id"`
	Title       string            `json:"title"`
	Description string            `json:"description"`
	Severity    string            `json:"severity"`
	CVSS        float64           `json:"cvss"`
	CVE         string            `json:"cve,omitempty"`
	Component   string            `json:"component"`
	Version     string            `json:"version"`
	Solution    string            `json:"solution"`
	References  []string          `json:"references"`
	Metadata    map[string]string `json:"metadata"`
}

Vulnerability represents a security vulnerability

Jump to

Keyboard shortcuts

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