Skip to content

BaseSecurityDecorator

Defined in: packages/core/src/decorators/base.ts:25

new BaseSecurityDecorator(config, logger?): BaseSecurityDecorator

Defined in: packages/core/src/decorators/base.ts:32

string | null = ...

number | null = ...

"drop" | "block" | "raise" | null = ...

number = ...

boolean | null = ...

number | null = ...

boolean = ...

boolean = ...

string = ...

number = ...

string | null = ...

number | null = ...

string | null = ...

number | null = ...

number | null = ...

string | null = ...

string | null = ...

string | null = ...

number = ...

string[] | null = ...

number = ...

boolean = ...

number = ...

(request, credential) => unknown = ...

number = ...

number = ...

number = ...

boolean = ...

string[] = ...

Set<"AWS" | "GCP" | "Azure"> = ...

string[] = ...

string[] = ...

number = ...

number = ...

number = ...

boolean = ...

string[] = ...

string[] = ...

string[] = ...

string[] = ...

number = ...

Record<number, string> = ...

string | null = ...

(req) => Promise<GuardResponse | null> = ...

(res) => Promise<GuardResponse> = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

number = ...

string | null = ...

boolean = ...

boolean = ...

boolean = ...

number = ...

number = ...

number = ...

number = ...

string | null = ...

boolean = ...

string[] = ...

boolean = ...

boolean = ...

string[] = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

Record<string, [number, number]> = ...

boolean = ...

string[] = ...

string[] = ...

string[] = ...

string[] = ...

string[] = ...

boolean = ...

number = ...

GeoIPHandler = ...

(ip) => string | null = ...

object[] = ...

string = ...

string | null = ...

boolean = ...

"INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null = ...

string = ...

"text" | "json" = ...

Logger = ...

"INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null = ...

string[] = ...

string[] = ...

string[] = ...

"INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null = ...

string[] = ...

string[] = ...

string[] = ...

(request, payload) => unknown = ...

(stage, error, context) => void = ...

string | null = ...

Record<string, string> = ...

string = ...

boolean = ...

number = ...

number = ...

boolean = ...

number = ...

number | null = ...

string = ...

number = ...

number | null = ...

number | null = ...

string = ...

boolean = ...

{ contentTypeOptions: string; csp: Record<string, string[]> | null; custom: Record<string, string> | null; enabled: boolean; frameOptions: "DENY" | "SAMEORIGIN"; hsts?: { includeSubdomains: boolean; maxAge: number; preload: boolean; }; permissionsPolicy: string; referrerPolicy: string; xssProtection: string; } | null = ...

Record<string, { duration: number; threshold: number; }> = ...

string[] = ...

number = ...

boolean = ...

string[] | null = ...

string[] = ...

Logger

BaseSecurityDecorator

agentHandler: AgentHandlerProtocol | null = null

Defined in: packages/core/src/decorators/base.ts:28


behaviorTracker: BehaviorTracker

Defined in: packages/core/src/decorators/base.ts:27


readonly config: object

Defined in: packages/core/src/decorators/base.ts:30

agentApiKey: string | null

agentBackoffFactor: number | null

agentBufferOverflowPolicy: "drop" | "block" | "raise" | null

agentBufferSize: number

agentCompressionEnabled: boolean | null

agentCompressionThreshold: number | null

agentEnableEvents: boolean

agentEnableMetrics: boolean

agentEndpoint: string

agentFlushInterval: number

agentGuardVersion: string | null

agentHighWatermarkRatio: number | null

agentInstallId: string | null

agentMaxConcurrentFlushes: number | null

agentMaxPayloadSize: number | null

agentPayloadSigningSecret: string | null

agentProjectEncryptionKey: string | null

agentProjectId: string | null

agentRetryAttempts: number

agentSensitiveHeaders: string[] | null

agentStatusInterval: number

agentStrict: boolean

agentTimeout: number

optional authVerifier?: (request, credential) => unknown

GuardRequest

string

unknown

autoBanDuration: number

autoBanThreshold: number

behaviorMaxResponseBodyInspectBytes: number

behaviorScanResponseBody: boolean

blacklist: string[]

blockCloudProviders: Set<"AWS" | "GCP" | "Azure">

blockedCountries: string[]

blockedUserAgents: string[]

bodyReadMaxConcurrent: number

bodyReadTimeout: number

cloudIpRefreshInterval: number

corsAllowCredentials: boolean

corsAllowHeaders: string[]

corsAllowMethods: string[]

corsAllowOrigins: string[]

corsExposeHeaders: string[]

corsMaxAge: number

customErrorResponses: Record<number, string>

customLogFile: string | null

optional customRequestCheck?: (req) => Promise<GuardResponse | null>

GuardRequest

Promise<GuardResponse | null>

optional customResponseModifier?: (res) => Promise<GuardResponse>

GuardResponse

Promise<GuardResponse>

detectionAnomalyEmissionCooldown: number

detectionAnomalyThreshold: number

detectionBinaryMinRunLength: number

detectionCompilerTimeout: number

detectionMaxBodyInspectBytes: number

detectionMaxContentLength: number

detectionMaxJsonDepth: number

detectionMaxScanChars: number

detectionMaxScanValues: number

detectionMaxTrackedPatterns: number

detectionMinSamplesForAnomaly: number

detectionMonitorHistorySize: number

detectionPatternValidationCachePath: string | null

detectionPreserveAttackPatterns: boolean

detectionScanBody: boolean

detectionScanWorkerPool: boolean

detectionSemanticThreshold: number

detectionSlowPatternThreshold: number

detectionThreatScoreThreshold: number

dynamicRuleInterval: number

dynamicRulesCachePath: string | null

emergencyMode: boolean

emergencyWhitelist: string[]

enableAgent: boolean

enableCors: boolean

enabledDetectionCategories: string[]

enableDynamicRules: boolean

enableEnrichment: boolean

enableIpBanning: boolean

enableLogfire: boolean

enableOtel: boolean

enablePenetrationDetection: boolean

enableRateLimitAutoBan: boolean

enableRateLimiting: boolean

enableRedis: boolean

endpointRateLimits: Record<string, [number, number]>

enforceHttps: boolean

excludedDetectionBodyFields: string[]

excludedDetectionHeaders: string[]

excludedDetectionParams: string[]

excludePaths: string[]

exemptIps: string[]

failSecure: boolean

geoIpDbMaxAge: number

optional geoIpHandler?: GeoIPHandler

optional geoResolver?: (ip) => string | null

string

string | null

globalBehaviorRules: object[]

ipinfoDbPath: string

ipinfoToken: string | null

lazyInit: boolean

logCountryCheckLevel: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

logfireServiceName: string

logFormat: "text" | "json"

optional logger?: Logger

logRequestLevel: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

logSensitiveBodyFields: string[]

logSensitiveHeaders: string[]

logSensitiveParams: string[]

logSuspiciousLevel: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

mutedCheckLogs: string[]

mutedEventTypes: string[]

mutedMetricTypes: string[]

optional onBlock?: (request, payload) => unknown

GuardRequest

Record<string, unknown>

unknown

optional onError?: (stage, error, context) => void

string

unknown

Record<string, unknown>

void

otelExporterEndpoint: string | null

otelResourceAttributes: Record<string, string>

otelServiceName: string

passiveMode: boolean

rateLimit: number

rateLimitWindow: number

redisFailOpen: boolean

redisHealthCheckInterval: number

redisMaxConnections: number | null

redisPrefix: string

redisRetries: number

redisSocketConnectTimeout: number | null

redisSocketTimeout: number | null

redisUrl: string

routeResolutionStrict: boolean

securityHeaders: { contentTypeOptions: string; csp: Record<string, string[]> | null; custom: Record<string, string> | null; enabled: boolean; frameOptions: "DENY" | "SAMEORIGIN"; hsts?: { includeSubdomains: boolean; maxAge: number; preload: boolean; }; permissionsPolicy: string; referrerPolicy: string; xssProtection: string; } | null

threatBanConfig: Record<string, { duration: number; threshold: number; }>

trustedProxies: string[]

trustedProxyDepth: number

trustXForwardedProto: boolean

whitelist: string[] | null

whitelistCountries: string[]


geoIpHandler: unknown = null

Defined in: packages/core/src/decorators/base.ts:29


readonly logger: Logger

Defined in: packages/core/src/decorators/base.ts:31


routeConfigs: Map<string, RouteConfig>

Defined in: packages/core/src/decorators/base.ts:26

get routeConfigRevision(): number

Defined in: packages/core/src/decorators/base.ts:42

number

applyRouteConfig<T>(fn): T

Defined in: packages/core/src/decorators/base.ts:61

T extends Function

T

T


ensureRouteConfig(fn): RouteConfig

Defined in: packages/core/src/decorators/base.ts:50

Function

RouteConfig


getRouteConfig(routeId): RouteConfig | undefined

Defined in: packages/core/src/decorators/base.ts:46

string

RouteConfig | undefined


getRouteId(fn): string

Defined in: packages/core/src/decorators/base.ts:66

Function

string


initializeAgent(agentHandler, geoIpHandler?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:77

AgentHandlerProtocol

unknown

Promise<void>


initializeBehaviorTracking(redisHandler?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:73

RedisHandlerProtocol

Promise<void>


sendAccessDeniedEvent(request, reason, decoratorType, meta?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:114

GuardRequest

string

string

Record<string, unknown>

Promise<void>


sendAuthenticationFailedEvent(request, reason, authType, meta?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:123

GuardRequest

string

string

Record<string, unknown>

Promise<void>


sendDecoratorEvent(eventType, request, actionTaken, reason, decoratorType, meta?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:88

string

GuardRequest

string

string

string

Record<string, unknown>

Promise<void>


sendDecoratorViolationEvent(request, violationType, reason, meta?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:141

GuardRequest

string

string

Record<string, unknown>

Promise<void>


sendRateLimitEvent(request, limit, window, meta?): Promise<void>

Defined in: packages/core/src/decorators/base.ts:132

GuardRequest

number

number

Record<string, unknown>

Promise<void>