구성 속성

모든 Contexa 구성 속성에 대한 전체 참조입니다. 모든 속성은 application.yml에서 설정하며 Spring Boot의 @ConfigurationProperties 메커니즘을 통해 바인딩됩니다. 속성은 아래 5개 카테고리로 구성됩니다.

구성 카테고리

Contexa는 모든 모듈에 걸쳐 27개의 @ConfigurationProperties 클래스를 제공합니다. 카테고리를 선택하여 전체 속성 참조를 확인하세요.

필수 속성

Contexa를 시작할 때 구성해야 할 가장 중요한 속성입니다:

속성 기본값 설명
contexa.enabled true 전체 Contexa 플랫폼의 마스터 스위치
contexa.infrastructure.mode STANDALONE STANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka)
contexa.llm.enabled true AI 기반 보안 결정을 위한 LLM 통합 활성화
contexa.security.zerotrust.enabled true Zero Trust 지속적 검증 활성화
spring.auth.state-type OAUTH2 상태 관리: SESSION 또는 OAUTH2. 생략 가능 — 기본값으로 대부분의 환경에서 동작합니다.
contexa.llm.selection.chat.priority "" 쉼표로 구분한 채팅 제공자 우선순위 (예: ollama,anthropic,openai). 해석기가 목록 순서대로 사용 가능한 제공자를 선택합니다.

최소 구성

Standalone 모드에서 Contexa를 시작하기 위한 최소 application.yml입니다:

YAML
contexa:
  enabled: true
  infrastructure:
    mode: standalone
  llm:
    enabled: true
    selection:
      chat:
        priority: ollama,anthropic,openai
    chat:
      ollama:
        base-url: http://127.0.0.1:11434
        model: qwen2.5:14b
  rag:
    enabled: true

contexa.security:
  zerotrust:
    enabled: true

spring:
  auth:
    state-type: SESSION
  ai:
    security:
      layer1:
        model: qwen2.5:14b
      layer2:
        model: exaone3.5:latest

Contexa 코어 속성

contexa 접두사 아래의 최상위 속성으로, ContexaProperties에 바인딩됩니다.

속성 타입 기본값 설명
contexa
.enabled boolean true 전체 Contexa 플랫폼을 활성화 또는 비활성화하는 마스터 스위치
.infrastructure.mode enum STANDALONE 인프라 모드: STANDALONE (인메모리) 또는 DISTRIBUTED (Redis, Kafka)
.infrastructure.redis.enabled boolean true 분산 캐싱을 위한 Redis 통합 활성화
.enterprise.enabled boolean false 런타임이 제공하는 엔터프라이즈 전용 통합을 활성화합니다
.infrastructure.kafka.enabled boolean true 이벤트 스트리밍을 위한 Kafka 통합 활성화 (Distributed 모드)
.infrastructure.observability.enabled boolean true 관측 인프라 활성화
.infrastructure.observability.open-telemetry-enabled boolean true 분산 추적을 위한 OpenTelemetry 통합 활성화

LLM 속성

속성 타입 기본값 설명
contexa.llm
.enabledbooleantrueAI 기반 보안 결정을 위한 LLM 통합 활성화
.advisor-enabledbooleantrueAI Advisor 체인 활성화
.selection.chat.modeenumDYNAMIC_PRIORITY채팅 제공자 선택 방식: DYNAMIC_PRIORITY는 우선순위 목록 순회, SPRING_PRIMARY는 Spring @Primary 빈 사용
.selection.chat.priorityString""쉼표 구분 채팅 제공자 우선순위 (예: ollama,anthropic,openai). modeDYNAMIC_PRIORITY일 때 사용합니다
.selection.embedding.modeenumDYNAMIC_PRIORITY임베딩 제공자 선택 방식
.selection.embedding.priorityString""쉼표 구분 임베딩 제공자 우선순위 (예: ollama,openai)
.chat.ollama.base-urlString""Ollama 채팅 런타임을 사용할 때 필요한 전용 기본 URL입니다
.chat.ollama.modelString""Contexa 채팅 런타임에서 사용할 Ollama 채팅 모델명
.chat.ollama.keep-aliveString""Ollama 채팅 런타임에 전달하는 선택적 keep-alive 값
.embedding.ollama.dedicated-runtime-enabledbooleanfalse공유 채팅 런타임 대신 전용 Ollama 임베딩 런타임 사용 여부
.embedding.ollama.base-urlString""dedicated-runtime-enabled가 true일 때 사용하는 전용 임베딩 런타임 URL
.embedding.ollama.modelString""Ollama 임베딩 런타임에서 사용할 임베딩 모델명

Tiered LLM 및 외부 제공자 구성

Contexa는 계층 선택 정보를 contexa.security.tiered*에서 읽습니다. Anthropic/OpenAI 같은 외부 제공자는 표준 spring.ai.* 속성을 사용하고, Ollama 런타임 선택은 spring.ai.ollama.*가 아니라 contexa.llm.*에서 관리합니다.

속성 타입 설명
spring.ai
.llm.layer1.modelString1차 분석 단계에 사용할 Tier-1 모델명
.llm.layer2.modelString심화 분석과 에스컬레이션에 사용할 Tier-2 모델명
.prompt-compression.enabledboolean계층형 실행을 위한 런타임 프롬프트 압축 활성화
.layer1.timeout.total-mslongTier-1 실행 경로 전체 타임아웃 예산
.layer2.timeout-mslongTier-2 실행 경로 전체 타임아웃 예산
.anthropic.api-keyString표준 Spring AI Anthropic 클라이언트용 API 키
.openai.api-keyString표준 Spring AI OpenAI 클라이언트용 API 키
.openai.base-urlString프록시나 호환 엔드포인트 사용 시 OpenAI 기본 URL 재정의

벡터 스토어 속성

속성 타입 기본값 설명
contexa.rag
.enabledbooleantrueContexa 내부의 RAG 하위 시스템 활성화
.defaults.top-kint10일반 검색에 사용하는 기본 문서 개수
.defaults.similarity-thresholddouble0.7일반 검색에 사용하는 기본 유사도 임계값
.behavior.lookback-daysint30RAG 검색 필터가 사용하는 행동 이력 조회 기간(일)
.risk.top-kint50위험 분석 중심 검색에 사용하는 문서 개수
.risk.similarity-thresholddouble0.8위험 분석 중심 검색에 사용하는 유사도 임계값
.lab.batch-sizeint50RAG Lab 배치 크기
.lab.validation-enabledbooleantrueLab 단계의 검증 패스 활성화
.lab.enrichment-enabledbooleantrueLab 단계의 보강(enrichment) 패스 활성화
.lab.top-kint100Lab 검색 개수
.lab.similarity-thresholddouble0.75Lab 유사도 임계값
.etl.batch-sizeint100벡터 ETL에서 사용하는 문서 배치 크기
.etl.vector-table-nameStringvector_storeContexa ETL 작업에서 사용하는 논리 벡터 테이블명
.etl.chunk-sizeint500벡터 ETL에서 사용하는 문서 청크 크기
.etl.chunk-overlapint50벡터 ETL에서 사용하는 청크 오버랩 크기
.etl.behavior.retention-daysint90ETL 행동 아티팩트 보존 기간(일)
contexa.vectorstore.pgvector
.dimensionsint1024pgvector 스토어에서 사용하는 임베딩 차원 수
.batch-sizeint100벡터 저장 시 사용하는 배치 크기
.top-kint100pgvector 어댑터 내부의 기본 검색 개수
.similarity-thresholddouble0.5pgvector 어댑터에서 적용하는 최소 유사도 임계값
.search-timeout-mslong10000pgvector 조회 타임아웃 예산
.store-timeout-mslong10000pgvector 저장 타임아웃 예산
.document.chunk-sizeint1000소스 문서를 저장용으로 준비할 때 사용하는 청크 크기
.document.chunk-overlapint200소스 문서를 저장용으로 준비할 때 사용하는 청크 오버랩

Zero Trust 속성

contexa.security.zerotrust 아래의 속성으로, SecurityZeroTrustProperties에 바인딩됩니다.

속성 타입 기본값 설명
contexa.security.zerotrust
.enabled boolean true Zero Trust 평가 엔진 활성화
.threat.initial double 0.3 새 세션에 할당되는 초기 위협 점수
.cache.ttl-hours int 24 신뢰 평가 캐시 TTL (시간 단위)
.cache.session-ttl-minutes int 30 세션 캐시 TTL (분 단위)
.cache.invalidated-ttl-minutes int 60 무효화된 세션 캐시 TTL (분 단위)
.redis.timeout int 5 Redis 작업 타임아웃 (초 단위)
.redis.update-interval-seconds int 30 Redis에 신뢰 점수를 동기화하는 간격
.session.tracking-enabled boolean true AI 기반 세션 추적 활성화

HCAD 속성

contexa.hcad 접두사 아래의 계층적 컨텍스트 인식 탐지(HCAD) 속성으로, HcadProperties에 바인딩됩니다.

속성 타입 기본값 설명
contexa.hcad
.enabledbooleantrueHCAD 이상 탐지 엔진 활성화
.filter-orderint100보안 필터 체인에서의 HCAD 필터 순서
.similarity.hot-path-thresholddouble0.7핫 패스 평가 단계에서 사용하는 유사도 임계값
.baseline.learning.enabledbooleantrue지속적 기준선 학습 활성화
.baseline.bootstrap.initial-samplesint10초기 기준선을 허용하기 전 필요한 부트스트랩 샘플 수
.baseline.statistical.min-samplesint20통계 기반 기준선 갱신에 필요한 최소 샘플 수

자율 보안 속성

속성 타입 기본값 설명
contexa.autonomous
.enabledbooleantrue자율 보안 응답 처리 활성화
.event-timeoutlong30000자율 이벤트 처리 타임아웃 (밀리초 단위)

세션 보안 속성

contexa.security.session 아래의 속성으로, SecuritySessionProperties에 바인딩됩니다.

속성 타입 기본값 설명
contexa.security.session
.cookie.name String SESSION 세션 쿠키 이름
.header.name String X-Auth-Token 토큰 기반 세션의 세션 헤더 이름
.bearer.enabled boolean true Bearer 토큰 세션 확인 활성화

전체 구성 예제

모든 주요 구성 섹션을 보여주는 전체 application.yml입니다:

YAML
contexa:
  enabled: true
  infrastructure:
    mode: standalone
    redis:
      enabled: true
    kafka:
      enabled: false
    observability:
      enabled: true
      open-telemetry-enabled: true

  hcad:
    enabled: true
    similarity:
      hot-path-threshold: 0.7
    baseline:
      min-samples: 10
      cache-ttl: 3600

  llm:
    enabled: true
    advisor-enabled: true
    selection:
      chat:
        mode: DYNAMIC_PRIORITY
        priority: ollama,anthropic,openai
      embedding:
        mode: DYNAMIC_PRIORITY
        priority: ollama,openai
    chat:
      ollama:
        base-url: http://127.0.0.1:11434
        model: qwen2.5:14b
        keep-alive: 24h
    embedding:
      ollama:
        dedicated-runtime-enabled: false
        model: mxbai-embed-large

  rag:
    enabled: true
    defaults:
      top-k: 10
      similarity-threshold: 0.7
    etl:
      vector-table-name: vector_store
      chunk-size: 500
      chunk-overlap: 50

  autonomous:
    enabled: true
    event-timeout: 30000

contexa.hcad:
  enabled: true
  filter-order: 100
  baseline:
    learning:
      enabled: true

contexa.security:
  zerotrust:
    enabled: true
    mode: ENFORCE
    threat:
      initial: 0.3
    cache:
      ttl-hours: 24
      session-ttl-minutes: 30
    redis:
      timeout: 5
      update-interval-seconds: 30

  session:
    cookie:
      name: SESSION
    header:
      name: X-Auth-Token
    bearer:
      enabled: true

spring:
  auth:
    state-type: SESSION
  ai:
    security:
      layer1:
        model: qwen2.5:14b
      layer2:
        model: exaone3.5:latest
      tiered:
        prompt-compression:
          enabled: true
    anthropic:
      api-key: ${ANTHROPIC_API_KEY:}
    openai:
      api-key: ${OPENAI_API_KEY:}
    vectorstore:
      pgvector:
        dimensions: 1024
        batch-size: 100
        top-k: 100
        similarity-threshold: 0.5
        document:
          chunk-size: 1000
          chunk-overlap: 200

ContexaProperties 빠른 참조

ContexaProperties의 핵심 contexa.* 속성 목록입니다. 각 섹션은 상세 하위 페이지로 연결됩니다.

마스터 스위치

속성타입기본값설명
contexa.enabledbooleantrueContexa 플랫폼 전체 마스터 스위치.

HCAD (행동 분석)

속성타입기본값설명
contexa.hcad.enabledbooleantrueContexa 쪽 HCAD 래퍼 토글 활성화.
contexa.hcad.similarity.hot-path-thresholddouble0.7ContexaProperties가 노출하는 핫 패스 유사도 임계값.
contexa.hcad.baseline.min-samplesint10Contexa 래퍼 속성의 기준선 최소 샘플 수.
contexa.hcad.baseline.cache-ttlint3600Contexa 래퍼 속성의 기준선 캐시 TTL(초).

LLM (언어 모델)

속성타입기본값설명
contexa.llm.enabledbooleantrueLLM 통합 활성화.
contexa.llm.advisor-enabledbooleantrueAdvisor 체인 활성화.
contexa.llm.selection.chat.modeenumDYNAMIC_PRIORITY채팅 제공자 선택 방식.
contexa.llm.selection.chat.priorityString""쉼표 구분 채팅 제공자 우선순위 (예: ollama,anthropic,openai).
contexa.llm.selection.embedding.modeenumDYNAMIC_PRIORITY임베딩 제공자 선택 방식.
contexa.llm.selection.embedding.priorityString""쉼표 구분 임베딩 제공자 우선순위 (예: ollama,openai).
contexa.llm.chat.ollama.base-urlString""Ollama 채팅 런타임 URL.
contexa.llm.embedding.ollama.dedicated-runtime-enabledbooleanfalse전용 임베딩 런타임 사용 여부.

RAG (검색 증강 생성)

속성타입기본값설명
contexa.rag.enabledbooleantrueRAG 파이프라인 래퍼 활성화.
contexa.rag.defaults.top-kint10기본 검색 개수.
contexa.rag.defaults.similarity-thresholddouble0.7기본 유사도 임계값.
contexa.rag.etl.vector-table-nameStringvector_storeETL 출력용 논리 벡터 테이블명.

자율 에이전트

속성타입기본값설명
contexa.autonomous.enabledbooleantrue자율 보안 처리 활성화.
contexa.autonomous.event-timeoutlong30000이벤트 처리 타임아웃(밀리초).

인프라스트럭처

속성타입기본값설명
contexa.infrastructure.modeenumSTANDALONESTANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka).
contexa.infrastructure.redis.enabledbooleantrue분산 캐싱을 위한 Redis 활성화.
contexa.infrastructure.kafka.enabledbooleantrue이벤트 스트리밍을 위한 Kafka 활성화.
contexa.infrastructure.observability.enabledbooleantrue관측 가능성 활성화.
contexa.infrastructure.observability.open-telemetry-enabledbooleantrueOpenTelemetry 통합 활성화.
contexa.enterprise.enabledbooleanfalse런타임이 제공할 때 엔터프라이즈 전용 통합 활성화.

SaaS 통합 (Enterprise)

속성타입기본값설명
contexa.saas.enabledbooleanfalseContexa Cloud와의 SaaS 통합 활성화.
contexa.saas.endpointStringhttps://saas.ctxa.aiSaaS 플랫폼 엔드포인트 URL.
contexa.saas.include-reasoningbooleanfalse전송되는 결정(decision)에 추론 내역을 포함합니다.
contexa.saas.include-raw-analysis-databooleanfalse전송되는 결정에 원시 분석 데이터를 포함합니다.
contexa.saas.outbox-batch-sizeint50이벤트 전달용 Outbox 배치 크기.
contexa.saas.max-retry-attemptsint10실패한 이벤트 전달의 최대 재시도 횟수.
contexa.saas.retry-initial-backoff-mslong1000재시도 초기 백오프 지연.
contexa.saas.retry-max-backoff-mslong60000재시도 최대 백오프 지연.
contexa.saas.dispatch-interval-mslong30000SaaS 전달 작업의 디스패치 주기.
contexa.saas.pseudonymization-secretStringdefault-dev-secret-change-in-prod가명화(pseudonymization) 비밀값. 운영 환경에서는 반드시 교체해야 합니다.
contexa.saas.global-correlation-secretStringdefault-dev-correlation-secret테넌트 간 상관관계 비밀값. 운영 환경에서 교체 필수.
contexa.saas.oauth2
.enabledbooleantrueSaaS 전달용 OAuth2 client_credentials 활성화.
.registration-idStringcontexa-saas-clientSpring Security OAuth2 등록 ID.
.token-uriStringhttps://saas.ctxa.ai/oauth2/tokenSaaS 토큰 엔드포인트 URL.
.client-idStringdev-clientOAuth2 클라이언트 ID.
.client-secretStringdev-secretOAuth2 클라이언트 시크릿.
.scopeString(기본 11 scope)쉼표 구분 OAuth2 스코프 목록. 활성화된 모든 전달 기능에 필요한 스코프를 포함해야 합니다.
.expiry-skew-secondsint30토큰 만료 오차 보정(초).
contexa.saas.decision-feedback
.enabledbooleanfalse결정 피드백 전달 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/feedback-ingestions결정 피드백 수집 경로.
contexa.saas.baseline-signal
.enabledbooleanfalse베이스라인 신호 공유 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/baseline-signals베이스라인 신호 게시 경로.
.seed-endpoint-pathString/api/saas/runtime/ai-tuning/baseline-seed베이스라인 시드 Pull 경로.
.publish-interval-mslong604800000베이스라인 게시 주기(기본 7일).
.initial-delay-mslong300000초기 게시 지연(기본 5분).
.seed-pull-interval-mslong3600000시드 Pull 주기(기본 1시간).
.seed-initial-delay-mslong120000시드 Pull 초기 지연(기본 2분).
.seed-cache-ttl-minutesint180시드 캐시 TTL(기본 3시간).
.minimum-organization-baseline-countint3조직 단위 최소 샘플 수.
.minimum-user-baseline-countint25사용자 단위 최소 샘플 수.
.hour-bucket-limitint8게시 배치별 시간 버킷 상한.
.day-bucket-limitint7게시 배치별 일 버킷 상한.
.operating-system-limitint6OS 지문 버킷 상한.
.industry-categoryStringGENERAL조직 업종 카테고리 태그.
contexa.saas.threat-intelligence
.enabledbooleanfalse위협 인텔리전스 Pull 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/threat-signals위협 신호 Pull 경로.
.pull-interval-mslong3600000Pull 주기(기본 1시간).
.initial-delay-mslong0초기 Pull 지연.
.signal-limitint5Pull당 신호 수 제한.
.prompt-limitint3프롬프트 인젝션 샘플 제한.
.cache-ttl-minutesint90로컬 캐시 TTL.
contexa.saas.threat-outcome
.enabledbooleanfalse위협 결과 전달 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/threat-outcomes위협 결과 수집 경로.
contexa.saas.threat-knowledge
.enabledbooleanfalse위협 지식 Pull 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/threat-knowledge-pack위협 지식 팩 Pull 경로.
.runtime-policy-endpoint-pathString/api/saas/runtime/ai-tuning/threat-runtime-policy런타임 정책 Pull 경로.
.pull-interval-mslong3600000Pull 주기.
.initial-delay-mslong0초기 Pull 지연.
.case-limitint12Pull당 케이스 수 제한.
.prompt-limitint3프롬프트 인젝션 샘플 제한.
.cache-ttl-minutesint90로컬 캐시 TTL.
contexa.saas.detection-strategy
.enabledbooleanfalse탐지 전략 Pull 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/detection-strategy-pack탐지 전략 팩 Pull 경로.
.pull-interval-mslong3600000Pull 주기.
.initial-delay-mslong0초기 Pull 지연.
.strategy-limitint12Pull당 전략 수 제한.
.prompt-limitint3프롬프트 인젝션 샘플 제한.
.cache-ttl-minutesint90로컬 캐시 TTL.
contexa.saas.calibration-profile
.enabledbooleanfalse캘리브레이션 프로파일 Pull 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/calibration-profile-pack캘리브레이션 프로파일 팩 Pull 경로.
.pull-interval-mslong3600000Pull 주기.
.initial-delay-mslong0초기 Pull 지연.
.profile-limitint12Pull당 프로파일 수 제한.
.cache-ttl-minutesint90로컬 캐시 TTL.
contexa.saas.performance-telemetry
.enabledbooleanfalse성능 텔레메트리 전달 활성화.
.endpoint-pathString/api/saas/runtime/ai-tuning/performance-telemetry성능 텔레메트리 수집 경로.
.publish-interval-mslong3600000게시 주기.
.initial-delay-mslong60000초기 게시 지연.
contexa.saas.prompt-context-audit
.enabledbooleanfalse프롬프트 컨텍스트 감사 전달 활성화.
.endpoint-pathString/api/saas/runtime/prompt-context-audits프롬프트 컨텍스트 감사 수집 경로.

HCAD 엔진 (contexa.hcad 접두사)

HcadProperties에 바인딩되는 고급 HCAD 엔진 튜닝 속성 전수입니다. 기본값이 대부분 환경에 적합하므로, 운영 베이스라인 검토 후에만 조정하세요.

속성타입기본값설명
contexa.hcad.enabledbooleantrueHCAD 엔진 마스터 토글.
contexa.hcad.filter-orderint100HCAD 가로채기 Servlet 필터 순서.
contexa.hcad.threshold
.basedouble0.7기본 이상치 임계값.
.mindouble0.3적응형 조정의 하한.
.maxdouble0.95적응형 조정의 상한.
.adjustment-ratedouble0.01단계별 임계값 조정률.
.sensitivitydouble1.0민감도 배율.
.warndouble0.7경고 수준 임계값.
contexa.hcad.cache
.max-sizeint100000메모리 분석 캐시 최대 엔트리 수.
.ttl-mslong300000캐시 엔트리 TTL (기본 5분).
.clear-on-startupbooleanfalse시작 시 캐시 비우기.
.local.ttl-minutesint10노드별 로컬 캐시 TTL.
contexa.hcad.analysis
.max-age-mslong3600000재사용 가능 분석의 최대 보관 기간 (기본 1시간).
contexa.hcad.baseline
.min-confidencedouble0.3베이스라인 수용 최소 신뢰도.
.update-alphadouble0.1베이스라인 업데이트용 지수 평활 계수.
.learning.alphadouble0.1온라인 학습 계수.
.learning.enabledbooleantrue베이스라인 온라인 학습 활성화.
.bootstrap.enabledbooleantrue초기 샘플 기반 부트스트랩 활성화.
.bootstrap.initial-samplesint10부트스트랩에 필요한 초기 샘플 수.
.bootstrap.max-anomaly-scoredouble0.85부트스트랩 단계에서 허용하는 이상치 점수 상한.
.statistical.enabledbooleantrue통계적 베이스라인 분기 활성화.
.statistical.min-samplesint20통계적 베이스라인 최소 샘플 수.
.statistical.update-intervalint10통계적 업데이트 사이 샘플 수.
.statistical.z-score-thresholddouble3.0Z-score 이상치 임계값.
.redis.ttl-daysint30Redis에 저장되는 베이스라인 TTL.
contexa.hcad.feedback
.learning-ratedouble0.1피드백 기반 학습률.
.retrain-thresholddouble0.7이 정확도 미만일 때 재학습을 트리거.
.window-sizeint1000슬라이딩 피드백 윈도우 크기.
.baseline.update-thresholddouble0.95베이스라인 업데이트 신뢰도 임계값.
contexa.hcad.orchestrator
.enabledbooleantrueHCAD 오케스트레이터 활성화.
.feedback-intervalint300피드백 집계 주기(초).
.sync-batch-sizeint50동기화 배치 크기.
.performance-trackingbooleantrue성능 추적 활성화.
contexa.hcad.vector
.embedding-dimensionint384벡터 임베딩 차원.
.cache-ttl-hoursint24벡터 캐시 TTL.
.max-cached-embeddingsint1000최대 캐시 임베딩 수.
.similarity-thresholddouble0.85벡터 유사도 임계값.
.scenario-detection-enabledbooleantrue벡터 유사도 기반 시나리오 감지 활성화.
contexa.hcad.session
.cookie-nameStringJSESSIONID상관관계 식별용 세션 쿠키명.
.header-nameStringX-Session-Id상관관계 식별용 세션 헤더명.
contexa.hcad.signal
.chi-square-thresholddouble14.07카이제곱 이상치 임계값.
.history-sizeint100신호 이력 버퍼 크기.
.covariance.min-samplesint30공분산 계산 최소 샘플 수.
.geoip.providerStringapiGeoIP 제공자 식별자.
.geoip.api-urlStringhttps://ipapi.co/{ip}/json/GeoIP 조회 URL 템플릿.
.timing.bucket-countint7타이밍 버킷 수.
.timing.interval.history-sizeint100타이밍 간격 이력 크기.
contexa.hcad.sampling
.random.floordouble0.01랜덤 샘플링 하한.
.random.ceilingdouble0.03랜덤 샘플링 상한.
.composite.identifier.enabledbooleantrue복합 식별자 샘플링 활성화.
contexa.hcad.adaptive
.adjustment-ratedouble0.1적응형 조정률.
.cusum.thresholddouble5.0CUSUM 드리프트 감지 임계값.
.cusum.slackdouble0.5CUSUM slack 값.
.baseline.windowint100적응형 베이스라인 윈도우 크기.
.min.trust.scoredouble0.7최소 신뢰도 점수 하한.
contexa.hcad.resource
.sensitive-patternsList<String>[]민감 리소스로 분류할 URL 패턴. 애플리케이션에서 채웁니다.
contexa.hcad.similarity
.hot-path-thresholddouble0.7HCAD 핫패스 빠른 결정용 유사도 임계값.
contexa.hcad.redis
.key-prefixStringhcad:baseline:v2:HCAD 베이스라인 데이터의 Redis 키 접두사.
contexa.hcad.geoip
.enabledbooleanfalse로컬 GeoIP 조회 활성화.
.db-pathStringdata/GeoLite2-City.mmdbMaxMind GeoLite2 데이터베이스 경로.
contexa.hcad.pre-trigger
.enabledbooleantrue프리트리거 빠른 경로 활성화.
.cooldown-secondsint15프리트리거 쿨다운 윈도우(초).
.in-flight-ttl-secondsint15진행 중 요청 TTL.
.negative-cache-secondsint3네거티브 캐시 보관 기간.
.redline-scoreint70레드라인(차단) 위험 점수.
.high-risk-scoreint50고위험 점수 임계값.
.medium-risk-scoreint30중위험 점수 임계값.
.low-baseline-confidence-thresholddouble0.35낮은 베이스라인 신뢰도 트리거 임계값.
.failed-login-burst-thresholdint3로그인 실패 버스트 카운트.
.request-burst-thresholdint12급증 요청 버스트 카운트.
.rapid-request-interval-mslong1000급증 요청 간격 윈도우(ms).
.sensitive-path-indicatorsList<String>[/admin/, /export, /download, /sensitive/, /critical/]민감도를 높이는 URL 경로 조각.

LLM 바인딩 (contexa.llm.bindings)

이름 기반 채팅·임베딩 제공자 바인딩. contexa.llm.selection.*과 함께 사용되어 요청별 활성 제공자를 결정합니다.

속성타입기본값설명
contexa.llm.bindings.chat.<name>
.bean-nameString""이 바인딩이 가리킬 Spring 빈 이름.
.providerString""제공자 식별자 (예: ollama, anthropic, openai).
.model-idString""Contexa에 노출되는 논리 모델 식별자.
.aliasesList<String>[]같은 바인딩으로 해석될 별칭 목록.
.enabledbooleantrue이 바인딩 활성화.
.primarybooleanfalseSpring @Primary 채팅 모델로 지정.
contexa.llm.bindings.embedding.<name>
.bean-nameString""이 임베딩 바인딩의 Spring 빈 이름.
.providerString""임베딩 제공자 식별자.
.model-idString""논리 임베딩 모델 식별자.
.aliasesList<String>[]별칭 목록.
.enabledbooleantrue이 바인딩 활성화.
.primarybooleanfalse@Primary 임베딩 모델로 지정.

Advisor 체인 (contexa.advisor)

속성타입기본값설명
contexa.advisor.chain-profileStringSTANDARDAdvisor 체인 프로파일 이름.
contexa.advisor.security.enabledbooleantrue보안 Advisor 등록 활성화.
contexa.advisor.security.orderint50체인 내 보안 Advisor 순서.
contexa.advisor.security.require-authenticationbooleanfalse보안 Advisor가 인증된 주체를 요구하는지 여부.
contexa.advisor.soar.approval.enabledbooleantrueSOAR 승인 Advisor 활성화.
contexa.advisor.soar.approval.orderint100SOAR 승인 Advisor 순서.
contexa.advisor.soar.approval.timeoutint300SOAR 승인 타임아웃(초).

스트리밍 (contexa.streaming)

속성타입기본값설명
contexa.streaming.final-response-markerString(프로토콜 상수)최종 응답 청크 마커.
contexa.streaming.streaming-markerString(프로토콜 상수)스트리밍 모드 마커.
contexa.streaming.json-start-markerString(프로토콜 상수)JSON 블록 시작 마커.
contexa.streaming.json-end-markerString(프로토콜 상수)JSON 블록 종료 마커.
contexa.streaming.timeoutDuration5분전체 스트리밍 타임아웃.
contexa.streaming.max-retriesint3스트리밍 실패 시 최대 재시도 횟수.
contexa.streaming.retry-delayDuration1초초기 재시도 지연.
contexa.streaming.retry-multiplierdouble1.5지수 백오프 배율.
contexa.streaming.marker-buffer-sizeint100마커 감지용 버퍼 크기.
contexa.streaming.sentence-buffering-enabledbooleantrue부분 문장 버퍼링 후 전달 활성화.

OpenTelemetry (contexa.opentelemetry)

속성타입기본값설명
contexa.opentelemetry.enabledbooleantrueOpenTelemetry exporter 활성화.
contexa.opentelemetry.service-nameStringcontexa-coreOTel 서비스 이름.
contexa.opentelemetry.exporter-endpointStringhttp://localhost:4317OTLP gRPC 엔드포인트.
contexa.opentelemetry.sampling-probabilitydouble1.0추적 샘플링 확률(0.0–1.0).

캐시 (contexa.cache)

속성타입기본값설명
contexa.cache.typeenumREDIS캐시 백엔드 타입: LOCAL, REDIS, HYBRID.
contexa.cache.local.max-sizeint1000로컬 캐시 최대 엔트리 수.
contexa.cache.local.default-ttl-secondsint60로컬 캐시 기본 TTL.
contexa.cache.redis.default-ttl-secondsint300Redis 캐시 기본 TTL.
contexa.cache.redis.key-prefixStringcontexa:cache:Redis 키 접두사.
contexa.cache.pubsub.enabledbooleantruePub/Sub 기반 캐시 무효화 활성화.
contexa.cache.pubsub.channelStringcontexa:cache:invalidation무효화 이벤트 Pub/Sub 채널.
contexa.cache.domains.<domain> — 도메인: users, roles, permissions, groups, policies, soar, hcad
.local-ttl-secondsint가변도메인별 로컬 TTL (users/roles/groups 3600–14400, permissions 28800, policies 30, soar 900, hcad 86400).
.redis-ttl-secondsint가변도메인별 Redis TTL (로컬과 동일, 단 policies=300).

브릿지 (contexa.bridge)

속성타입기본값설명
contexa.bridge.enabledbooleantrueSecurityContext 브릿지 활성화.
contexa.bridge.populate-security-contextbooleantrueSpring Security로부터 Contexa SecurityContext를 채웁니다.
contexa.bridge.authentication.prefer-security-contextbooleantrue인증 매핑 시 SecurityContext를 토큰 클레임보다 우선합니다.
contexa.bridge.authentication.security-context.enabledbooleantrueSecurityContext 쪽으로의 인증 브릿지 활성화.
contexa.bridge.authentication.security-context.display-name-keysList<String>[displayName, name, fullName, userName, username, preferred_username]표시 이름으로 해석할 클레임 키.
contexa.bridge.authentication.security-context.principal-type-keysList<String>[principalType, userType, actorType, token_use]주체 유형 클레임 키.
contexa.bridge.authentication.security-context.authentication-type-keysList<String>[authenticationType, authMethod, loginMethod, method, factorType]인증 유형 클레임 키.
contexa.bridge.authentication.security-context.authentication-assurance-keysList<String>[authenticationAssurance, authLevel, loa, acr]보증 수준 클레임 키.
contexa.bridge.authentication.security-context.mfa-keysList<String>[mfa, mfaVerified, mfaCompleted, secondFactorVerified, amr]MFA 플래그 클레임 키.
contexa.bridge.authentication.security-context.auth-time-keysList<String>[authenticationTime, authenticatedAt, loginTime, issuedAt, auth_time, iat]인증 시각 클레임 키.
contexa.bridge.authorization.security-context.enabledbooleantrue인가 브릿지 활성화.
contexa.bridge.authorization.security-context.authorization-effect-keysList<String>[authorizationEffect, effect, decision, decisionEffect]인가 effect 클레임 키.
contexa.bridge.authorization.security-context.privileged-keysList<String>[privileged, isPrivileged, privilegedFlow]권한 승격 플래그 클레임 키.
contexa.bridge.authorization.security-context.policy-id-keysList<String>[policyId, policy, decisionPolicy]정책 ID 클레임 키.
contexa.bridge.authorization.security-context.policy-version-keysList<String>[policyVersion, version]정책 버전 클레임 키.
contexa.bridge.authorization.security-context.scope-tag-keysList<String>[scopeTags, scopes, scope, permissionScopes, scp]스코프 태그 클레임 키.
contexa.bridge.authorization.security-context.role-keysList<String>[effectiveRoles, roles, roleSet, groups]역할 클레임 키.
contexa.bridge.authorization.security-context.authority-keysList<String>[effectiveAuthorities, authorities, permissions, grantedAuthorities, scope, scp]권한(authority) 클레임 키.
contexa.bridge.authorization.session.enabledbooleantrue세션에 인가 컨텍스트 저장.
contexa.bridge.delegation.session.enabledbooleantrue세션에 위임 컨텍스트 저장.
contexa.bridge.session.enabledbooleantrue세션 기반 브릿지 저장 활성화.
contexa.bridge.sync.enabledbooleantrue사용자 동기화 활성화.
contexa.bridge.sync.min-refresh-interval-secondslong60사용자 새로고침 최소 주기.
contexa.bridge.sync.synthetic-email-domainStringshadow.contexa.local섀도우 사용자용 합성 이메일 도메인.

Spring AI 계층 전략 (contexa.security.tiered)

Layer 1(빠른 경로)과 Layer 2(전문가 분석) 런타임 세부 튜닝입니다. TieredStrategyProperties에 바인딩됩니다.

속성타입기본값설명
contexa.security.tiered.layer1
.vector-search-limitint3Layer 1 벡터 검색 결과 개수.
.default-budget-profileStringCORTEX_L1_INTERACTIVE_STRICTLayer 1 기본 프롬프트 예산 프로파일.
.rag.similarity-thresholddouble0.5Layer 1 RAG 유사도 임계값.
.session.max-recent-actionsint100Layer 1 최근 행동 윈도우 크기.
.cache.max-sizeint1000Layer 1 캐시 크기.
.cache.ttl-minutesint30Layer 1 캐시 TTL.
.timeout.total-mslong5000Layer 1 전체 타임아웃.
.timeout.llm-mslong3200Layer 1 LLM 호출 타임아웃.
.timeout.rag-mslong900Layer 1 RAG 호출 타임아웃.
.prompt.max-similar-eventsint2Layer 1 프롬프트 내 유사 이벤트 최대 개수.
.prompt.max-rag-documentsint3Layer 1 프롬프트 내 RAG 문서 최대 개수.
.prompt.include-event-idbooleanfalse원본 이벤트 ID 포함 여부.
.prompt.include-raw-timestampbooleanfalse원본 타임스탬프 포함 여부.
.prompt.include-raw-session-idbooleanfalse원본 세션 ID 포함 여부.
.prompt.include-full-user-agentbooleanfalse전체 User-Agent 포함 여부.
contexa.security.tiered.layer2
.timeout-mslong7000Layer 2 전체 타임아웃.
.enable-soarbooleanfalseLayer 2에서 SOAR 에스컬레이션 활성화.
.rag-top-kint5Layer 2 RAG top-k.
.default-budget-profileStringCORTEX_L2_EXPERT_STRICTLayer 2 기본 프롬프트 예산 프로파일.
.rag.similarity-thresholddouble0.5Layer 2 RAG 유사도 임계값.
.cache.max-sizeint1000Layer 2 캐시 크기.
.cache.ttl-minutesint30Layer 2 캐시 TTL.
contexa.security.tiered.truncation
.layer1.user-agentint150Layer 1 User-Agent 자르기 길이.
.layer1.payloadint200Layer 1 페이로드 자르기 길이.
.layer1.rag-documentint180Layer 1 RAG 문서 자르기 길이.
.layer2.user-agentint150Layer 2 User-Agent 자르기 길이.
.layer2.payloadint1000Layer 2 페이로드 자르기 길이.
.layer2.rag-documentint500Layer 2 RAG 문서 자르기 길이.
contexa.security.tiered.vector-cache
.max-sizeint10000벡터 캐시 크기.
.expire-minutesint5벡터 캐시 만료 시간.
.enabledbooleantrue벡터 캐시 활성화.
.record-statsbooleantrue캐시 통계 기록.
contexa.security.tiered.security
.trusted-proxiesList<String>[]신뢰 리버스 프록시 CIDR 목록.
.trusted-proxy-validation-enabledbooleantrue신뢰 프록시 검증 활성화.
contexa.security.tiered.prompt-compression / .prompt-runtime
.prompt-compression.enabledbooleantrue프롬프트 압축 활성화.
.prompt-runtime.native-structured-output-enabledbooleantrue네이티브 구조화 출력 활성화.
.prompt-runtime.native-structured-output-disabled-profilesList<String>[]네이티브 구조화 출력을 비활성화할 프로파일 목록.
.prompt-runtime.telemetry-enabledbooleantrue프롬프트 런타임 텔레메트리 활성화.

Spring AI 태스크 매핑 (contexa.security.mapping)

속성타입기본값설명
contexa.security.mapping.task-to-tierMap<String, Integer>{}태스크별 계층 오버라이드.
contexa.security.mapping.task-to-analysis-levelMap<String, String>{}태스크별 분석 수준 오버라이드.
contexa.security.mapping.task-configsMap<String, Object>{}태스크별 구성 오버라이드.
contexa.security.mapping.defaults.tier1-tasksString[][THREAT_FILTERING, QUICK_DETECTION]기본 Tier 1 태스크 목록.
contexa.security.mapping.defaults.tier2-tasksString[][CONTEXTUAL_ANALYSIS, BEHAVIOR_ANALYSIS, CORRELATION]기본 Tier 2 태스크 목록.
contexa.security.mapping.defaults.tier3-tasksString[][EXPERT_INVESTIGATION, INCIDENT_RESPONSE, FORENSIC_ANALYSIS, SOAR_AUTOMATION, APPROVAL_WORKFLOW]기본 Tier 3 태스크 목록.
contexa.security.mapping.defaults.default-tierInteger2기본 Tier(폴백).
contexa.security.mapping.defaults.default-analysis-levelStringNORMAL기본 분석 수준(폴백).

보안 이벤트·라우터·Redis·Kafka·세션·파이프라인·Plane·ColdPath·StepUp

추가 런타임 수준 튜닝 영역입니다. 기본값이 운영 환경에 적합하므로 지침이 있을 때만 조정하세요.

속성타입기본값설명
contexa.security.coldpath (SecurityColdPathProperties)
.confidence.layer1-basedouble0.5Layer 1 콜드패스 기본 신뢰도.
.confidence.layer2-basedouble0.7Layer 2 콜드패스 기본 신뢰도.
contexa.security.event (SecurityEventProperties)
.publishing.enabledbooleantrue보안 이벤트 게시 활성화.
.publishing.exclude-urisString/actuator,/health,/metrics게시 제외 URI.
.publishing.anonymous.enabledbooleantrue익명 이벤트 게시.
.executor.core-pool-sizeint코어×2게시자 실행자 코어 크기.
.executor.max-pool-sizeint코어×4게시자 실행자 최대 크기.
.executor.queue-capacityint10000게시자 큐 용량.
.tier.critical.max-latency-msint100Critical 계층 지연 예산.
.tier.contextual.max-latency-msint1000Contextual 계층 지연 예산.
.tier.general.max-latency-msint10000General 계층 지연 예산.
.tier.general.sampling-ratedouble0.1General 계층 샘플링 비율.
.deduplication.enabledbooleantrue이벤트 중복 제거 활성화.
.deduplication.window-minutesint5중복 제거 윈도우.
.deduplication.cache-sizeint10000중복 제거 캐시 크기.
contexa.security.router (SecurityRouterProperties)
.threshold.soardouble0.9SOAR 에스컬레이션 임계값.
.threshold.blockdouble0.8차단 조치 임계값.
.threshold.analysis-confidencedouble0.6분석 신뢰도 임계값.
.threshold.pass-throughdouble0.6통과 임계값.
contexa.security.session (SecuritySessionProperties)
.create.allowedbooleantrue세션 생성 허용.
.header.nameStringX-Auth-Token세션 토큰 헤더.
.bearer.enabledbooleantrueBearer 토큰 수락.
.hijack.channelStringsecurity:session:hijack:event세션 하이재킹 이벤트 채널.
.hijack.detection.enabledbooleantrue세션 하이재킹 감지 활성화.
.cookie.nameStringSESSION세션 쿠키 이름.
.threat.ip-change-riskdouble0.4IP 변경에 대한 위험 점수.
.threat.ua-change-riskdouble0.3UA 변경에 대한 위험 점수.
.threat.rapid-access-threshold-msint100급속 접근 임계값.
.threat.rapid-access-riskdouble0.2급속 접근 위험 점수.
.threat.thresholds.monitoringdouble0.5모니터링 임계값.
.threat.thresholds.grace-perioddouble0.7유예 기간 임계값.
.threat.thresholds.invalidationdouble0.9무효화 임계값.
security.redis (SecurityRedisProperties)
.channel.authorizationStringsecurity:authorization:events인가 이벤트 채널.
.channel.authenticationStringsecurity:events인증 이벤트 채널.
.channel.incidentStringsecurity:incidents인시던트 이벤트 채널.
.channel.threatStringsecurity:threats위협 이벤트 채널.
.channel.auditStringsecurity:audit:events감사 이벤트 채널.
.channel.generalStringsecurity:events일반 이벤트 채널.
.stream.authorization / .incident / .threat / .audit / .general / .authenticationStringsecurity:stream:*도메인별 Redis Streams 이름.
.stream.maxlenint10000Redis Stream 최대 길이.
.ttl.minutesint60보안 Redis 키 TTL.
.memory.max-mbint1024보안 Redis 메모리 예산.
.memory.warning-thresholddouble0.8메모리 경고 임계값.
.memory.critical-thresholddouble0.9메모리 치명 임계값.
security.kafka (SecurityKafkaProperties)
.topic.authorizationStringsecurity-authorization-events인가 토픽.
.topic.authenticationStringauth-events인증 토픽.
.topic.incidentStringsecurity-incident-events인시던트 토픽.
.topic.threatStringthreat-indicators위협 토픽.
.topic.auditStringsecurity-audit-events감사 토픽.
.topic.generalStringsecurity-events일반 토픽.
.topic.dlqStringsecurity-events-dlqDLQ 토픽.
.topic.soar-actionStringsoar-action-eventsSOAR 액션 토픽.
.dlq.max-retriesint3DLQ 최대 재시도.
.dlq.retry-delay-msint5000DLQ 재시도 지연.
.dlq.alert-thresholdint10DLQ 경보 임계값.
contexa.security.pipeline (SecurityPipelineProperties)
.kafka.topicStringsecurity-events기본 파이프라인 Kafka 토픽.
contexa.security.plane (SecurityPlaneProperties)
.agent.nameStringSecurityPlaneAgent-1Plane 에이전트 식별자.
.agent.auto-startbooleantruePlane 에이전트 자동 시작.
.agent.organization-idStringdefault-org에이전트 조직 ID.
.agent.execution-modeStringASYNC에이전트 실행 모드.
.agent.auto-approve-low-riskbooleanfalse저위험 액션 자동 승인.
.agent.event-timeout-mslong30000에이전트 이벤트 처리 타임아웃.
.agent.max-deferred-retriesint3연기 재시도 최대 횟수.
.kafka.bootstrap-serversStringlocalhost:9092Kafka 부트스트랩 서버.
.kafka.group-idStringsecurity-plane-consumerKafka 컨슈머 그룹.
.kafka.topics.security-events / .threat-indicators / .network-events / .auth-eventsString(각각 기본값)Plane Kafka 토픽 이름.
.monitor.queue-sizeint10000모니터 큐 크기.
.monitor.batch-sizeint8모니터 배치 크기.
.monitor.flush-interval-mslong500모니터 플러시 주기.
.monitor.correlation-window-minutesint10모니터 상관관계 윈도우.
.monitor.dedup-window-minutesint5모니터 중복 제거 윈도우.
.notifier.batch-sizeint10알림자 배치 크기.
.notifier.async-enabledbooleantrue알림자 비동기 모드.
.notifier.critical-thresholddouble0.8알림자 치명 임계값.
.redis.batch-sizeint50Plane Redis 배치 크기.
.redis.cache.ttl-minutesint60Plane Redis 캐시 TTL.
.redis.channel.security-eventsStringsecurity:eventsPlane Redis 보안 이벤트 채널.
.redis.channel.threat-alertsStringsecurity:threatsPlane Redis 위협 경보 채널.
.llm-executor.core-pool-sizeint2LLM 실행자 코어 크기.
.llm-executor.max-pool-sizeint2LLM 실행자 최대 크기.
.llm-executor.queue-capacityint50LLM 실행자 큐 용량.
.deduplication.enabledbooleantruePlane 중복 제거 활성화.
.deduplication.window-minutesint5중복 제거 윈도우.
.deduplication.cache-sizeint10000중복 제거 캐시 크기.
contexa.security.stepup (SecurityStepUpProperties)
.max-attemptsint3스텝업 최대 시도 횟수.
.lockout-durationint300잠금 지속 시간(초).
contexa.iam.admin / contexa.policy
contexa.iam.admin.rest-docs-pathString/docs/index.htmlIAM 어드민 REST 문서 경로.
contexa.policy.combining-algorithmenumFIRST_APPLICABLEXACML 정책 조합 알고리즘.