SonarQube Command Injection 잡는법 — 레거시 배치에서 만난 S2076 시도 3가지
이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시 배치에서 발견된 패턴 시도 1. 메타문자 블랙리스트 시도 2. 정규식 화이트리스트 시도 3. Runtime.exec(String[]) 최종 해결 — … 더 읽기