ReDoS(정규식 서비스 거부 공격) 취약점 자동 복구 프레임워크, LRR(Localized Regex Repair)는 기호적 분석(Symbolic Analysis)의 정밀함과 대규모 언어 모델(LLM)의 일반화 성능을 결합하여 기존 방법들의 한계를 극복한다
정규식은 현대 컴퓨팅의 핵심 도구이지만, 특정 패턴은 ReDoS라는 심각한 성능 취약점을 유발할 수 있습니다. 기존의 자동 복구 방법들은 다음과 같은 딜레마를 가집니다.
LRR은 문제 위치 파악과 문제 해결을 분리하는 하이브리드 접근법을 통해 이 딜레마를 해결합니다.
LRR 프레임워크 개요: 취약한 정규식이 입력되면, 기호 분석 모듈이 문제 세그먼트를 식별합니다. 이 위치 정보와 CoT 예제를 함께 LLM에 전달하여 정확하고 효율적인 복구를 수행합니다.
LRR의 가장 큰 장점 중 하나는 LLM이 정규식의 의미를 파악하여 복구를 수행한다는 점입니다.
예를 들어, 아래 정규식은 git diff
헤더를 검출하기 위한 것입니다. 규칙 기반 도구는 이를 복구하지 못하지만, LRR은 @@ ... @@
패턴을 보고 \\d+
가 줄 번호를 의미함을 추론합니다. 그 결과, 단순히 \\d+
를 더 안전한 표현으로 바꾸는 것을 넘어, 훨씬 더 현실적이고 구체적인 패턴으로 개선합니다.
Original:
@@ \\-(\\d+),?(\\d+)? \\+(\\d+),?(\\d+)?? @@