Versions in this module Expand all Collapse all v0 v0.2.0 Apr 23, 2026 Changes in this version + type AssetChange struct + AssetName string + AssetType string + Timestamp time.Time + Type string + type AssetPathScore struct + AssetID string + AssetType string + Criticality string + Exposure string + FindingCount int + IsCrownJewel bool + IsEntryPoint bool + IsProtected bool + Name string + PathScore float64 + ReachableFrom int + RiskScore int + type AssetTypeBreakdown struct + Exposed int + Total int + Type string + type ExposedService struct + Criticality string + Exposure string + FindingCount int + ID string + LastSeen time.Time + Name string + Port int + Type string + type PathScoringResult struct + Summary PathSummary + TopAssets []AssetPathScore + type PathSummary struct + CriticalReachable int + CrownJewelsAtRisk int + EntryPoints int + HasRelationshipData bool + MaxDepth int + ReachableAssets int + TotalPaths int + type SurfaceRepository interface + GetExposedServices func(ctx context.Context, tenantID shared.ID, limit int) ([]ExposedService, error) + GetRecentChanges func(ctx context.Context, tenantID shared.ID, limit int) ([]AssetChange, error) + GetStats func(ctx context.Context, tenantID shared.ID) (*SurfaceStatsData, error) + GetStatsWithTrends func(ctx context.Context, tenantID shared.ID) (*SurfaceStatsData, error) + type SurfaceService struct + func NewSurfaceService(assetRepo asset.Repository, relRepo asset.RelationshipRepository, ...) *SurfaceService + func (s *SurfaceService) ComputeAttackPathScores(ctx context.Context, tenantID shared.ID, relRepo asset.RelationshipRepository) (*PathScoringResult, error) + func (s *SurfaceService) GetAttackPathScores(ctx context.Context, tenantID shared.ID) (*PathScoringResult, error) + func (s *SurfaceService) GetStats(ctx context.Context, tenantID shared.ID) (*SurfaceStats, error) + type SurfaceStats struct + AssetBreakdown []AssetTypeBreakdown + CriticalExposures int + CriticalExposuresChange int + ExposedServices int + ExposedServicesChange int + ExposedServicesList []ExposedService + RecentChanges []AssetChange + RiskScore float64 + TotalAssets int + TotalAssetsChange int + type SurfaceStatsData struct + AverageRiskScore float64 + ByType map[string]int + CriticalExposures int + CriticalExposuresChange int + ExposedByType map[string]int + ExposedServices int + ExposedServicesChange int + TotalAssets int + TotalAssetsChange int