🛡 SonarQube 분석 결과 해석 및 필수 조치 가이드
SonarQube 분석 결과가 Passed 상태이더라도
모든 항목이 안전하거나 수정이 불필요하다는 의미는 아닙니다.
본 가이드는 운영 기준에서 반드시 확인·조치해야 할 항목을 명확히 안내합니다.
✅ Passed 상태의 정확한 의미
SonarQube의 Passed는 다음을 의미합니다.
- 현재 설정된 Quality Gate 조건을 충족
- 최소 품질 기준을 통과했을 뿐
- 보안·안정성 리스크가 없다는 의미는 아님
⚠️ 즉,
Passed≠ “운영에 완전히 안전”
🔴 반드시 확인 및 조치해야 할 항목
아래 항목은 운영 환경 기준에서 필수 확인 또는 수정 대상입니다.
🔐 1️⃣ Security Hotspots (보안 검토 항목) — 최우선
- 현재 상태: Security Hotspots 존재
- 의미:
- 실제 취약점일 수도 있는 코드
- 아직 보안 검토가 완료되지 않은 상태
반드시 수행해야 할 작업
- SonarQube 프로젝트 화면에서 Security Hotspots 클릭
- 각 항목을 하나씩 검토
- 아래 중 하나로 반드시 판정 처리
| 판정 | 의미 | 조치 |
|---|---|---|
| Vulnerable | 실제 취약점 | ❌ 반드시 수정 |
| Fixed | 수정 완료 | ✔ |
| Safe | 안전하다고 판단 | ✔ (사유 명시 권장) |
⚠️ Hotspot을 검토하지 않은 상태로 운영 배포 금지
🧯 2️⃣ Reliability (Bug) — 반드시 수정
- 항목: Bug (Reliability)
- 의미:
- 런타임 오류 가능성
- 장애로 이어질 수 있는 코드
운영 기준
- Bug는 “언젠가 장애가 되는 문제”
- 수량이 적어도 방치 금지
👉 모든 Bug 항목 수정 권장 (사실상 필수)
⚠️ 당장 필수는 아니지만 관리 대상인 항목
아래 항목은 즉시 차단 대상은 아니나, 중·장기적으로 관리가 필요합니다.
🧼 Maintainability (Code Smell)
- 의미:
- 가독성, 구조, 유지보수성 문제
- 운영 기준:
- 기존 코드: 점진 개선
- 신규 코드(New Code): 적극 관리
👉 즉시 수정 필수 ❌
🧪 Coverage (테스트 커버리지)
- 현재 상태: 낮거나 0%
- 의미:
- 테스트 코드 부족
- 운영 기준:
- 기존 프로젝트: 허용 가능
- 신규 코드부터 점진적 적용 권장
👉 당장 차단 ❌, 개선 대상 ⭕
🧬 Duplications (중복 코드)
- 중복 비율이 Gate 기준 이하일 경우 통과
- 운영 기준:
- 신규 코드 중심으로 감소 유도
📋 운영 기준 요약 표
| 항목 | 상태 | 운영 조치 |
|---|---|---|
| Security | 없음 | ✔ |
| Security Hotspots | 존재 | ❗ 반드시 검토/판정 |
| Reliability (Bug) | 존재 | ❗ 반드시 수정 |
| Maintainability | 다수 | ⏳ 점진 개선 |
| Coverage | 낮음 | ⚠️ 개선 권장 |
| Duplications | 일부 | ⚠️ 관리 대상 |
🎯 권장 조치 순서 (이 순서대로 진행)
1️⃣ Security Hotspots 전부 검토 및 판정
2️⃣ Reliability(Bug) 항목 전부 수정
3️⃣ 신규 코드 기준으로 Coverage / Duplication 관리 강화
📌 결론
SonarQube
Passed는 “최소 기준 통과”일 뿐,
보안·안정성까지 보장하지는 않습니다.
운영 환경 기준에서 **반드시 조치해야 할 항목은 아래 두 가지입니다.
- 🔐 Security Hotspots (보안 검토)
- 🧯 Reliability (Bug)
위 두 항목만 확실히 관리해도
👉 실질적인 운영 리스크의 대부분을 제거할 수 있습니다.
