SonarQube Hardcoded Credentials 잡는법 — 레거시 설정 4가지 패턴

SonarQube Hardcoded Credentials — S2068 룰 경고 화면

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

SonarQube XXE 룰 S2755 해결 — 거래 전문 XML 파서 시도 3가지

SonarQube XXE — IDE 정적 분석 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시 XML 파서 패턴 시도 1. setValidating(false) 시도 2. setExpandEntityReferences(false) 시도 3. external-general-entities만 disable 최종 해결 — feature … 더 읽기

SonarQube Path Traversal 룰 S2083 해결 — 파일 다운로드 API 시도 3가지

SonarQube Path Traversal — IDE 정적 분석 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시 다운로드 API 패턴 시도 1. .. 문자열 제거 시도 2. 영문/숫자 화이트리스트 시도 3. getCanonicalPath startsWith 최종 … 더 읽기

SonarQube XSS 룰 S5131 해결 — 레거시 JSP에서 시도한 3가지 방법

SonarQube XSS — IDE 정적 분석 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시 JSP/Servlet 패턴 시도 1. script 태그 블랙리스트 시도 2. HTML escape 자체 구현 시도 3. JSTL c:out … 더 읽기

SonarQube Command Injection 잡는법 — 레거시 배치에서 만난 S2076 시도 3가지

SonarQube Command Injection — IDE 정적 분석 경고 화면

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

SonarQube SQL Injection 해결 — 레거시 JDK 21에서 만난 S3649 시도 3가지

SonarQube SQL Injection — IDE 정적 분석 경고 화면

이 글에 등장하는 코드는 금융권 보안 정책상 실제 프로젝트 코드를 그대로 공개할 수 없어, 동일한 취약 패턴과 해결 흐름을 재현한 샘플로 대체했다. 클래스명·테이블명·경로 같은 식별자는 가상이지만, SonarQube가 잡는 데이터 플로우와 통과 조건은 실제 환경과 같다. 📑 목차 레거시에서 발견된 취약 패턴 시도 1. 작은따옴표 escape 시도 2. 정규식 화이트리스트 시도 3. PreparedStatement 부분 적용 최종 … 더 읽기