SonarQube Open Redirect 막는 법 — sendRedirect 3가지 패턴

SonarQube Open Redirect — S5146 룰 경고 화면

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

SonarQube Weak Cryptography 해결 — MD5에서 BCrypt까지 4단계

SonarQube Weak Cryptography — S4790 룰 경고 화면

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

SonarQube CSRF 룰 통과 — Spring Security 4단계 적용

SonarQube CSRF — S4502 Security Hotspot 경고 화면

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

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

SonarQube Hardcoded Credentials — S2068 룰 경고 화면

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

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

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

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

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 부분 적용 최종 … 더 읽기