app

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: GPL-3.0 Imports: 35 Imported by: 0

Documentation

Overview

Package app provides adapters for connecting services to sub-packages. These adapters implement the interfaces expected by the scan and pipeline sub-packages while delegating to the concrete app-level services.

Package app provides the security validator service for validating pipeline steps, scan configurations, and command payloads to prevent command injection and other security vulnerabilities.

Index

Constants

View Source
const (
	SelectTenantOnly = agent.SelectTenantOnly
	SelectAny        = agent.SelectAny
)

Selection-mode constants re-exported for legacy callers.

View Source
const (
	BatchCreateStatusCreated   = asset.BatchCreateStatusCreated
	BatchCreateStatusDuplicate = asset.BatchCreateStatusDuplicate
	BatchCreateStatusError     = asset.BatchCreateStatusError
)
View Source
const (
	OAuthProviderGoogle    = auth.OAuthProviderGoogle
	OAuthProviderGitHub    = auth.OAuthProviderGitHub
	OAuthProviderMicrosoft = auth.OAuthProviderMicrosoft
)

OAuth provider constants.

View Source
const MaxChangesSize = activity.MaxChangesSize

MaxChangesSize is re-exported so test files using app.MaxChangesSize continue to compile.

View Source
const TypeAITriage = aitriage.TypeAITriage

Variables

View Source
var (
	NewPermissionService                  = accesscontrol.NewPermissionService
	NewPermissionCacheService             = accesscontrol.NewPermissionCacheService
	NewPermissionVersionService           = accesscontrol.NewPermissionVersionService
	NewRoleService                        = accesscontrol.NewRoleService
	NewGroupService                       = accesscontrol.NewGroupService
	NewGroupSyncService                   = accesscontrol.NewGroupSyncService
	NewMembershipCacheService             = accesscontrol.NewMembershipCacheService
	NewRuleService                        = accesscontrol.NewRuleService
	WithAccessControlRepository           = accesscontrol.WithAccessControlRepository
	WithGroupAuditService                 = accesscontrol.WithGroupAuditService
	WithPermissionAccessControlRepository = accesscontrol.WithPermissionAccessControlRepository
	WithPermissionAuditService            = accesscontrol.WithPermissionAuditService
	WithPermissionGroupRepository         = accesscontrol.WithPermissionGroupRepository
	WithPermissionSetRepository           = accesscontrol.WithPermissionSetRepository
	WithRoleAuditService                  = accesscontrol.WithRoleAuditService
	WithRolePermissionCacheService        = accesscontrol.WithRolePermissionCacheService
	WithRolePermissionVersionService      = accesscontrol.WithRolePermissionVersionService

	ComputeContentHash    = accesscontrol.ComputeContentHash
	GenerateBundleVersion = accesscontrol.GenerateBundleVersion
)
View Source
var (
	NewAgentService               = agent.NewAgentService
	NewAgentSelector              = agent.NewAgentSelector
	NewAgentConfigTemplateService = agent.NewAgentConfigTemplateService
	ErrNoAgentAvailable           = agent.ErrNoAgentAvailable
)
View Source
var (
	NewAITriageService        = aitriage.NewAITriageService
	NewTriageOutputValidator  = aitriage.NewTriageOutputValidator
	NewPromptSanitizer        = aitriage.NewPromptSanitizer
	CheckTokenLimit           = aitriage.CheckTokenLimit
	NewAITriageBudgetService  = aitriage.NewBudgetService
	ErrAITriageBudgetExceeded = aitriage.ErrBudgetExceeded
	ErrAITriageBudgetUnavail  = aitriage.ErrBudgetUnavailable
)
View Source
var (
	NewTenantScoringConfigProvider   = asset.NewTenantScoringConfigProvider
	MapTenantToAssetScoringConfig    = asset.MapTenantToAssetScoringConfig
	NewAssetService                  = asset.NewAssetService
	NewAssetGroupService             = asset.NewAssetGroupService
	NewAssetImportService            = asset.NewAssetImportService
	NewAssetRelationshipService      = asset.NewAssetRelationshipService
	NewAssetTypeService              = asset.NewAssetTypeService
	NewBranchService                 = asset.NewBranchService
	NewBusinessUnitService           = asset.NewBusinessUnitService
	NewComponentService              = asset.NewComponentService
	NewRelationshipSuggestionService = asset.NewRelationshipSuggestionService
	NewSBOMImportService             = asset.NewSBOMImportService
	PromoteKnownProperties           = asset.PromoteKnownProperties
)
View Source
var (
	NewAuditService = audit.NewAuditService
	NewSuccessEvent = audit.NewSuccessEvent
	NewFailureEvent = audit.NewFailureEvent
	NewDeniedEvent  = audit.NewDeniedEvent
)

Constructors.

View Source
var (
	NewAuthService                = auth.NewAuthService
	NewSSOService                 = auth.NewSSOService
	NewOAuthService               = auth.NewOAuthService
	NewSessionService             = auth.NewSessionService
	NewEmailService               = auth.NewEmailService
	NewWSTicketService            = auth.NewWSTicketService
	NewIntegrationSMTPResolver    = auth.NewIntegrationSMTPResolver
	NewSettingsStorageResolver    = auth.NewSettingsStorageResolver
	SMTPConfigFromIntegrationMeta = auth.SMTPConfigFromIntegrationMeta

	// Sentinel errors.
	ErrTicketNotFound           = auth.ErrTicketNotFound
	ErrAccountLocked            = auth.ErrAccountLocked
	ErrAccountSuspended         = auth.ErrAccountSuspended
	ErrEmailAlreadyExists       = auth.ErrEmailAlreadyExists
	ErrEmailNotVerified         = auth.ErrEmailNotVerified
	ErrInvalidCredentials       = auth.ErrInvalidCredentials
	ErrInvalidProvider          = auth.ErrInvalidProvider
	ErrInvalidResetToken        = auth.ErrInvalidResetToken
	ErrInvalidState             = auth.ErrInvalidState
	ErrInvalidVerificationToken = auth.ErrInvalidVerificationToken
	ErrOAuthDisabled            = auth.ErrOAuthDisabled
	ErrOAuthExchangeFailed      = auth.ErrOAuthExchangeFailed
	ErrOAuthUserInfoFailed      = auth.ErrOAuthUserInfoFailed
	ErrPasswordMismatch         = auth.ErrPasswordMismatch
	ErrProviderDisabled         = auth.ErrProviderDisabled
	ErrRegistrationDisabled     = auth.ErrRegistrationDisabled
	ErrSessionLimitReached      = auth.ErrSessionLimitReached
	ErrSSODecryptionFailed      = auth.ErrSSODecryptionFailed
	ErrSSODomainNotAllowed      = auth.ErrSSODomainNotAllowed
	ErrSSOExchangeFailed        = auth.ErrSSOExchangeFailed
	ErrSSOInvalidDefaultRole    = auth.ErrSSOInvalidDefaultRole
	ErrSSOInvalidRedirectURI    = auth.ErrSSOInvalidRedirectURI
	ErrSSOInvalidState          = auth.ErrSSOInvalidState
	ErrSSONoActiveProviders     = auth.ErrSSONoActiveProviders
	ErrSSONoEmail               = auth.ErrSSONoEmail
	ErrSSOProviderInactive      = auth.ErrSSOProviderInactive
	ErrSSOProviderNotFound      = auth.ErrSSOProviderNotFound
	ErrSSOProviderUnsupported   = auth.ErrSSOProviderUnsupported
	ErrSSOTenantNotFound        = auth.ErrSSOTenantNotFound
	ErrSSOUserInfoFailed        = auth.ErrSSOUserInfoFailed
	ErrTenantAccessDenied       = auth.ErrTenantAccessDenied
	ErrTenantRequired           = auth.ErrTenantRequired
)
View Source
var (
	NewComplianceService   = compliance.NewComplianceService
	NewSimulationService   = compliance.NewSimulationService
	NewPentestService      = compliance.NewPentestService
	WithCachedCampaignRole = compliance.WithCachedCampaignRole
)
View Source
var (
	NewExposureService            = exposure.NewExposureService
	NewRemediationCampaignService = exposure.NewRemediationCampaignService
)
View Source
var (
	NewVulnerabilityService                = finding.NewVulnerabilityService
	NewFindingActionsService               = finding.NewFindingActionsService
	NewFindingCommentService               = finding.NewFindingCommentService
	NewFindingImportService                = finding.NewFindingImportService
	NewFindingLifecycleScheduler           = finding.NewFindingLifecycleScheduler
	NewFindingSourceCacheService           = finding.NewFindingSourceCacheService
	NewFindingSourceService                = finding.NewFindingSourceService
	NewPriorityClassificationService       = finding.NewPriorityClassificationService
	NewPriorityFloodGuard                  = finding.NewPriorityFloodGuard
	NewBulkGuard                           = finding.NewBulkGuard
	DefaultFindingLifecycleSchedulerConfig = finding.DefaultFindingLifecycleSchedulerConfig

	ErrBulkBudgetExceeded      = finding.ErrBulkBudgetExceeded
	ErrBulkNegativeSize        = finding.ErrBulkNegativeSize
	ErrBulkTooLarge            = finding.ErrBulkTooLarge
	ErrPriorityFloodSuppressed = finding.ErrPriorityFloodSuppressed
)
View Source
var (
	NewAttachmentService       = integration.NewAttachmentService
	NewCredentialImportService = integration.NewCredentialImportService
	NewIntegrationService      = integration.NewIntegrationService
	NewNotificationService     = integration.NewNotificationService
	NewSecretStoreService      = integration.NewSecretStoreService
	NewWebhookService          = integration.NewWebhookService
)
View Source
var (
	PipelineRunsTotal      = metrics.PipelineRunsTotal
	PipelineRunDuration    = metrics.PipelineRunDuration
	PipelineRunsInProgress = metrics.PipelineRunsInProgress
	StepRunsTotal          = metrics.StepRunsTotal
	StepRunDuration        = metrics.StepRunDuration
	StepRetryTotal         = metrics.StepRetryTotal
)

Pipeline metrics

View Source
var (
	CommandsTotal    = metrics.CommandsTotal
	CommandDuration  = metrics.CommandDuration
	CommandsExpired  = metrics.CommandsExpired
	CommandQueueSize = metrics.CommandQueueSize
)

Command metrics

View Source
var (
	AgentsOnline          = metrics.AgentsOnline
	AgentCommandsExecuted = metrics.AgentCommandsExecuted
	AgentHeartbeatLatency = metrics.AgentHeartbeatLatency
)

Agent metrics

View Source
var (
	ScansTotal              = metrics.ScansTotal
	ScansScheduled          = metrics.ScansScheduled
	ScanFindingsTotal       = metrics.ScanFindingsTotal
	ScanTriggerDuration     = metrics.ScanTriggerDuration
	ScanSchedulerErrors     = metrics.ScanSchedulerErrors
	ScanSchedulerLag        = metrics.ScanSchedulerLag
	ScansConcurrentRuns     = metrics.ScansConcurrentRuns
	ScansQualityGateResults = metrics.ScansQualityGateResults
)

Scan metrics

View Source
var (
	FindingsExpired      = metrics.FindingsExpired
	FindingsAutoResolved = metrics.FindingsAutoResolved
)

Finding lifecycle metrics

View Source
var (
	TemplateSyncsTotal        = metrics.TemplateSyncsTotal
	TemplateSyncsSuccessTotal = metrics.TemplateSyncsSuccessTotal
	TemplateSyncsFailedTotal  = metrics.TemplateSyncsFailedTotal
	TemplateSyncDuration      = metrics.TemplateSyncDuration
)

Template sync metrics

View Source
var (
	NewDashboardService      = module.NewDashboardService
	NewModuleService         = module.NewModuleService
	NewModuleVersionService  = module.NewVersionService
	NewReportScheduleService = module.NewReportScheduleService
)
View Source
var (
	NewScanScheduler      = scan.NewScanScheduler
	NewScanSessionService = scan.NewScanSessionService
	NewScanProfileService = scan.NewScanProfileService
)
View Source
var (
	NewTenantService                   = tenant.NewTenantService
	NewUserService                     = tenant.NewUserService
	NewTenantMembershipAdapter         = tenant.NewTenantMembershipAdapter
	WithEmailEnqueuer                  = tenant.WithEmailEnqueuer
	WithTenantAuditService             = tenant.WithTenantAuditService
	WithTenantPermissionCacheService   = tenant.WithTenantPermissionCacheService
	WithTenantPermissionVersionService = tenant.WithTenantPermissionVersionService
	WithUserInfoProvider               = tenant.WithUserInfoProvider
)
View Source
var (
	Enforce             = validation.Enforce
	DefaultThresholds   = validation.DefaultThresholds
	ErrCoverageBelowSLO = validation.ErrCoverageBelowSLO
)
View Source
var (
	NewWorkflowService              = workflow.NewWorkflowService
	NewWorkflowExecutor             = workflow.NewWorkflowExecutor
	NewWorkflowEventDispatcher      = workflow.NewWorkflowEventDispatcher
	NewAITriageActionHandler        = workflow.NewAITriageActionHandler
	NewFindingActionHandler         = workflow.NewFindingActionHandler
	NewHTTPRequestHandler           = workflow.NewHTTPRequestHandler
	NewPipelineTriggerHandler       = workflow.NewPipelineTriggerHandler
	NewScriptRunnerHandler          = workflow.NewScriptRunnerHandler
	NewTicketActionHandler          = workflow.NewTicketActionHandler
	RegisterAllActionHandlers       = workflow.RegisterAllActionHandlers
	RegisterAllActionHandlersWithAI = workflow.RegisterAllActionHandlersWithAI
	ValidateSourceFilter            = workflow.ValidateSourceFilter

	WithExecutorAuditService       = workflow.WithExecutorAuditService
	WithExecutorDB                 = workflow.WithExecutorDB
	WithExecutorIntegrationService = workflow.WithExecutorIntegrationService
	WithExecutorOutboxService      = workflow.WithExecutorOutboxService
	WithWorkflowAuditService       = workflow.WithWorkflowAuditService
	WithWorkflowExecutor           = workflow.WithWorkflowExecutor

	DefaultWorkflowExecutorConfig = workflow.DefaultWorkflowExecutorConfig
)
View Source
var (
	NewCapabilityService = capability.NewCapabilityService
)
View Source
var (
	NewFindingActivityService = activity.NewFindingActivityService
)
View Source
var ValidTiers = []string{"shared", "dedicated", "premium"}

ValidTiers contains all valid platform agent tiers.

Functions

func NewPipelineAgentSelectorAdapter

func NewPipelineAgentSelectorAdapter(selector *AgentSelector) pipeline.AgentSelector

NewPipelineAgentSelectorAdapter creates an adapter for the pipeline package's AgentSelector interface.

func NewPipelineAuditServiceAdapter

func NewPipelineAuditServiceAdapter(svc *AuditService) pipeline.AuditService

NewPipelineAuditServiceAdapter creates an adapter for the pipeline package's AuditService interface.

func NewPipelineSecurityValidatorAdapter

func NewPipelineSecurityValidatorAdapter(validator *SecurityValidator) pipeline.SecurityValidator

NewPipelineSecurityValidatorAdapter creates an adapter for the pipeline package's SecurityValidator interface.

func NewScanAgentSelectorAdapter

func NewScanAgentSelectorAdapter(selector *AgentSelector) scan.AgentSelector

NewScanAgentSelectorAdapter creates an adapter for the scan package's AgentSelector interface.

func NewScanAuditServiceAdapter

func NewScanAuditServiceAdapter(svc *AuditService) scan.AuditService

NewScanAuditServiceAdapter creates an adapter for the scan package's AuditService interface.

func NewScanSecurityValidatorAdapter

func NewScanSecurityValidatorAdapter(validator *SecurityValidator) scan.SecurityValidator

NewScanSecurityValidatorAdapter creates an adapter for the scan package's SecurityValidator interface.

func SanitizeTier

func SanitizeTier(tier string) string

SanitizeTier converts a tier string to a valid tier, defaulting to "shared". This is useful for normalizing user input before processing.

Types

type AIConfigInfo

type AIConfigInfo = aitriage.AIConfigInfo

type AITriageActionHandler

type AITriageActionHandler = workflow.AITriageActionHandler

type AITriageBudgetRepository added in v0.2.0

type AITriageBudgetRepository = aitriage.BudgetRepository

type AITriageBudgetRow added in v0.2.0

type AITriageBudgetRow = aitriage.BudgetRow

type AITriageBudgetService added in v0.2.0

type AITriageBudgetService = aitriage.BudgetService

RFC-008 per-tenant LLM token budget.

type AITriageBudgetServiceConfig added in v0.2.0

type AITriageBudgetServiceConfig = aitriage.BudgetServiceConfig

type AITriageBudgetStatus added in v0.2.0

type AITriageBudgetStatus = aitriage.BudgetStatus

type AITriageEvent

type AITriageEvent = workflow.AITriageEvent

type AITriageJobEnqueuer

type AITriageJobEnqueuer = aitriage.AITriageJobEnqueuer

type AITriageService

type AITriageService = aitriage.AITriageService

type AcceptInvitationWithRefreshTokenInput

type AcceptInvitationWithRefreshTokenInput = auth.AcceptInvitationWithRefreshTokenInput

Input/result DTOs.

type AcceptInvitationWithRefreshTokenResult

type AcceptInvitationWithRefreshTokenResult = auth.AcceptInvitationWithRefreshTokenResult

type ActionHandler

type ActionHandler = workflow.ActionHandler

type ActionInput

type ActionInput = workflow.ActionInput

type ActivityBroadcaster

type ActivityBroadcaster = activity.ActivityBroadcaster

type ActivityItem

type ActivityItem = module.ActivityItem

type AddCommentInput

type AddCommentInput = finding.AddCommentInput

type AddEdgeInput

type AddEdgeInput = workflow.AddEdgeInput

type AddGroupMemberInput

type AddGroupMemberInput = accesscontrol.AddGroupMemberInput

type AddMemberInput

type AddMemberInput = tenant.AddMemberInput

type AddNodeInput

type AddNodeInput = workflow.AddNodeInput

type AddPermissionToSetInput

type AddPermissionToSetInput = accesscontrol.AddPermissionToSetInput

type AddStatusChangeCommentInput

type AddStatusChangeCommentInput = finding.AddStatusChangeCommentInput

type AgentAvailabilityResult

type AgentAvailabilityResult = agent.AgentAvailabilityResult

type AgentConfigTemplateService added in v0.1.5

type AgentConfigTemplateService = agent.AgentConfigTemplateService

type AgentHeartbeatData

type AgentHeartbeatData = agent.AgentHeartbeatData

type AgentHeartbeatInput

type AgentHeartbeatInput = agent.AgentHeartbeatInput

type AgentSelectionMode

type AgentSelectionMode = agent.AgentSelectionMode

type AgentSelector

type AgentSelector = agent.AgentSelector

type AgentService

type AgentService = agent.AgentService

type AgentTemplateData added in v0.1.5

type AgentTemplateData = agent.AgentTemplateData

type ApproveStatusInput added in v0.1.2

type ApproveStatusInput = finding.ApproveStatusInput

type AssetGroupService

type AssetGroupService = asset.AssetGroupService

type AssetImportResult added in v0.1.7

type AssetImportResult = asset.AssetImportResult

type AssetImportService added in v0.1.7

type AssetImportService = asset.AssetImportService

type AssetRelationshipService

type AssetRelationshipService = asset.AssetRelationshipService

type AssetService

type AssetService = asset.AssetService

type AssetStatsData

type AssetStatsData = module.AssetStatsData

type AssetTypeService

type AssetTypeService = asset.AssetTypeService

type AssignAssetInput

type AssignAssetInput = accesscontrol.AssignAssetInput

type AssignPermissionSetInput

type AssignPermissionSetInput = accesscontrol.AssignPermissionSetInput

type AssignRoleInput

type AssignRoleInput = accesscontrol.AssignRoleInput

type AttachmentService added in v0.1.6

type AttachmentService = integration.AttachmentService

type AuditContext

type AuditContext = audit.AuditContext

Types.

type AuditEvent

type AuditEvent = audit.AuditEvent

Types.

type AuditService

type AuditService = audit.AuditService

Types.

type AuthService

type AuthService = auth.AuthService

type AuthorizationURLInput

type AuthorizationURLInput = auth.AuthorizationURLInput

type AuthorizationURLResult

type AuthorizationURLResult = auth.AuthorizationURLResult

type AutoAssignToOwnersResult added in v0.1.3

type AutoAssignToOwnersResult = finding.AutoAssignToOwnersResult

type BatchCreateRelationshipInput added in v0.1.5

type BatchCreateRelationshipInput = asset.BatchCreateRelationshipInput

type BatchCreateRelationshipResult added in v0.1.5

type BatchCreateRelationshipResult = asset.BatchCreateRelationshipResult

type BatchCreateRelationshipResultItem added in v0.1.5

type BatchCreateRelationshipResultItem = asset.BatchCreateRelationshipResultItem

type BatchCreateRelationshipResultStatus added in v0.1.5

type BatchCreateRelationshipResultStatus = asset.BatchCreateRelationshipResultStatus

type BranchService

type BranchService = asset.BranchService

type BranchTypeRuleInput

type BranchTypeRuleInput = tenant.BranchTypeRuleInput

type BroadcastNotificationInput

type BroadcastNotificationInput = integration.BroadcastNotificationInput

type BulkAssetStatusResult

type BulkAssetStatusResult = asset.BulkAssetStatusResult

type BulkAssignAssetsInput added in v0.1.2

type BulkAssignAssetsInput = accesscontrol.BulkAssignAssetsInput

type BulkAssignAssetsResult added in v0.1.2

type BulkAssignAssetsResult = accesscontrol.BulkAssignAssetsResult

type BulkAssignInput

type BulkAssignInput = finding.BulkAssignInput

type BulkFixAppliedInput added in v0.1.3

type BulkFixAppliedInput = finding.BulkFixAppliedInput

type BulkFixAppliedResult added in v0.1.3

type BulkFixAppliedResult = finding.BulkFixAppliedResult

type BulkGuard added in v0.2.0

type BulkGuard = finding.BulkGuard

type BulkGuardConfig added in v0.2.0

type BulkGuardConfig = finding.BulkGuardConfig

type BulkTriageJob

type BulkTriageJob = aitriage.BulkTriageJob

type BulkTriageRequest

type BulkTriageRequest = aitriage.BulkTriageRequest

type BulkTriageResponse

type BulkTriageResponse = aitriage.BulkTriageResponse

type BulkUpdateAssetStatusInput

type BulkUpdateAssetStatusInput = asset.BulkUpdateAssetStatusInput

type BulkUpdateInput

type BulkUpdateInput = asset.BulkUpdateInput

type BulkUpdateResult

type BulkUpdateResult = finding.BulkUpdateResult

type BulkUpdateStatusInput

type BulkUpdateStatusInput = finding.BulkUpdateStatusInput

type BurpIssue added in v0.1.6

type BurpIssue = finding.BurpIssue

type BurpIssues added in v0.1.6

type BurpIssues = finding.BurpIssues

type BusinessUnitService added in v0.1.6

type BusinessUnitService = asset.BusinessUnitService

type CachedCategory

type CachedCategory = finding.CachedCategory

type CachedFindingSource

type CachedFindingSource = finding.CachedFindingSource

type CachedFindingSources

type CachedFindingSources = finding.CachedFindingSources

type CachedMembership added in v0.1.6

type CachedMembership = accesscontrol.CachedMembership

type CallbackInput

type CallbackInput = auth.CallbackInput

type CallbackResult

type CallbackResult = auth.CallbackResult

type CampaignAddMemberInput added in v0.1.3

type CampaignAddMemberInput = compliance.CampaignAddMemberInput

type CampaignRemoveMemberInput added in v0.1.3

type CampaignRemoveMemberInput = compliance.CampaignRemoveMemberInput

type CampaignTeamChangeResult added in v0.1.6

type CampaignTeamChangeResult = compliance.CampaignTeamChangeResult

type CampaignUpdateMemberRoleInput added in v0.1.3

type CampaignUpdateMemberRoleInput = compliance.CampaignUpdateMemberRoleInput

type CancelApprovalInput added in v0.1.2

type CancelApprovalInput = finding.CancelApprovalInput

type CapabilityService

type CapabilityService = capability.CapabilityService

type CapabilityUsageStatsOutput

type CapabilityUsageStatsOutput = capability.CapabilityUsageStatsOutput

type ChainBreak added in v0.2.0

type ChainBreak = audit.ChainBreak

Types.

type ChainVerifyResult added in v0.2.0

type ChainVerifyResult = audit.ChainVerifyResult

Types.

type ChangePasswordInput

type ChangePasswordInput = auth.ChangePasswordInput

type ChangeStateInput

type ChangeStateInput = exposure.ChangeStateInput

type ClassifyFindingInput

type ClassifyFindingInput = finding.ClassifyFindingInput

type CloneScanProfileInput

type CloneScanProfileInput = scan.CloneScanProfileInput

type CompensatingControlLookup added in v0.2.0

type CompensatingControlLookup = finding.CompensatingControlLookup

type CompleteBundleInput

type CompleteBundleInput = accesscontrol.CompleteBundleInput

type ComplianceService added in v0.1.2

type ComplianceService = compliance.ComplianceService

type ComplianceStatsResponse added in v0.1.2

type ComplianceStatsResponse = compliance.ComplianceStatsResponse

type ComponentService

type ComponentService = asset.ComponentService

type ConditionEvaluator

type ConditionEvaluator = workflow.ConditionEvaluator

type CoverageThresholds added in v0.2.0

type CoverageThresholds = validation.CoverageThresholds

type CreateAgentInput

type CreateAgentInput = agent.CreateAgentInput

type CreateAgentOutput

type CreateAgentOutput = agent.CreateAgentOutput

type CreateAssetGroupInput

type CreateAssetGroupInput = asset.CreateAssetGroupInput

type CreateAssetInput

type CreateAssetInput = asset.CreateAssetInput

type CreateBranchInput

type CreateBranchInput = asset.CreateBranchInput

type CreateBundleInput

type CreateBundleInput = accesscontrol.CreateBundleInput

type CreateBusinessUnitInput added in v0.1.6

type CreateBusinessUnitInput = asset.CreateBusinessUnitInput

type CreateCampaignInput added in v0.1.2

type CreateCampaignInput = compliance.CreateCampaignInput

type CreateCapabilityInput

type CreateCapabilityInput = capability.CreateCapabilityInput

type CreateComponentInput

type CreateComponentInput = asset.CreateComponentInput

type CreateControlTestInput added in v0.1.6

type CreateControlTestInput = compliance.CreateControlTestInput

type CreateCredentialInput

type CreateCredentialInput = integration.CreateCredentialInput

type CreateEdgeInput

type CreateEdgeInput = workflow.CreateEdgeInput

type CreateExposureInput

type CreateExposureInput = exposure.CreateExposureInput

type CreateFindingInput

type CreateFindingInput = finding.CreateFindingInput

type CreateFirstTeamInput

type CreateFirstTeamInput = auth.CreateFirstTeamInput

type CreateFirstTeamResult

type CreateFirstTeamResult = auth.CreateFirstTeamResult

type CreateGroupInput

type CreateGroupInput = accesscontrol.CreateGroupInput

type CreateIntegrationInput

type CreateIntegrationInput = integration.CreateIntegrationInput

type CreateInvitationInput

type CreateInvitationInput = tenant.CreateInvitationInput

type CreateNodeInput

type CreateNodeInput = workflow.CreateNodeInput

type CreateOverrideInput

type CreateOverrideInput = accesscontrol.CreateOverrideInput

type CreatePermissionSetInput

type CreatePermissionSetInput = accesscontrol.CreatePermissionSetInput

type CreateProviderInput added in v0.1.2

type CreateProviderInput = auth.CreateProviderInput

type CreateRelationshipInput

type CreateRelationshipInput = asset.CreateRelationshipInput

type CreateRemediationCampaignInput added in v0.1.6

type CreateRemediationCampaignInput = exposure.CreateRemediationCampaignInput

type CreateReportInput added in v0.1.2

type CreateReportInput = compliance.CreateReportInput

type CreateReportScheduleInput added in v0.1.7

type CreateReportScheduleInput = module.CreateReportScheduleInput

type CreateRepositoryAssetInput

type CreateRepositoryAssetInput = asset.CreateRepositoryAssetInput

type CreateRetestInput added in v0.1.2

type CreateRetestInput = compliance.CreateRetestInput

type CreateRoleInput

type CreateRoleInput = accesscontrol.CreateRoleInput

type CreateScanProfileInput

type CreateScanProfileInput = scan.CreateScanProfileInput

type CreateScannerTemplateInput

type CreateScannerTemplateInput struct {
	TenantID     string   `json:"tenant_id" validate:"required,uuid"`
	UserID       string   `json:"user_id" validate:"omitempty,uuid"`
	Name         string   `json:"name" validate:"required,min=1,max=255"`
	TemplateType string   `json:"template_type" validate:"required,oneof=nuclei semgrep gitleaks"`
	Description  string   `json:"description" validate:"max=1000"`
	Content      string   `json:"content" validate:"required"` // Base64 encoded
	Tags         []string `json:"tags" validate:"max=20,dive,max=50"`
}

CreateScannerTemplateInput represents the input for creating a scanner template.

type CreateSimulationInput added in v0.1.6

type CreateSimulationInput = compliance.CreateSimulationInput

type CreateSourceInput

type CreateSourceInput = accesscontrol.CreateSourceInput

type CreateTemplateInput added in v0.1.2

type CreateTemplateInput = compliance.CreateTemplateInput

type CreateTenantInput

type CreateTenantInput = tenant.CreateTenantInput

type CreateVulnerabilityInput

type CreateVulnerabilityInput = finding.CreateVulnerabilityInput

type CreateWebhookInput

type CreateWebhookInput = integration.CreateWebhookInput

type CreateWorkflowInput

type CreateWorkflowInput = workflow.CreateWorkflowInput

type CredentialImportService

type CredentialImportService = integration.CredentialImportService

type CredentialItem

type CredentialItem = integration.CredentialItem

type CredentialListOptions

type CredentialListOptions = integration.CredentialListOptions

type CredentialListResult

type CredentialListResult = integration.CredentialListResult

type DashboardAllStats added in v0.1.2

type DashboardAllStats = module.DashboardAllStats

type DashboardService

type DashboardService = module.DashboardService

type DashboardStats

type DashboardStats = module.DashboardStats

type DashboardStatsRepository

type DashboardStatsRepository = module.DashboardStatsRepository

type DataQualityScorecard added in v0.2.0

type DataQualityScorecard = module.DataQualityScorecard

type DefaultConditionEvaluator

type DefaultConditionEvaluator = workflow.DefaultConditionEvaluator

type DefaultNotificationHandler

type DefaultNotificationHandler = workflow.DefaultNotificationHandler

type DeleteCapabilityInput

type DeleteCapabilityInput = capability.DeleteCapabilityInput

type DependencyEdgeOutput added in v0.2.0

type DependencyEdgeOutput = module.DependencyEdgeOutput

type DependencyGraphOutput added in v0.2.0

type DependencyGraphOutput = module.DependencyGraphOutput

type EPSSData added in v0.2.0

type EPSSData = finding.EPSSData

type EPSSRepository added in v0.2.0

type EPSSRepository = finding.EPSSRepository

type EmailCredentials

type EmailCredentials = integration.EmailCredentials

type EmailJobEnqueuer

type EmailJobEnqueuer = tenant.EmailJobEnqueuer

type EmailMetadata

type EmailMetadata = integration.EmailMetadata

type EmailSensitiveCredentials

type EmailSensitiveCredentials = integration.EmailSensitiveCredentials

type EmailService

type EmailService = auth.EmailService

type EvaluateQualityGateInput

type EvaluateQualityGateInput = scan.EvaluateQualityGateInput

type ExchangeTokenInput

type ExchangeTokenInput = auth.ExchangeTokenInput

type ExchangeTokenResult

type ExchangeTokenResult = auth.ExchangeTokenResult

type ExecutionContext

type ExecutionContext = workflow.ExecutionContext

type ExecutiveSummary added in v0.2.0

type ExecutiveSummary = module.ExecutiveSummary

type ExposureService

type ExposureService = exposure.ExposureService

type FindSCMIntegrationInput

type FindSCMIntegrationInput = integration.FindSCMIntegrationInput

type FindingActionHandler

type FindingActionHandler = workflow.FindingActionHandler

type FindingActionsService added in v0.1.3

type FindingActionsService = finding.FindingActionsService

type FindingActivityService

type FindingActivityService = activity.FindingActivityService

type FindingCommentService

type FindingCommentService = finding.FindingCommentService

type FindingEvent

type FindingEvent = workflow.FindingEvent

type FindingImportService added in v0.1.6

type FindingImportService = finding.FindingImportService

type FindingLifecycleScheduler

type FindingLifecycleScheduler = finding.FindingLifecycleScheduler

type FindingLifecycleSchedulerConfig

type FindingLifecycleSchedulerConfig = finding.FindingLifecycleSchedulerConfig

type FindingNotifier

type FindingNotifier = finding.FindingNotifier

type FindingSourceCacheService

type FindingSourceCacheService = finding.FindingSourceCacheService

type FindingSourceService

type FindingSourceService = finding.FindingSourceService

type FindingStatsData

type FindingStatsData = module.FindingStatsData

type FindingTrendPoint added in v0.1.2

type FindingTrendPoint = module.FindingTrendPoint

type ForgotPasswordInput

type ForgotPasswordInput = auth.ForgotPasswordInput

type ForgotPasswordResult

type ForgotPasswordResult = auth.ForgotPasswordResult

type GetFindingStatsInput added in v0.1.2

type GetFindingStatsInput = finding.GetFindingStatsInput

type GetNotificationEventsInput

type GetNotificationEventsInput = integration.GetNotificationEventsInput

type GetNotificationEventsResult

type GetNotificationEventsResult = integration.GetNotificationEventsResult

type GetSCMRepositoryInput

type GetSCMRepositoryInput = integration.GetSCMRepositoryInput

type GetTenantEnabledModulesOutput

type GetTenantEnabledModulesOutput = module.GetTenantEnabledModulesOutput

type GroupCounts added in v0.1.2

type GroupCounts = accesscontrol.GroupCounts

type GroupService

type GroupService = accesscontrol.GroupService

type GroupServiceOption

type GroupServiceOption = accesscontrol.GroupServiceOption

type GroupSyncService added in v0.1.2

type GroupSyncService = accesscontrol.GroupSyncService

type HTTPRequestHandler

type HTTPRequestHandler = workflow.HTTPRequestHandler

type IdentityExposure

type IdentityExposure = integration.IdentityExposure

type IdentityListResult

type IdentityListResult = integration.IdentityListResult

type ImportResult added in v0.1.6

type ImportResult = finding.ImportResult

type IntegrationListReposInput

type IntegrationListReposInput = integration.IntegrationListReposInput

type IntegrationListReposResult

type IntegrationListReposResult = integration.IntegrationListReposResult

type IntegrationSMTPResolver added in v0.1.4

type IntegrationSMTPResolver = auth.IntegrationSMTPResolver

type IntegrationService

type IntegrationService = integration.IntegrationService

type K8sDiscoveryInput added in v0.1.7

type K8sDiscoveryInput = asset.K8sDiscoveryInput

type K8sNamespace added in v0.1.7

type K8sNamespace = asset.K8sNamespace

type K8sWorkload added in v0.1.7

type K8sWorkload = asset.K8sWorkload

type KEVData added in v0.2.0

type KEVData = finding.KEVData

type KEVRepository added in v0.2.0

type KEVRepository = finding.KEVRepository

type ListActivitiesInput

type ListActivitiesInput = activity.ListActivitiesInput

type ListAgentsInput

type ListAgentsInput = agent.ListAgentsInput

type ListAssetGroupsInput

type ListAssetGroupsInput = asset.ListAssetGroupsInput

type ListAssetGroupsOutput

type ListAssetGroupsOutput = asset.ListAssetGroupsOutput

type ListAssetsInput

type ListAssetsInput = asset.ListAssetsInput

type ListAuditLogsInput

type ListAuditLogsInput = audit.ListAuditLogsInput

Types.

type ListBranchesInput

type ListBranchesInput = asset.ListBranchesInput

type ListBundlesInput

type ListBundlesInput = accesscontrol.ListBundlesInput

type ListCapabilitiesInput

type ListCapabilitiesInput = capability.ListCapabilitiesInput

type ListComponentsInput

type ListComponentsInput = asset.ListComponentsInput

type ListCredentialsInput

type ListCredentialsInput = integration.ListCredentialsInput

type ListCredentialsOutput

type ListCredentialsOutput = integration.ListCredentialsOutput

type ListDeliveriesInput

type ListDeliveriesInput = integration.ListDeliveriesInput

type ListExposuresInput

type ListExposuresInput = exposure.ListExposuresInput

type ListFindingsInput

type ListFindingsInput = finding.ListFindingsInput

type ListGroupsInput

type ListGroupsInput = accesscontrol.ListGroupsInput

type ListGroupsOutput

type ListGroupsOutput = accesscontrol.ListGroupsOutput

type ListIntegrationsInput

type ListIntegrationsInput = integration.ListIntegrationsInput

type ListOverridesInput

type ListOverridesInput = accesscontrol.ListOverridesInput

type ListPermissionSetsInput

type ListPermissionSetsInput = accesscontrol.ListPermissionSetsInput

type ListPermissionSetsOutput

type ListPermissionSetsOutput = accesscontrol.ListPermissionSetsOutput

type ListRulesInput

type ListRulesInput = accesscontrol.ListRulesInput

type ListScanProfilesInput

type ListScanProfilesInput = scan.ListScanProfilesInput

type ListScanSessionsInput

type ListScanSessionsInput = scan.ListScanSessionsInput

type ListScannerTemplatesInput

type ListScannerTemplatesInput struct {
	TenantID     string   `json:"tenant_id" validate:"required,uuid"`
	TemplateType *string  `json:"template_type" validate:"omitempty,oneof=nuclei semgrep gitleaks"`
	Status       *string  `json:"status" validate:"omitempty,oneof=active pending_review deprecated revoked"`
	Tags         []string `json:"tags"`
	Search       string   `json:"search" validate:"max=255"`
	Page         int      `json:"page"`
	PerPage      int      `json:"per_page"`
}

ListScannerTemplatesInput represents the input for listing scanner templates.

type ListSourcesInput

type ListSourcesInput = accesscontrol.ListSourcesInput

type ListVulnerabilitiesInput

type ListVulnerabilitiesInput = finding.ListVulnerabilitiesInput

type ListWebhooksInput

type ListWebhooksInput = integration.ListWebhooksInput

type ListWorkflowRunsInput

type ListWorkflowRunsInput = workflow.ListWorkflowRunsInput

type ListWorkflowsInput

type ListWorkflowsInput = workflow.ListWorkflowsInput

type LoginInput

type LoginInput = auth.LoginInput

type LoginResult

type LoginResult = auth.LoginResult

type MTTRAnalytics added in v0.2.0

type MTTRAnalytics = module.MTTRAnalytics

type MemberStatusEmailNotifier added in v0.1.6

type MemberStatusEmailNotifier = tenant.MemberStatusEmailNotifier

type MembershipCacheService added in v0.1.6

type MembershipCacheService = accesscontrol.MembershipCacheService

type ModuleRepository

type ModuleRepository = module.ModuleRepository

type ModuleService

type ModuleService = module.ModuleService

type NotificationEventEntry

type NotificationEventEntry = integration.NotificationEventEntry

type NotificationEventSendResult

type NotificationEventSendResult = integration.NotificationEventSendResult

type NotificationHandler

type NotificationHandler = workflow.NotificationHandler

type NotificationInput

type NotificationInput = workflow.NotificationInput

type NotificationService

type NotificationService = integration.NotificationService

type OAuthProvider

type OAuthProvider = auth.OAuthProvider

type OAuthService

type OAuthService = auth.OAuthService

type OAuthUserInfo

type OAuthUserInfo = auth.OAuthUserInfo

type PentestFindingInput added in v0.1.2

type PentestFindingInput = compliance.PentestFindingInput

type PentestService added in v0.1.2

type PentestService = compliance.PentestService

type PentestSourceMetadata added in v0.1.2

type PentestSourceMetadata = compliance.PentestSourceMetadata

type PermissionCacheService

type PermissionCacheService = accesscontrol.PermissionCacheService

type PermissionService

type PermissionService = accesscontrol.PermissionService

type PermissionServiceOption

type PermissionServiceOption = accesscontrol.PermissionServiceOption

type PermissionVersionService

type PermissionVersionService = accesscontrol.PermissionVersionService

type PipelineTriggerHandler

type PipelineTriggerHandler = workflow.PipelineTriggerHandler

type PlatformStatsOutput added in v0.1.2

type PlatformStatsOutput = agent.PlatformStatsOutput

type PlatformTierStats added in v0.1.2

type PlatformTierStats = agent.PlatformTierStats

type PriorityAuditEntry added in v0.2.0

type PriorityAuditEntry = finding.PriorityAuditEntry

type PriorityAuditRepository added in v0.2.0

type PriorityAuditRepository = finding.PriorityAuditRepository

type PriorityChangeEvent added in v0.2.0

type PriorityChangeEvent = finding.PriorityChangeEvent

type PriorityChangePublisher added in v0.2.0

type PriorityChangePublisher = finding.PriorityChangePublisher

type PriorityClassificationService added in v0.2.0

type PriorityClassificationService = finding.PriorityClassificationService

type PriorityFloodConfig added in v0.2.0

type PriorityFloodConfig = finding.PriorityFloodConfig

type PriorityFloodGuard added in v0.2.0

type PriorityFloodGuard = finding.PriorityFloodGuard

type PriorityRuleRepository added in v0.2.0

type PriorityRuleRepository = finding.PriorityRuleRepository

type ProcessMetrics added in v0.2.0

type ProcessMetrics = module.ProcessMetrics

type PromptSanitizer

type PromptSanitizer = aitriage.PromptSanitizer

type ProviderInfo

type ProviderInfo = auth.ProviderInfo

type RecordActivityInput

type RecordActivityInput = activity.RecordActivityInput

type RecordControlTestResultInput added in v0.1.6

type RecordControlTestResultInput = compliance.RecordControlTestResultInput

type RecoverStuckJobsInput

type RecoverStuckJobsInput = aitriage.RecoverStuckJobsInput

type RecoverStuckJobsOutput

type RecoverStuckJobsOutput = aitriage.RecoverStuckJobsOutput

type RefreshTokenInput

type RefreshTokenInput = auth.RefreshTokenInput

type RefreshTokenResult

type RefreshTokenResult = auth.RefreshTokenResult

type RegisterInput

type RegisterInput = auth.RegisterInput

type RegisterResult

type RegisterResult = auth.RegisterResult

type RegisterScanInput

type RegisterScanInput = scan.RegisterScanInput

type RegisterScanOutput

type RegisterScanOutput = scan.RegisterScanOutput

type RejectApprovalInput added in v0.1.2

type RejectApprovalInput = finding.RejectApprovalInput

type RejectByFilterInput added in v0.1.3

type RejectByFilterInput = finding.RejectByFilterInput

type RelationshipSuggestionService added in v0.1.7

type RelationshipSuggestionService = asset.RelationshipSuggestionService

type RelationshipTypeUsage added in v0.1.5

type RelationshipTypeUsage = asset.RelationshipTypeUsage

type RemediationCampaignService added in v0.1.6

type RemediationCampaignService = exposure.RemediationCampaignService

type RenderedTemplates added in v0.1.5

type RenderedTemplates = agent.RenderedTemplates

type ReportScheduleService added in v0.1.7

type ReportScheduleService = module.ReportScheduleService

type RepositoryStatsData

type RepositoryStatsData = module.RepositoryStatsData

type RequestApprovalInput added in v0.1.2

type RequestApprovalInput = finding.RequestApprovalInput

type RequestVerificationScanInput added in v0.1.7

type RequestVerificationScanInput = finding.RequestVerificationScanInput

type RequestVerificationScanResult added in v0.1.7

type RequestVerificationScanResult = finding.RequestVerificationScanResult

type ResetPasswordInput

type ResetPasswordInput = auth.ResetPasswordInput

type RiskScorePreviewItem added in v0.1.2

type RiskScorePreviewItem = asset.RiskScorePreviewItem

type RiskTrendPoint added in v0.2.0

type RiskTrendPoint = module.RiskTrendPoint

type RiskVelocityPoint added in v0.1.6

type RiskVelocityPoint = module.RiskVelocityPoint

type RoleService

type RoleService = accesscontrol.RoleService

type RoleServiceOption

type RoleServiceOption = accesscontrol.RoleServiceOption

type RuleService

type RuleService = accesscontrol.RuleService

type SBOMImportResult added in v0.1.7

type SBOMImportResult = asset.SBOMImportResult

type SBOMImportService added in v0.1.7

type SBOMImportService = asset.SBOMImportService

type SMTPAvailabilityCheck added in v0.1.5

type SMTPAvailabilityCheck = auth.SMTPAvailabilityCheck

type SSOAuthorizeInput added in v0.1.2

type SSOAuthorizeInput = auth.SSOAuthorizeInput

type SSOAuthorizeResult added in v0.1.2

type SSOAuthorizeResult = auth.SSOAuthorizeResult

type SSOCallbackInput added in v0.1.2

type SSOCallbackInput = auth.SSOCallbackInput

type SSOCallbackResult added in v0.1.2

type SSOCallbackResult = auth.SSOCallbackResult

type SSOProviderInfo added in v0.1.2

type SSOProviderInfo = auth.SSOProviderInfo

type SSOService added in v0.1.2

type SSOService = auth.SSOService

type SSOUserInfo added in v0.1.2

type SSOUserInfo = auth.SSOUserInfo

type ScanProfileService

type ScanProfileService = scan.ScanProfileService

type ScanScheduler

type ScanScheduler = scan.ScanScheduler

type ScanSchedulerConfig

type ScanSchedulerConfig = scan.ScanSchedulerConfig

type ScanSessionService

type ScanSessionService = scan.ScanSessionService

type ScannerTemplateService

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

ScannerTemplateService handles scanner template business operations.

func NewScannerTemplateService

func NewScannerTemplateService(repo scannertemplate.Repository, signingSecret string, log *logger.Logger) *ScannerTemplateService

NewScannerTemplateService creates a new ScannerTemplateService.

func (*ScannerTemplateService) CreateTemplate

CreateTemplate creates a new scanner template.

func (*ScannerTemplateService) DeleteTemplate

func (s *ScannerTemplateService) DeleteTemplate(ctx context.Context, tenantID, templateID string) error

DeleteTemplate deletes a scanner template.

func (*ScannerTemplateService) DeprecateTemplate

func (s *ScannerTemplateService) DeprecateTemplate(ctx context.Context, tenantID, templateID string) (*scannertemplate.ScannerTemplate, error)

DeprecateTemplate marks a template as deprecated.

func (*ScannerTemplateService) DownloadTemplate

func (s *ScannerTemplateService) DownloadTemplate(ctx context.Context, tenantID, templateID string) ([]byte, string, error)

DownloadTemplate returns the template content for download.

func (*ScannerTemplateService) GetQuota

GetQuota returns the current quota configuration.

func (*ScannerTemplateService) GetTemplate

func (s *ScannerTemplateService) GetTemplate(ctx context.Context, tenantID, templateID string) (*scannertemplate.ScannerTemplate, error)

GetTemplate retrieves a scanner template by ID.

func (*ScannerTemplateService) GetTemplatesByIDs

func (s *ScannerTemplateService) GetTemplatesByIDs(ctx context.Context, tenantID string, templateIDs []string) ([]*scannertemplate.ScannerTemplate, error)

GetTemplatesByIDs retrieves multiple templates by their IDs.

func (*ScannerTemplateService) GetUsage

func (s *ScannerTemplateService) GetUsage(ctx context.Context, tenantID string) (*TemplateUsageResult, error)

GetUsage returns the current template usage for a tenant.

func (*ScannerTemplateService) ListTemplates

ListTemplates lists scanner templates with filters.

func (*ScannerTemplateService) SetQuota

SetQuota sets custom quota limits for the service.

func (*ScannerTemplateService) UpdateTemplate

UpdateTemplate updates an existing scanner template.

func (*ScannerTemplateService) ValidateTemplate

ValidateTemplate validates template content without saving.

func (*ScannerTemplateService) VerifyTemplateSignature

func (s *ScannerTemplateService) VerifyTemplateSignature(template *scannertemplate.ScannerTemplate) bool

VerifyTemplateSignature verifies the signature of a template.

type ScriptRunnerHandler

type ScriptRunnerHandler = workflow.ScriptRunnerHandler

type SecretStoreService

type SecretStoreService = integration.SecretStoreService

type SecurityValidator

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

SecurityValidator provides validation for security-sensitive operations. It validates tool names, capabilities, and configurations against registered tools to prevent command injection and unauthorized access.

func NewSecurityValidator

func NewSecurityValidator(toolRepo tool.Repository, log *logger.Logger) *SecurityValidator

NewSecurityValidator creates a new SecurityValidator.

func (*SecurityValidator) GetAllowedCapabilities

func (v *SecurityValidator) GetAllowedCapabilities() []string

GetAllowedCapabilities returns the list of allowed capabilities. This can be used by the UI to show valid options. Capabilities are loaded from the database with caching.

func (*SecurityValidator) ValidateCommandPayload

func (v *SecurityValidator) ValidateCommandPayload(ctx context.Context, tenantID shared.ID, payload map[string]any) *ValidationResult

ValidateCommandPayload validates a command payload before sending to an agent. This is the last line of defense before a command is executed.

func (*SecurityValidator) ValidateCronExpression

func (v *SecurityValidator) ValidateCronExpression(expr string) error

ValidateCronExpression validates a cron expression format. This prevents cron injection attacks.

func (*SecurityValidator) ValidateIdentifier

func (v *SecurityValidator) ValidateIdentifier(name string, maxLen int, fieldName string) *ValidationResult

ValidateIdentifier validates an identifier string against safe character patterns. Identifiers can only contain alphanumeric characters, dashes, and underscores. This should be used for StepKey, Tags, and similar user-provided identifiers.

func (*SecurityValidator) ValidateIdentifiers

func (v *SecurityValidator) ValidateIdentifiers(names []string, maxLen int, fieldName string) *ValidationResult

ValidateIdentifiers validates a slice of identifiers.

func (*SecurityValidator) ValidateScannerConfig

func (v *SecurityValidator) ValidateScannerConfig(ctx context.Context, tenantID shared.ID, scannerConfig map[string]any) *ValidationResult

ValidateScannerConfig validates a scan configuration's scanner settings.

func (*SecurityValidator) ValidateStepConfig

func (v *SecurityValidator) ValidateStepConfig(ctx context.Context, tenantID shared.ID, toolName string, capabilities []string, config map[string]any) *ValidationResult

ValidateStepConfig validates a pipeline step's tool name and configuration. This is called before creating a pipeline step to ensure the tool is registered and the configuration matches the tool's schema.

func (*SecurityValidator) ValidateTier

func (v *SecurityValidator) ValidateTier(tier string) error

ValidateTier validates a tier value against the allowed tier list. This should be called at application boundaries before database operations. Returns nil if the tier is valid or empty (empty defaults to 'shared').

func (*SecurityValidator) ValidateTierWithResult

func (v *SecurityValidator) ValidateTierWithResult(tier string, fieldName string) *ValidationResult

ValidateTierWithResult validates a tier and returns a ValidationResult.

type SelectAgentRequest

type SelectAgentRequest = agent.SelectAgentRequest

type SelectAgentResult

type SelectAgentResult = agent.SelectAgentResult

type SendNotificationInput

type SendNotificationInput = integration.SendNotificationInput

type SendNotificationResult

type SendNotificationResult = integration.SendNotificationResult

type SessionInfo

type SessionInfo = auth.SessionInfo

type SessionResult

type SessionResult = auth.SessionResult

type SessionService

type SessionService = auth.SessionService

type SetUserRolesInput

type SetUserRolesInput = accesscontrol.SetUserRolesInput

type SettingsStorageResolver added in v0.1.6

type SettingsStorageResolver = auth.SettingsStorageResolver

type SimulationService added in v0.1.6

type SimulationService = compliance.SimulationService

type StatusChangeResult added in v0.1.3

type StatusChangeResult = compliance.StatusChangeResult

type StorageFactory added in v0.1.6

type StorageFactory = integration.StorageFactory

type SubModuleInfo added in v0.1.2

type SubModuleInfo = module.SubModuleInfo

type SyncResult

type SyncResult = accesscontrol.SyncResult

type SyncSourceInput

type SyncSourceInput = accesscontrol.SyncSourceInput

type TeamInvitationJobPayload

type TeamInvitationJobPayload = tenant.TeamInvitationJobPayload

type TelegramCredentials

type TelegramCredentials = integration.TelegramCredentials

type TemplateUsageResult

type TemplateUsageResult struct {
	Usage scannertemplate.TemplateUsage `json:"usage"`
	Quota scannertemplate.TemplateQuota `json:"quota"`
}

TemplateUsageResult combines usage and quota information.

type TenantAvailableCapabilitiesOutput

type TenantAvailableCapabilitiesOutput = agent.TenantAvailableCapabilitiesOutput

type TenantLister

type TenantLister = finding.TenantLister

type TenantMemberChecker added in v0.1.3

type TenantMemberChecker = compliance.TenantMemberChecker

type TenantMemberCreator added in v0.1.2

type TenantMemberCreator = auth.TenantMemberCreator

type TenantMembershipAdapter

type TenantMembershipAdapter = tenant.TenantMembershipAdapter

type TenantMembershipInfo

type TenantMembershipInfo = auth.TenantMembershipInfo

type TenantMembershipProvider

type TenantMembershipProvider = auth.TenantMembershipProvider

type TenantModuleConfigOutput added in v0.1.2

type TenantModuleConfigOutput = module.TenantModuleConfigOutput

type TenantModuleInfo added in v0.1.2

type TenantModuleInfo = module.TenantModuleInfo

type TenantModuleRepository added in v0.1.2

type TenantModuleRepository = module.TenantModuleRepository

type TenantModuleSummary added in v0.1.2

type TenantModuleSummary = module.TenantModuleSummary

type TenantSMTPResolver added in v0.1.4

type TenantSMTPResolver = auth.TenantSMTPResolver

type TenantScoringConfigProvider added in v0.1.2

type TenantScoringConfigProvider = asset.TenantScoringConfigProvider

type TenantService

type TenantService = tenant.TenantService

type TenantServiceOption

type TenantServiceOption = tenant.TenantServiceOption

type TenantStorageResolver added in v0.1.6

type TenantStorageResolver = integration.TenantStorageResolver

type TicketActionHandler

type TicketActionHandler = workflow.TicketActionHandler

type TokenLimitError

type TokenLimitError = aitriage.TokenLimitError

type TopRisk added in v0.2.0

type TopRisk = module.TopRisk

type TriageBroadcaster

type TriageBroadcaster = aitriage.TriageBroadcaster

type TriageOutputValidator

type TriageOutputValidator = aitriage.TriageOutputValidator

type TriageRequest

type TriageRequest = aitriage.TriageRequest

type TriageResponse

type TriageResponse = aitriage.TriageResponse

type TriageResultResponse

type TriageResultResponse = aitriage.TriageResultResponse

type TriggerWorkflowInput

type TriggerWorkflowInput = workflow.TriggerWorkflowInput

type UnassignAssetInput

type UnassignAssetInput = accesscontrol.UnassignAssetInput

type UpdateAPISettingsInput

type UpdateAPISettingsInput = tenant.UpdateAPISettingsInput

type UpdateAgentInput

type UpdateAgentInput = agent.UpdateAgentInput

type UpdateAssessmentInput added in v0.1.2

type UpdateAssessmentInput = compliance.UpdateAssessmentInput

type UpdateAssetGroupInput

type UpdateAssetGroupInput = asset.UpdateAssetGroupInput

type UpdateAssetInput

type UpdateAssetInput = asset.UpdateAssetInput

type UpdateBranchInput

type UpdateBranchInput = asset.UpdateBranchInput

type UpdateBranchScanStatusInput

type UpdateBranchScanStatusInput = asset.UpdateBranchScanStatusInput

type UpdateBranchSettingsInput

type UpdateBranchSettingsInput = tenant.UpdateBranchSettingsInput

type UpdateBrandingSettingsInput

type UpdateBrandingSettingsInput = tenant.UpdateBrandingSettingsInput

type UpdateBusinessUnitInput added in v0.1.7

type UpdateBusinessUnitInput = asset.UpdateBusinessUnitInput

type UpdateCampaignInput added in v0.1.2

type UpdateCampaignInput = compliance.UpdateCampaignInput

type UpdateCapabilityInput

type UpdateCapabilityInput = capability.UpdateCapabilityInput

type UpdateCommentInput

type UpdateCommentInput = finding.UpdateCommentInput

type UpdateComponentInput

type UpdateComponentInput = asset.UpdateComponentInput

type UpdateCredentialInput

type UpdateCredentialInput = integration.UpdateCredentialInput

type UpdateFindingStatusInput

type UpdateFindingStatusInput = finding.UpdateFindingStatusInput

type UpdateGeneralSettingsInput

type UpdateGeneralSettingsInput = tenant.UpdateGeneralSettingsInput

type UpdateGroupInput

type UpdateGroupInput = accesscontrol.UpdateGroupInput

type UpdateIntegrationInput

type UpdateIntegrationInput = integration.UpdateIntegrationInput

type UpdateMemberRoleInput

type UpdateMemberRoleInput = tenant.UpdateMemberRoleInput

type UpdateNodeInput

type UpdateNodeInput = workflow.UpdateNodeInput

type UpdateOverrideInput

type UpdateOverrideInput = accesscontrol.UpdateOverrideInput

type UpdatePentestSettingsInput added in v0.1.2

type UpdatePentestSettingsInput = tenant.UpdatePentestSettingsInput

type UpdatePermissionSetInput

type UpdatePermissionSetInput = accesscontrol.UpdatePermissionSetInput

type UpdatePreferencesInput added in v0.1.2

type UpdatePreferencesInput = integration.UpdatePreferencesInput

type UpdateProfileInput

type UpdateProfileInput = tenant.UpdateProfileInput

type UpdateProviderInput added in v0.1.2

type UpdateProviderInput = auth.UpdateProviderInput

type UpdateQualityGateInput

type UpdateQualityGateInput = scan.UpdateQualityGateInput

type UpdateRelationshipInput

type UpdateRelationshipInput = asset.UpdateRelationshipInput

type UpdateRemediationCampaignInput added in v0.1.7

type UpdateRemediationCampaignInput = exposure.UpdateRemediationCampaignInput

type UpdateRepositoryExtensionInput

type UpdateRepositoryExtensionInput = asset.UpdateRepositoryExtensionInput

type UpdateRoleInput

type UpdateRoleInput = accesscontrol.UpdateRoleInput

type UpdateScanProfileInput

type UpdateScanProfileInput = scan.UpdateScanProfileInput

type UpdateScanSessionInput

type UpdateScanSessionInput = scan.UpdateScanSessionInput

type UpdateScannerTemplateInput

type UpdateScannerTemplateInput struct {
	TenantID    string   `json:"tenant_id" validate:"required,uuid"`
	TemplateID  string   `json:"template_id" validate:"required,uuid"`
	Name        string   `json:"name" validate:"omitempty,min=1,max=255"`
	Description string   `json:"description" validate:"max=1000"`
	Content     string   `json:"content"` // Base64 encoded, optional
	Tags        []string `json:"tags" validate:"max=20,dive,max=50"`
}

UpdateScannerTemplateInput represents the input for updating a scanner template.

type UpdateSecuritySettingsInput

type UpdateSecuritySettingsInput = tenant.UpdateSecuritySettingsInput

type UpdateSimulationInput added in v0.1.6

type UpdateSimulationInput = compliance.UpdateSimulationInput

type UpdateSourceInput

type UpdateSourceInput = accesscontrol.UpdateSourceInput

type UpdateTenantInput

type UpdateTenantInput = tenant.UpdateTenantInput

type UpdateVulnerabilityInput

type UpdateVulnerabilityInput = finding.UpdateVulnerabilityInput

type UpdateWebhookInput

type UpdateWebhookInput = integration.UpdateWebhookInput

type UpdateWorkflowGraphInput

type UpdateWorkflowGraphInput = workflow.UpdateWorkflowGraphInput

type UpdateWorkflowInput

type UpdateWorkflowInput = workflow.UpdateWorkflowInput

type UploadInput added in v0.1.6

type UploadInput = integration.UploadInput

type UserInfoProvider

type UserInfoProvider = tenant.UserInfoProvider

type UserMatcher added in v0.1.5

type UserMatcher = asset.UserMatcher

type UserService

type UserService = tenant.UserService

type ValidateTemplateInput

type ValidateTemplateInput struct {
	TemplateType string `json:"template_type" validate:"required,oneof=nuclei semgrep gitleaks"`
	Content      string `json:"content" validate:"required"` // Base64 encoded
}

ValidateTemplateInput represents the input for validating template content.

type ValidationCoverage added in v0.2.0

type ValidationCoverage = validation.ValidationCoverage

type ValidationError

type ValidationError struct {
	Field   string
	Message string
	Code    string
}

ValidationError represents a validation error.

type ValidationResult

type ValidationResult struct {
	Valid  bool
	Errors []ValidationError
}

ValidationResult represents the result of a validation.

type VerificationScanTrigger added in v0.1.7

type VerificationScanTrigger = finding.VerificationScanTrigger

func NewVerificationScanTriggerAdapter added in v0.1.7

func NewVerificationScanTriggerAdapter(svc *scan.Service) VerificationScanTrigger

NewVerificationScanTriggerAdapter creates an adapter that wraps scan.Service for use as a VerificationScanTrigger.

type VerifyByFilterInput added in v0.1.3

type VerifyByFilterInput = finding.VerifyByFilterInput

type VulnerabilityService

type VulnerabilityService = finding.VulnerabilityService

type WSTicketClaims added in v0.2.0

type WSTicketClaims = auth.WSTicketClaims

type WSTicketService added in v0.2.0

type WSTicketService = auth.WSTicketService

type WSTicketStore added in v0.2.0

type WSTicketStore = auth.WSTicketStore

type WebSocketBroadcaster added in v0.1.2

type WebSocketBroadcaster = integration.WebSocketBroadcaster

type WebhookService

type WebhookService = integration.WebhookService

type WorkflowEventDispatcher

type WorkflowEventDispatcher = workflow.WorkflowEventDispatcher

type WorkflowEventDispatcherInterface

type WorkflowEventDispatcherInterface = aitriage.WorkflowEventDispatcherInterface

type WorkflowExecutor

type WorkflowExecutor = workflow.WorkflowExecutor

type WorkflowExecutorConfig

type WorkflowExecutorConfig = workflow.WorkflowExecutorConfig

type WorkflowExecutorOption

type WorkflowExecutorOption = workflow.WorkflowExecutorOption

type WorkflowService

type WorkflowService = workflow.WorkflowService

type WorkflowServiceOption

type WorkflowServiceOption = workflow.WorkflowServiceOption

Directories

Path Synopsis
Package connector defines the common contract for cloud / infra asset-inventory connectors (AWS, GCP, Azure, Kubernetes, git-host).
Package connector defines the common contract for cloud / infra asset-inventory connectors (AWS, GCP, Azure, Kubernetes, git-host).
Package ingest provides unified ingestion of assets and findings from various formats.
Package ingest provides unified ingestion of assets and findings from various formats.
Package ioc wires Indicators of Compromise to the runtime telemetry stream.
Package ioc wires Indicators of Compromise to the runtime telemetry stream.
Package pipeline provides adapters to bridge app types with pipeline interfaces.
Package pipeline provides adapters to bridge app types with pipeline interfaces.
Package reclassify provides the runtime glue that connects priority-change producers (threat-intel refresh, control CRUD, rule CRUD) to the PriorityReclassifyController's queue/Reclassifier contracts.
Package reclassify provides the runtime glue that connects priority-change producers (threat-intel refresh, control CRUD, rule CRUD) to the PriorityReclassifyController's queue/Reclassifier contracts.
Package sla is the app-layer for SLA policy & compliance.
Package sla is the app-layer for SLA policy & compliance.
Package validators provides template validation for different scanner types.
Package validators provides template validation for different scanner types.
Package validation defines the Stage-4 contract: WHAT gets validated, WHAT counts as evidence, WHO gates it — but NOT HOW a technique runs.
Package validation defines the Stage-4 contract: WHAT gets validated, WHAT counts as evidence, WHO gates it — but NOT HOW a technique runs.

Jump to

Keyboard shortcuts

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