SCA

소프트웨어 구성 분석

VEXLIT은 의존성 파일을 스캔하여 알려진 취약점이 있는 패키지를 찾고, 전이 의존성을 분석하며, 12개 패키지 생태계의 라이선스 준수 문제를 감지합니다.

12

패키지 생태계

3

취약점 데이터베이스

9

전이 분석 지원

지원 생태계

VEXLIT은 모든 주요 패키지 매니저의 잠금 파일과 매니페스트를 파싱합니다.

Node.js

npm (package-lock.json), yarn (yarn.lock), pnpm (pnpm-lock.yaml)

Python

pip (requirements.txt), Pipfile (Pipfile.lock)

Go

go.mod, go.sum

Rust

Cargo.toml, Cargo.lock

Java

Maven (pom.xml), Gradle (build.gradle)

.NET

NuGet (packages.config, .csproj)

Ruby

Bundler (Gemfile, Gemfile.lock)

PHP

Composer (composer.json, composer.lock)

Swift

SwiftPM (Package.resolved)

Dart

pub (pubspec.yaml, pubspec.lock)

멀티 데이터베이스 취약점 조회

VEXLIT은 최대 커버리지를 위해 3개 취약점 데이터베이스를 병렬 조회하고, 어드바이저리 ID로 중복을 제거합니다.

OSV (Open Source Vulnerabilities)

기본 데이터베이스. 모든 생태계를 위한 오픈, 커뮤니티 유지 취약점 데이터.

GitHub Advisory Database (GHSA)

GitHub의 큐레이션된 보안 어드바이저리. CVE 및 생태계별 ID와 상호 참조.

NVD (National Vulnerability Database)

NIST의 포괄적인 CVE 데이터베이스. CVSS 점수 및 상세 분석 포함.

데이터베이스 중 하나가 일시적으로 사용 불가할 경우, 실패 대신 나머지 데이터베이스의 결과를 반환합니다.

전이 의존성 분석

직접 의존성만이 위험한 것은 아닙니다. VEXLIT은 전체 의존성 트리를 통해 취약점을 추적합니다.

매니페스트(package.json)와 잠금 파일(package-lock.json)을 상호 참조하여 어떤 직접 의존성이 취약한 전이 패키지를 가져왔는지 식별합니다. 9개 생태계 조합을 지원합니다.

Dependency Tree
your-app
  -> [email protected]
    -> [email protected]          (CVE-2022-24999)
    -> [email protected]
      -> [email protected]     (알려진 CVE 없음)

라이선스 준수 탐지

모든 의존성은 SPDX 라이선스 카테고리에 대해 검사됩니다.

강한 카피레프트

GPL, AGPL, SSPL, EUPL - 동일한 라이선스로 소스 코드를 공개해야 합니다.

약한 카피레프트

LGPL, MPL, EPL, Artistic, CC-BY-SA - 라이브러리 수정 부분에만 카피레프트가 적용됩니다.

허용적

MIT, Apache 2.0, BSD, ISC, Zlib, 0BSD, Unlicense - 사용에 대한 제한이 최소화됩니다.

의존성 그래프

npm 프로젝트의 경우 VEXLIT은 lockfile v1/v2/v3 형식을 파싱하여 완전한 의존성 그래프를 추출하고, 각 취약 패키지가 직접 의존성과 어떻게 연결되는지 보여줍니다.

의존성 자동 수정

'vexlit fix --sca'를 실행하여 npm audit fix를 사용해 취약 패키지를 가장 가까운 안전 버전으로 자동 업그레이드합니다.

$ vexlit fix --sca'vexlit fix --sca'를 실행하여 npm audit fix를 사용해 취약 패키지를 가장 가까운 안전 버전으로 자동 업그레이드합니다.

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