Skip to content

BaseSecurityDecorator

Defined in: core/src/decorators/base.ts:17

new BaseSecurityDecorator(config, logger?): BaseSecurityDecorator

Defined in: core/src/decorators/base.ts:24

string | null = ...

number = ...

boolean = ...

boolean = ...

string = ...

number = ...

string | null = ...

number = ...

number = ...

number = ...

number = ...

string[] = ...

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

string[] = ...

string[] = ...

number = ...

boolean = ...

string[] = ...

string[] = ...

string[] = ...

string[] = ...

number = ...

Record<number, string> = ...

string | null = ...

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

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

number = ...

number = ...

number = ...

number = ...

number = ...

boolean = ...

number = ...

number = ...

number = ...

boolean = ...

string[] = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

boolean = ...

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

boolean = ...

string[] = ...

GeoIPHandler = ...

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

"text" | "json" = ...

Logger = ...

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

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

boolean = ...

number = ...

number = ...

string = ...

string = ...

{ 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 = ...

string[] = ...

number = ...

boolean = ...

string[] | null = ...

string[] = ...

Logger

BaseSecurityDecorator

agentHandler: AgentHandlerProtocol | null = null

Defined in: core/src/decorators/base.ts:20


behaviorTracker: BehaviorTracker

Defined in: core/src/decorators/base.ts:19


readonly config: object

Defined in: core/src/decorators/base.ts:21

agentApiKey: string | null

agentBufferSize: number

agentEnableEvents: boolean

agentEnableMetrics: boolean

agentEndpoint: string

agentFlushInterval: number

agentProjectId: string | null

agentRetryAttempts: number

agentTimeout: number

autoBanDuration: number

autoBanThreshold: number

blacklist: string[]

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

blockedCountries: string[]

blockedUserAgents: string[]

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>

detectionAnomalyThreshold: number

detectionCompilerTimeout: number

detectionMaxContentLength: number

detectionMaxTrackedPatterns: number

detectionMonitorHistorySize: number

detectionPreserveAttackPatterns: boolean

detectionSemanticThreshold: number

detectionSlowPatternThreshold: number

dynamicRuleInterval: number

emergencyMode: boolean

emergencyWhitelist: string[]

enableAgent: boolean

enableCors: boolean

enableDynamicRules: boolean

enableIpBanning: boolean

enablePenetrationDetection: boolean

enableRateLimiting: boolean

enableRedis: boolean

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

enforceHttps: boolean

excludePaths: string[]

optional geoIpHandler?: GeoIPHandler

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

string

string | null

logFormat: "text" | "json"

optional logger?: Logger

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

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

passiveMode: boolean

rateLimit: number

rateLimitWindow: number

redisPrefix: string

redisUrl: string

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

trustedProxies: string[]

trustedProxyDepth: number

trustXForwardedProto: boolean

whitelist: string[] | null

whitelistCountries: string[]


readonly logger: Logger

Defined in: core/src/decorators/base.ts:22


routeConfigs: Map<string, RouteConfig>

Defined in: core/src/decorators/base.ts:18

applyRouteConfig<T>(fn): T

Defined in: core/src/decorators/base.ts:44

T extends Function

T

T


ensureRouteConfig(fn): RouteConfig

Defined in: core/src/decorators/base.ts:34

Function

RouteConfig


getRouteConfig(routeId): RouteConfig | undefined

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

string

RouteConfig | undefined


getRouteId(fn): string

Defined in: core/src/decorators/base.ts:49

Function

string


initializeAgent(agentHandler): Promise<void>

Defined in: core/src/decorators/base.ts:60

AgentHandlerProtocol

Promise<void>


initializeBehaviorTracking(redisHandler?): Promise<void>

Defined in: core/src/decorators/base.ts:56

RedisHandlerProtocol

Promise<void>


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

Defined in: core/src/decorators/base.ts:86

GuardRequest

string

string

Record<string, unknown>

Promise<void>


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

Defined in: core/src/decorators/base.ts:95

GuardRequest

string

string

Record<string, unknown>

Promise<void>


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

Defined in: core/src/decorators/base.ts:65

string

GuardRequest

string

string

string

Record<string, unknown>

Promise<void>


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

Defined in: core/src/decorators/base.ts:113

GuardRequest

string

string

Record<string, unknown>

Promise<void>


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

Defined in: core/src/decorators/base.ts:104

GuardRequest

number

number

Record<string, unknown>

Promise<void>