08 FAQ

자주 묻는 질문

VEXLIT CLI와 스캔에 대한 일반적인 질문입니다.

대부분의 프로젝트가 10초 이내에 스캔됩니다. 1000개 파일 프로젝트는 보통 3-5초 내에 완료됩니다. Diff 스캔(--diff 플래그)은 변경된 파일만 분석하므로 더 빠릅니다.

VEXLIT은 34개 언어를 지원합니다: JavaScript, TypeScript, Python, Java, Go, C#, PHP, Ruby, Rust, Kotlin, Swift, Scala, C, C++, Dart, Lua, Perl, Bash 등. 추가로 6개 IaC 형식: Terraform, Dockerfile, Kubernetes, TOML, HCL, CloudFormation.

네. CLI는 완전히 로컬에서 실행됩니다 - SAST와 민감정보 탐지에는 인터넷 연결이 필요 없습니다. SCA(의존성 스캔)는 취약점 데이터베이스 조회를 위해 인터넷이 필요합니다. AI 기능은 API 키가 필요합니다.

'vexlit scan . --sarif > results.sarif'로 SARIF를 생성한 후, 워크플로우에서 github/codeql-action/upload-sarif@v3 액션을 사용하세요. 결과가 저장소의 Security 탭에 표시됩니다.

세 가지 방법이 있습니다: (1) 해당 라인 위에 '// vexlit-ignore-next-line RULE-ID' 추가, (2) vexlit.config.js에서 'RULE-ID: false'로 규칙 전역 비활성화, (3) 대시보드의 예외 관리를 통해 발견사항 억제.

09 문제 해결

일반적인 문제와 해결 방법

가장 자주 발생하는 문제에 대한 해결 방법입니다.

오류: '@vexlit/cli' 모듈을 찾을 수 없음

보통 Node.js 18 미만 버전에서 발생합니다. VEXLIT은 Node.js 18 이상이 필요합니다. 'node --version'으로 확인하고 필요시 업그레이드하세요.

대규모 프로젝트에서 스캔이 느림

'--diff' 플래그를 사용하여 변경된 파일만 스캔하세요. 전체 스캔의 경우 node_modules와 빌드 디렉토리가 .gitignore에 있는지 확인하세요(자동 무시됨). vexlit.config.js에서 커스텀 무시 경로를 추가할 수도 있습니다.

매우 큰 코드베이스에서 메모리 부족

Node.js 메모리를 늘리세요: 'NODE_OPTIONS=--max-old-space-size=4096 vexlit scan .' 10,000개 이상의 파일이 있는 프로젝트는 디렉토리별로 나눠 스캔하는 것을 고려하세요.

GitHub Actions에서 SARIF 업로드 실패

워크플로우에 'permissions: security-events: write'와 'contents: read'가 있는지 확인하세요. SARIF 파일이 존재해야 합니다 - 업로드 스텝에 'if: always()'를 사용하여 스캔에서 critical 이슈가 발견되어도 실행되게 하세요.

테스트 파일에서 오탐 발생

테스트 디렉토리를 무시 목록에 추가하세요: vexlit.config.js에 ignore: ['__tests__/', 'test/', '*.test.ts', '*.spec.js']를 설정합니다. 테스트 파일에는 의도적으로 취약한 패턴이 포함되는 경우가 많습니다.

더 자세히 알고 싶으신가요?

실제 코드 예제와 예방 전략으로 일반적인 취약점을 심층 학습하세요.