Maven 사설 저장소와 분석 정확도 개선
Maven 사설 저장소 지원을 넓히고 Kotlin 지원 범위와 여러 쿼리 정확도를 개선했습니다.
교안에 영향
Kotlin 1.6.x와 1.7.x 지원이 중단되어 관련 안내 글의 호환 버전 설명은 더 이상 맞지 않습니다.
요약
- Java/Kotlin에서 Kotlin 2.3.0까지 분석을 지원하고 Struts 7.x 패키지 이름을 지원합니다. - Default Setup의 Maven 호환 사설 패키지 저장소 설정 시 Maven 플러그인 저장소로도 사용하도록 개선했습니다. - C/C++, C#, Python에서 새 언어 기능과 모델 지원을 추가했습니다. - C/C++, Java, Python의 쿼리 정확도를 높이고 GitHub Actions 분석 충돌을 수정했습니다.
바뀐 것
새 기능
- LLM을 사용하는 코드의 잠재적 prompt injection 취약점을 찾는 실험적 쿼리 py/prompt-injection을 추가했습니다.
개선
- Kotlin 버전 2.3.0까지 분석을 지원합니다.
- Struts 프레임워크 라이브러리에서 Struts 7.x 패키지 이름을 지원합니다.
- Default Setup에서 조직의 Maven 호환 사설 패키지 저장소를 Maven 플러그인 저장소로도 사용하도록 설정합니다.
- C23과 C++26 #embed 전처리기 지시문을 지원합니다.
- C# 14의 null-conditional assignments를 지원합니다.
- Python models-as-data 언어에서 ListElement 경로로 리스트 요소를 참조할 수 있게 했습니다.
- agents와 openai 모듈의 taint flow 및 type 모델을 추가하고 websockets 패키지의 remote flow sources를 모델링했습니다.
- 버퍼 크기 측정 정확도를 높여 cpp/static-buffer-overflow, cpp/overflow-buffer, cpp/badly-bounded-write, cpp/overrunning-write, cpp/overrunning-write-with-float, cpp/very-likely-overrunning-write 쿼리의 오탐을 줄였습니다.
- java/unreleased-lock 쿼리의 정확도를 개선했습니다.
지원 종료
- Kotlin 1.6.x와 1.7.x 계열 지원을 중단했습니다.
수정
- GuardCondition 라이브러리에서 이진 논리 연산자가 guard condition으로 인식되지 않던 문제를 수정했습니다.
- GitHub Actions에서 길이가 약 300자를 넘는 ${{ ... }} 표현식 분석 시 발생하던 충돌을 수정했습니다.