소프트웨어 구성 분석 (SCA)

의존성을 파악하고 취약한 것을 수정합니다.

코드는 의존성만큼만 안전합니다. VEXLIT은 12개 패키지 생태계 - npm, yarn, pnpm, pip, Go, Cargo, Maven, Gradle, NuGet, Ruby, PHP, Swift, Dart - 에서 알려진 취약 패키지를 스캔하고 최소한의 호환성 문제로 업그레이드 경로를 제안합니다.

대부분의 취약점은 의존성에서 옵니다

오픈소스 라이브러리는 여러분이 작성하지 않은 수백만 줄의 코드를 포함합니다. 하나의 취약한 의존성이 전체 애플리케이션을 노출시킬 수 있습니다.

84%

의존성에 알려진 취약점이 있는 코드베이스

12

지원 패키지 생태계

5초 미만

전체 의존성 스캔 시간

CLI 스캔 명령

CLI 스캔 명령
$ npx @vexlit/cli scan . --sca

Scanning dependencies...

  CRITICAL  [email protected]
    CVE-2021-23337 - Command Injection
    Fix: upgrade to >= 4.17.21

  HIGH  [email protected]
    CVE-2024-29041 - Open Redirect
    Fix: upgrade to >= 4.19.2
의존성 보고서
Dependencies analyzed: 847
Direct: 42 | Transitive: 805

Vulnerabilities found:
  Critical: 1 | High: 3 | Medium: 7 | Low: 12

License issues:
  GPL-3.0: 2 packages
  AGPL-3.0: 1 package
작동 방식
1

Lock 파일 파싱

VEXLIT이 package-lock.json, yarn.lock, go.sum, Cargo.lock 등 lock 파일을 읽어 완전한 의존성 그래프를 구축합니다.

2

취약점 DB 조회

모든 패키지와 버전을 OSV, GitHub Advisory(GHSA), NVD 데이터베이스에서 병렬로 확인하여 포괄적인 커버리지를 제공합니다.

3

업그레이드 경로 제안

각 취약점을 수정하는 정확한 최소 버전을 제공합니다. VEXLIT은 호환성 문제를 최소화하기 위해 semver 호환성을 고려합니다.

4

PR 연동

SCA 결과가 풀 리퀘스트 리뷰에서 SAST 발견사항과 함께 표시됩니다. Lock 파일 변경 시 자동으로 의존성 분석이 트리거됩니다.

지원 생태계

VEXLIT은 12개 패키지 생태계와 모든 주요 언어의 의존성을 분석합니다.

NP

npm

YN

Yarn

PN

pnpm

PI

pip

MV

Maven

GR

Gradle

CR

Cargo

GO

Go

NU

NuGet

RB

Bundler

CP

Composer

SW

Swift PM

핵심 이점

멀티 생태계 분석

12개 생태계의 lock 파일과 매니페스트 심층 파싱 - npm, pip, Go modules, Cargo, Maven, Gradle, NuGet, Gemfile, Composer 등. 모든 전이적 의존성을 OSV, GitHub Advisory, NVD 데이터베이스에서 확인합니다.

업그레이드 경로 제안

취약한 패키지를 찾는 것에 그치지 않고 정확한 업그레이드 명령어를 제공합니다. 취약점을 수정하는 최소 버전 업그레이드를 제안합니다.

PR 연동

SCA 결과가 PR 리뷰에서 SAST 발견사항과 함께 표시됩니다. lock 파일이 변경될 때 의존성 취약점이 플래그됩니다.

전이적 의존성 추적

깊이 중첩된 의존성의 취약점이 전체 의존성 체인과 함께 표시됩니다 - 어떤 패키지를 업데이트해야 하는지 정확히 알 수 있습니다.

라이선스 컴플라이언스

의존성 트리에서 GPL, AGPL 등 카피레프트 라이선스를 탐지합니다. 프로덕션에 도달하기 전에 라이선스 충돌을 잡아 법적 위험을 방지합니다.

멀티 데이터베이스 조회

모든 패키지를 OSV, GitHub Advisory, NVD 데이터베이스에서 동시에 확인합니다. 교차 참조로 알려진 취약점을 놓치지 않습니다.

모든 스캐너가 오탐으로 넘치거나 실제 취약점을 놓쳐서 VEXLIT을 만들었습니다. 단순한 정규식 매칭이 아니라 실제로 데이터 흐름을 추적하는 도구를 원했습니다. 그래서 taint 분석 엔진을 만들고, 업계 벤치마크로 검증한 뒤, CLI를 무료로 공개했습니다.

J

Jihoon

VEXLIT 개발자

VEXLIT의 코드베이스를 VEXLIT으로 스캔합니다. 모든 커밋이 여러분과 동일한 엔진을 통과합니다.

98.2%

탐지율 (TPR)

2% 미만

오탐율 (FPR)

6,200+

보안 규칙

34

지원 언어

독립 검증 완료

OWASP Benchmark (2,740건) & Juliet Test Suite (6,864건) 검증 완료

WebGoat, NodeGoat 등 실제 오픈소스 프로젝트에서도 검증 완료.

취약한 의존성 탐지

VEXLIT이 lockfile을 스캔하여 알려진 CVE가 있는 패키지를 프로덕션 배포 전에 알려줍니다.

Beforepackage.json - 취약한 의존성
{
  "dependencies": {
    "lodash": "4.17.20",
    "express": "4.17.1",
    "jsonwebtoken": "8.5.1",
    "axios": "0.21.1"
  }
}
HIGHCVE-2021-23337: Prototype PollutionAuto Fix1.2초 만에 자동 수정
After자동 수정 - 패치된 버전
{
  "dependencies": {
    "lodash": "4.17.21",
    "express": "4.21.0",
    "jsonwebtoken": "9.0.2",
    "axios": "1.7.4"
  }
}

[email protected]에 알려진 프로토타입 오염 취약점이 있습니다. 4.17.21 이상으로 업그레이드하세요.

12개 지원 생태계 전체

npm (package-lock.json)

Yarn (yarn.lock)

pnpm (pnpm-lock.yaml)

pip (requirements.txt, Pipfile.lock)

Go Modules (go.sum)

Cargo (Cargo.lock)

Maven (pom.xml)

Gradle (build.gradle)

NuGet (packages.config, *.csproj)

Bundler (Gemfile.lock)

Composer (composer.lock)

Dart/Flutter (pubspec.lock)

openSourceSecurity.ecosystem13

openSourceSecurity.ecosystem14

openSourceSecurity.ecosystem15

openSourceSecurity.ecosystem16

openSourceSecurity.ecosystem17

자주 묻는 질문

VEXLIT은 모든 주요 lock 파일 형식을 지원합니다: package-lock.json(npm), yarn.lock, pnpm-lock.yaml, go.sum, Cargo.lock, Gemfile.lock, composer.lock, Pipfile.lock 등 총 12개 생태계.

VEXLIT은 lock 파일에서 전체 의존성 그래프를 구축하여 모든 전이적 의존성을 추적합니다. 중첩된 패키지가 취약하면 직접 의존성부터 영향받는 패키지까지 전체 체인을 보여줍니다.

세 가지 데이터베이스를 병렬로 조회합니다: OSV(기본, 오픈소스), GitHub Advisory Database(GHSA), 국가 취약점 데이터베이스(NVD). 결과는 advisory ID로 중복 제거됩니다.

네. VEXLIT은 라이선스를 Strong Copyleft(GPL/AGPL), Weak Copyleft(LGPL/MPL), Permissive(MIT/Apache/BSD)로 분류합니다. 의존성 트리의 카피레프트 라이선스가 검토를 위해 플래그됩니다.

대부분의 프로젝트에서 5초 이내입니다. VEXLIT은 lock 파일을 로컬에서 파싱하고 취약점 데이터베이스를 병렬로 조회하여 1000개 이상의 의존성이 있는 프로젝트도 빠르게 스캔합니다.

시작할 준비가 되셨나요?

지금 코드 보안을 시작하세요 - 무료로 사용 가능, 몇 초 만에 준비 완료.