
간단한 애플리케이션 (도달 불가능한!) CVE-2022-45688 취약점 포함
프로젝트는 json.org 종속성을 포함하며, 여기에는 CVE-2022-45688이 있습니다.
취약한 클래스를 호출하지만, 입력 데이터는 (< 문자 수를 세어 생성될 DOM 트리의 최대 깊이를 추정하고, 이 값이 1000 미만이어야 한다는 사전 조건을 적용하는 간단한 방법으로) 정화되므로
취약점을 DoS 공격에 악용할 수 없습니다.
메타데이터 기반 및 호출 그래프 기반 소프트웨어 구성 분석 모두 오탐을 생성합니다. 애플리케이션이 취약한지 정확히 감지하려면 더 정교한 절차 간 데이터 흐름/오염 분석이 필요합니다.
참고로 취약점을 증명하는 테스트가 있으며, 이 테스트(따라서 mvn test 빌드)는 실패합니다.
테스트 작동 방식은 https://github.com/scabench/jsonorg-tp1에서 확인하세요.
다양한 분석을 실행하는 여러 sh 스크립트가 있으며, 결과 보고서는 scan-results에서 찾을 수 있습니다.
pom.xml에는 CycloneDX 형식으로 SBOM을 생성하는 플러그인이 있습니다.
이를 위해 mvn cyclonedx:makePackageBom을 실행하면 SBOM을 target/에서 json 및 xml 형식으로 찾을 수 있습니다.