04 설정

필요에 맞게 커스터마이즈

vexlit.config.js를 생성하여 규칙 비활성화, 심각도 재정의 또는 경로 무시를 설정하세요.

vexlit.config.js
export default {
  languages: ["javascript", "typescript", "python"],
  ignore: ["vendor/", "generated/"],
  rules: {
    "VEXLIT-019": false,           // Disable a rule
    "VEXLIT-004": { severity: "critical" }, // Override severity
  },
};

기본 무시 경로

node_modules, .git, dist, build, .next, __pycache__, .venv, coverage

07 설정 가이드

프로젝트별 설정

일반적인 프로젝트 유형별 권장 설정입니다.

모노레포

Nx, Turborepo, Lerna 모노레포는 루트에서 스캔합니다. VEXLIT이 패키지별 언어 경계를 자동 감지합니다.

# 전체 모노레포 스캔
vexlit scan .

# 특정 패키지 스캔
vexlit scan packages/api

# CI에서 diff 스캔 (권장)
vexlit scan --diff --fail-on medium

Next.js / React

VEXLIT이 JSX/TSX를 자동 감지합니다. 사용자 입력이 민감한 작업으로 흘러가는 API 라우트와 서버 컴포넌트에 집중합니다.

# app 디렉토리 스캔
vexlit scan src/app

# API 라우트 + 컴포넌트 포함
vexlit scan src/ --fail-on critical

Django / Flask (Python)

Python 프로젝트는 SQL 인젝션, SSTI, SSRF, 안전하지 않은 역직렬화를 검사합니다. 가상환경 디렉토리는 자동 무시됩니다.

# Django 프로젝트 스캔
vexlit scan myproject/

# migrations 제외
vexlit scan . --ignore 'migrations/'

Spring Boot (Java)

Java/Kotlin 프로젝트는 완전한 taint 분석을 받습니다. VEXLIT이 컨트롤러, 서비스, 리포지토리를 통해 사용자 입력을 추적합니다.

# Java 소스 스캔
vexlit scan src/main/java

# Kotlin 소스 포함
vexlit scan src/main --fail-on high