의존성 취약점 스캐너

package.json, package-lock.json 또는 pnpm-lock.yaml을 붙여넣기만 하면 됩니다. 각 npm 패키지를 OSV.dev(Google이 운영하는 오픈 취약점 데이터베이스)와 대조하여, 알려진 CVE와 심각도, 수정 버전을 함께 보여줍니다.

모든 분석은 브라우저 내에서 이루어집니다. 붙여넣은 의존성 목록은 이 사이트의 서버를 전혀 거치지 않고, 사용자의 브라우저에서 OSV.dev로 직접 전송됩니다(CORS). 이 사이트는 저장·기록·중계하지 않습니다.

도구 사용하기

전송
이 사이트로는 보내지 않음
저장
이 사이트는 저장하지 않음
외부 API
OSV.dev로 패키지 이름과 버전
대상
공개(npm) 패키지 조회만
자세한 처리 방식
  • 검사를 실행할 때만, 붙여 넣은 목록에서 추출한 npm 패키지 이름과 버전을 브라우저에서 OSV.dev(api.osv.dev)로 직접 보냅니다. 이 사이트의 서버를 거치지 않습니다.
  • OSV.dev에는 그 패키지 정보와 접속 IP 주소가 전달되며, OSV.dev의 정책에 따라 처리됩니다.
  • 외부에 알리고 싶지 않은 내부 전용 패키지 이름이 포함된 목록은 붙여 넣지 마세요.
  • 페이지 표시 자체는 접근 로그(IP 주소, 일시, 사용자 에이전트 등)에 기록됩니다. 도구 화면에서는 광고와 접속 분석을 불러오지 않습니다. 개인정보 처리방침

의존성 파일을 붙여넣고 ‘스캔’을 누르면 여기에 결과가 표시됩니다. 처음이신가요? 위의 ‘예제 사용해 보기’를 누르세요.

사용 방법

  1. 1

    프로젝트의 package.json, 또는 package-lock.json / pnpm-lock.yaml의 내용을 붙여넣습니다.

  2. 2

    ‘스캔’을 누르면 각 패키지를 OSV.dev와 대조합니다(lockfile이면 실제로 고정된 버전을, package.json이면 선언된 범위에서 추정합니다).

  3. 3

    각 권고문의 상태와 근거를 확인하세요. 철회, 정보 부족 또는 불일치만으로 영향이나 업데이트 필요성을 확정할 수 없습니다. 원문을 확인하고 아래 AI 프롬프트로 확인 사항을 정리하세요.

왜 중요한가

의존성은 직접 작성하지 않았지만 책임은 자신에게 있는 코드입니다. Log4Shell도 XZ도 모두 단 하나의 의존성을 통해 들어왔습니다. OSV.dev는 GitHub Advisory와 각 생태계의 권고를 모은 오픈 취약점 데이터베이스로, npm 패키지 이름과 버전으로 알려진 CVE를 조회할 수 있습니다. 정확도는 입력에 따라 결정됩니다 — lockfile(실제 설치 버전이 고정됨)이 가장 정확하고, package.json은 선언된 범위에서 추정하는 것입니다. 이 도구는 ‘지금 이 순간의 일회성 점검’을 위한 것입니다. 지속적인 방어는 CI에 자동 의존성 감사(GitHub Dependabot / `pnpm audit` / osv-scanner)를 통합하는 것입니다. 이 사이트 자체도 모든 배포 전에 의존성 감사를 실행하여 알려진 권고를 항상 0으로 유지합니다.

자주 묻는 질문

Q붙여넣은 의존성 목록은 어딘가로 전송되나요?
A

이 사이트로는 전송되지 않습니다. 분석은 브라우저 내에서 이루어지며, 대조는 사용자의 브라우저에서 OSV.dev(api.osv.dev)로 HTTPS를 통해 직접 수행됩니다. 이 사이트는 저장·기록·중계를 일절 하지 않습니다.

Qpackage.json과 lockfile 중 어느 것을 붙여넣어야 하나요?
A

정확도를 원한다면 lockfile(package-lock.json 또는 pnpm-lock.yaml)을 사용하세요. 전이 의존성을 포함한 실제 설치 버전을 반영하기 때문입니다. package.json은 선언된 범위(^1.2.3 등)에서 추정하는 것이므로 간단한 참고용으로 유용합니다.

Q취약점이 0으로 나오면 안전한가요?
A

아니요. 아직 OSV에 등록되지 않은 취약점, 설정 오류, 직접 작성한 코드의 결함은 탐지할 수 없습니다. 이는 알려진 CVE에 대한 일차 점검입니다. 지속적인 보호는 CI의 자동 감사(Dependabot / pnpm audit / osv-scanner)에서 나옵니다.

Q어떤 형식을 지원하나요?
A

현재는 npm 생태계(package.json / package-lock.json / pnpm-lock.yaml)를 지원합니다. yarn.lock과 기타 생태계(PyPI, Go 등)는 아직 지원하지 않습니다 — OSV.dev 자체는 다중 생태계를 지원하므로 향후 확장 후보입니다.