Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
VulnReach — 런타임 인식 SCA — 설치된 것뿐만 아니라 실제로 도달 가능한 CVE를 증명합니다. | Kitploit
도구/GitHubGitHub/owasp/vulnreach
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Vulnerability AnalysisCode AnalysisWeb SecurityDevSecOpsSupply Chain Security
GitHubowasp/vulnreach

VulnReach

런타임 인식 SCA — 설치된 것뿐만 아니라 실제로 도달 가능한 CVE를 증명합니다.

저장소 보기
811일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

VulnReach

런타임 인식 SCA — 설치된 것뿐만 아니라 실제로 도달 가능한 CVE를 입증합니다.

OWASP Project License Python

VulnReach는 이제 공식 OWASP 프로젝트입니다. 🎉

데모

VulnReach 데모

1단계 — SCA가 종속성 전반에서 74개의 CVE를 표시합니다

Trivy SCA 출력 — 74개 취약점 감지됨

2단계 — VulnReach가 실제로 도달 가능한 항목을 증명합니다

수정 계획 — 업그레이드 대상이 있는 7개 패키지, 확인된 도달 가능 CVE 50건


탐지 결과 — CVE별 증거 체인

전체 증거 체인이 포함된 동적으로 도달 가능한 탐지 결과

대시보드 — 9개 저장소에서 확인된 도달 가능 42건

VulnReach 대시보드

언어 지원: Python은 완전히 프로덕션 준비가 완료되었습니다(taint, AST, route, runtime). Java와 JavaScript는 함수 호출 그래프 분석을 지원하며 실험 단계입니다. Go, C#, PHP는 로드맵에 있습니다. 자세한 내용은 ROADMAP.md를 참조하세요.

VulnReach는 표준 SCA 출력을 기반으로 도달 가능성 컨텍스트를 추가하여, 정적 분석, taint 추적, 실시간 런타임 커버리지를 통해 감지된 CVE 중 실제로 애플리케이션에서 도달할 수 있는 항목을 입증합니다.


프로젝트 상태

최신 개발 사항(출시 완료)

  • 종속성 인식 병렬 실행기 파이프라인으로 더 빠른 스캔
  • Python 도달 가능성 — 프로덕션 준비 완료(taint, AST, route, runtime 레이어 모두 기능)
  • Java 도달 가능성 — Maven/Gradle 종속성 파싱을 지원하는 함수 호출 그래프(실험 단계)
  • JavaScript 도달 가능성 — route 진입점 탐지를 지원하는 함수 호출 그래프(실험 단계)
  • 스캔 취소 — POST /scan/{id}/cancel로 진행 중인 스캔 중지
  • 안정적인 스캔 응답 계약: GET /scan/{id}에서 summary + 분류된 버킷
  • API와 패키지 로컬 모드 간 공유 스캔 응답 정규화(패리티)
  • 보안 기본값 런타임 경계:
    • 기본 compose는 Docker 소켓 마운트 없이 실행
    • 동적 스캔은 VULNREACH_ALLOW_DOCKER_DAEMON=true를 통한 명시적 옵트인 필요
    • 런타임 프로필은 제한된 docker-socket-proxy 사용
  • CI에서 Java/JavaScript/Go에 대한 결정적 픽스처 품질 게이트
  • 공식 OWASP 프로젝트로 승인됨 — owasp.community/projects/vulnreach
  • AI 다음 단계 엔드포인트 — POST /findings/{id}/next-steps는 결정적 결과에 대해 분석가를 위한 수정 지침(즉시 조치, 검증 프로브, 업그레이드 경로, 모니터링)을 생성합니다. 지연/온디맨드 방식: 스캔은 LLM을 호출하지 않으며, LLM 실패는 정상적으로 저하됩니다. 결정적 판정은 읽기 전용입니다. docs/api.md 참조.

실험 단계

  • scan.runtime.ebpf 추적 모드(Linux 중심, 명시적 옵트인)
  • AI 지원 OpenAPI 생성 및 지능형 DAST 흐름

참조:

  • docs/incubator-readiness.md
  • docs/threat-model.md

작동 방식

각 CVE는 5계층 증거 체인을 통해 분류됩니다.

root@kitploit:~
1. SCA (Trivy)              → is the package installed and vulnerable?
2. Taint analysis (tainter) → does user input flow to the vulnerable sink?
3. AST analysis             → is the vulnerable function in your call graph?
4. Route exposure           → is the call path reachable from an HTTP endpoint?
5. Runtime coverage         → was the vulnerable code actually executed?

결과는 네 가지 등급으로 구성된 우선순위 탐지 결과 목록입니다.

등급의미
DYNAMICALLY_REACHABLE런타임 커버리지가 실행을 확인함 — 즉시 수정
STATICALLY_REACHABLEAST/taint를 통해 코드 경로가 입증됨 — 높은 우선순위

빠른 시작

Docker Compose 사용(권장)

보안 공지 — 시작하기 전에 .env.example을 .env.local로 복사하고
모든 CHANGE_ME 값을 강력한 무작위 비밀로 교체하세요.
실제 자격 증명을 설정하고 CORS_ORIGINS를 구성하지 않은 채 VulnReach를 공용 네트워크에 노출하지 마십시오.

root@kitploit:~
git clone https://github.com/ihrishikesh0896/vulnreach.git
cd vulnreach

# 1. Create your local config
cp .env.example .env.local

# 2. Fill in every CHANGE_ME — generate secrets with: openssl rand -hex 32
$EDITOR .env.local

# 3. Start the stack
docker compose up --build

# Optional: enable dynamic runtime scans (Docker daemon access via restricted socket proxy)
# docker compose -f docker-compose.yml -f docker-compose.runtime.yml up --build

스캔 실행

인증 옵션:

  • 단기 JWT: POST /login
  • 장기 API 토큰(API 키): UI의 Settings -> API Keys에서 생성한 후 Authorization: Bearer <API_KEY>로 사용
root@kitploit:~
# Get a token (replace with the credentials you set in .env.local)
TOKEN=$(curl -s -X POST http://localhost:8000/login \
  -H "Content-Type: application/json" \
  -d '{"username":"<your-admin-user>","password":"<your-admin-password>"}' | jq -r .access_token)

# Start scan from a GitHub repo
curl -X POST http://localhost:8000/scan \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"repo_url":"https://github.com/yourorg/yourapp"}'

# Poll for results
curl http://localhost:8000/scan/<scan_id> \
  -H "Authorization: Bearer $TOKEN" | jq .summary

기능

  • 도달 가능성 필터링 SCA — CVSS 점수뿐만 아니라 증거 강도에 따라 각 CVE를 분류
  • 런타임 확인 — coverage.py를 통한 Docker 기반 커버리지 수집
  • Taint 추적 — 사용자 입력 → 취약한 sink(SQL, subprocess, YAML, pickle) 추적
  • LLM 기반 DAST — Claude/OpenAI/Ollama가 익스플로잇 페이로드를 생성하고 검증(선택 사항)
  • CI/CD 게이트 — policy.block_if는 확인된 심각한 결과에서 빌드를 실패시킴
  • JWT 인증 — 다중 사용자, 역할 기반 액세스(admin / analyst)
  • API 토큰(API 키) — curl/CI용 장기 머신 인증(Authorization: Bearer <API_KEY>)
  • PDF 내보내기 — GET /scan/{id}/export/pdf
  • 벤더 종속 없음 — LLM 기능은 기본적으로 provider: none이며, 오프라인 사용을 위해 Ollama를 지원

실제 적용

스캔 대상: multi-tier-dvpa — 11개 패키지에 걸쳐 72개의 원시 CVE가 있는 의도적으로 취약하게 만든 Python/Django 애플리케이션.

탐지 결과의 46%가 차별화되지 않은 "모두 수정" 대기열에서 우선순위 조치 목록으로 이동되었습니다. 일반적인 프로덕션 서비스(많은 전이 종속성이 호출되지 않는 경우)에서는 이 수치가 70~90%로 상승합니다.

전체 방법론, 증거 체인 세부 정보, 패키지 수준 분석: docs/benchmark.md


문서

사용법

  • USAGE_PACKAGE.md — 패키지/CLI 설치, 종속성, 시작, 사용법
  • USAGE_UI.md — UI/서버 설치, 종속성, 시작, 사용법

운영자 / 배포자

  • docs/deployment.md — Docker Compose 설정, 환경 변수, 프로덕션 참고 사항
  • docs/configuration.md — 전체 scan.yml 구성 참조
  • docs/api.md — REST 엔드포인트 및 스키마

아키텍처 / 보안

  • docs/architecture.md — 파이프라인 설계 및 실행 모델
  • docs/threat-model.md — 신뢰 경계, STRIDE, 악용 사례
  • docs/incubator-readiness.md — OSS/OWASP 준비 상태
  • docs/DAST.md — DAST 개념 및 흐름

기여자

  • ROADMAP.md — 계획된 기능, 알려진 제한 사항, 언어 지원 상태
  • docs/development.md — 내부 구조, 에이전트, 스토리지, 확장 지점
  • OWASP.md — OWASP 프로젝트 참고 사항
  • SECURITY.md — 취약점 공개 및 키 교체
  • CONTRIBUTING.md — 기여 절차
  • CHANGELOG.md — 릴리스 기록

요구 사항

  • Python 3.11+
  • PostgreSQL 13+
  • Docker + Docker Compose v2 (동적 분석용)
  • PATH에 trivy (설치)
  • jq (빠른 시작 예제에서 사용 — 설치)

선택 사항(없으면 모두 정상적으로 건너뜀):

  • semgrep — pip install semgrep
  • tainter — pip install tainter (taint 흐름 분석; 개발 가이드 참조)

라이선스

Apache 2.0 — LICENSE 참조.

도구 다운로드
UNCERTAIN
약한 신호만 있음 — 조사 필요
NOT_REACHABLE증거 없음 — 알림 대기열에서 제외
계층결과
원시 CVE(Trivy)72
분류된 탐지 결과(VulnReach)90
DYNAMICALLY_REACHABLE — 지금 수정49
STATICALLY_REACHABLE — 이번 스프린트에 수정23
UNCERTAIN — 조사18
NOT_REACHABLE — 제외0
CI 파이프라인 게이트차단됨