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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
fastjson-tp1fn1 — CVE-2022-25845를 기반으로 한 시나리오는 메타데이터 기반 SCA의 경우 TP를 나타내지만, callgraph를 사용할 경우 FN을 나타냅니다. | Kitploit
도구/GitHubGitHub/scabench/fastjson-tp1fn1
Static AnalysisVulnerability AnalysisCode AnalysisSupply Chain SecurityPapers & ResearchLearning & Education
GitHubscabench/fastjson-tp1fn1

fastjson-tp1fn1

CVE-2022-25845를 기반으로 한 시나리오는 메타데이터 기반 SCA의 경우 TP를 나타내지만, callgraph를 사용할 경우 FN을 나타냅니다.

저장소 보기
2년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

json.org CVE-2022-45688 true & false positive (WTF ??)

이 프로젝트에는 CVE-2022-25845 취약점이 있는 fastjson 의존성이 포함되어 있습니다.

취약점은 JSON 내의 마크업이 Java 빈(bean)으로 해석될 때 발생합니다. 즉, 클래스가 인스턴스화되고 setter 메서드를 실행하여 속성이 설정됩니다. 이는 리플렉션(reflection)을 사용하여 수행됩니다. setter가 코드 실행과 같은 동작을 유발할 수 있는 클래스가 클래스패스에 존재하는 경우(예제에서는 이 클래스가 Trigger이며, 해당 입력은 CVE-2022-25845.json입니다), 이를 악용할 수 있습니다.

흥미로운 부분은 아래의 취약점을 시연하는 포함된 테스트를 실행할 때 나타나는 스택트레이스에서 볼 수 있듯이 리플렉션이 사용된다는 점입니다.

root@kitploit:~
setName:11, Trigger
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect) [2]
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
setValue:167, FieldDeserializer (com.alibaba.fastjson.parser.deserializer)
deserialze:155, ThrowableDeserializer (com.alibaba.fastjson.parser.deserializer)
parseObject:405, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1430, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:1390, DefaultJSONParser (com.alibaba.fastjson.parser)
parse:181, JSON (com.alibaba.fastjson)
parse:191, JSON (com.alibaba.fastjson)
parse:147, JSON (com.alibaba.fastjson)
main:18, CheckJSON (scabench)
confirmCVE202225845:39, ConfirmVulnerabilitiesTests (scabench)

표준 메타데이터 기반 SCA(Software Composition Analysis)는 이 취약점을 식별하는 데 문제가 없으며, 이는 "일상적인 작업"입니다. 그러나 호출 그래프 기반 도구는 일반적으로 리플렉션 호출을 모델링하지 못하기 때문에 이를 놓칠 가능성이 높습니다. 이런 의미에서 이는 사용되는 분석 방법에 따라 참 긍정(true positive)이자 거짓 부정(false negative)입니다.

취약점을 입증하는 테스트가 있으며, 이 테스트(따라서 mvn test를 사용한 빌드)는 실패합니다. 테스트 작동 방식은 https://github.com/scabench/jsonorg-tp1에서 확인할 수 있습니다.

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

다양한 분석을 실행하는 여러 sh 스크립트가 있으며, 결과 보고서는 scan-results에서 확인할 수 있습니다.

SBOM 생성

pom.xml에는 CycloneDX 형식의 SBOM을 생성하는 플러그인이 있습니다. 이를 실행하려면 mvn cyclonedx:makePackageBom을 실행하면 SBOM이 target/ 디렉토리에 json 및 xml 형식으로 생성됩니다.

도구 다운로드