☕ Java 코드 에디터
취약한 코드
// [취약] 종료 조건이 없는 재귀 → StackOverflow / DoS
int factorial(int n) {
return n * factorial(n - 1);
}
💡 수정 가이드 (KISA 기준)
1. 기저 조건
재귀 종료 조건을 가장 먼저 검사합니다.
int factorial(int n) {
if (n <= 1) return 1; // 기저 조건
return n * factorial(n - 1);
}
📊 분석 결과 및 설명
🎯 목표
반복/재귀에 도달 가능한 종료 조건을 두어 무한 실행을 방지합니다.
⚠️ 현재 취약점
Unbounded Recursion
종료 조건 부재로 자원 고갈 및 DoS가 발생합니다.