이 문서는 정적분석 도구 도입을 위하여 Sonarqube와 비교 가능한 체크리스트를 공유하기 위해 작성되었다.
Sonarqube 지원 가능 기능 체크 리스트
| 구분 | 기능 | 체크 | 참고사항 |
|---|---|---|---|
| 일반 | 공지배너 게시 기능 여부 | 공지 배너 게시 기능 제공함. | |
| SAML 방식의 인증 연동 지원 여부 | Enterprise 버전에서 SAML 방식의 SSO 지원함. | ||
| Github, Bitbucket, Gitlab 등의 도구와 인증 위임 지원 여부 | Developer 버전 이상에서 DeveOps 연동 기능 지원함. | ||
| 분석 환경 | 다양한 분석 방식 지원 여부 (CLI, 웹, 플러그인 등) | SonarQube 스캐너를 통해 지원
| |
| 지원 OS | 다양한 운영체제에서 분석 지원 여부 (Windows, Linux, Unix, Mac OS 등) | 다음 플랫폼 지원
| |
| 분석 지원 언어 | 다양한 언어에 대한 분석 지원 여부 (C/C++, Java, Kotlin, Swift, Rust, Go, Dart 등) | 에디션에 따라 최대 37개의 언어 분석 지 | |
| 분석 지원 컴파일러 | 다양한 컴파일러 분석지원 여부 (kotlinc, javac, Clang, Swift Compiler, dart2native 등) | 언어별로 다양한 컴파일러 지원
| |
| 플러그인 | 다양한 개발 환경 내에서 분석 수행이 가능하도록 지원 여부 (Eclipse, Visual Studio, Visual Studio Code, IntelliJ 등) | IDE 별로 애드온이 있으며, 지원되는 IDE는 다음과 같음.
| |
| 정책설정 | 프로젝트 별, 점검 규칙 설정 지원 여부 | 프로젝트 별로 Profile 설정 지원 | |
| 점검 규칙에 대한 위험도 수정 지원 여부 | Profile에서 룰별로 Severity 설정 지원 | ||
| 파일, 확장자, 패턴 등으로 분석 범위 지정 여부 | 와일드 카드 패턴을 통해 다양한 설정 지원 | ||
| 소스 코드 분석 시, 다양한 취약점 데이터 베이스의 정보 제공 여부 | 룰 및 이슈에서 태그 방식으로 cert, cwe, owasp 등 표기 지원 | ||
| 점검수행 | 서버 / PC 환경에서 분석 지원 여부 (IDE, 원격 요청 툴 등) |
| |
| 개발 중 수시로 소규모 분석을 지원하는 기능 제공 여부 (로컬 분석 툴 등) |
| ||
| 외부 분석기 연동 기능(PMD, Ansible-Lint, Roslyn, Cfn-lint, Hadolint, Checkstyle, SpotBugs, ESLint, TSLint 등) |
| ||
| 점검 결과 조치 | 취약점(버그, 보안, 유지보수성) 트래킹 및 관리 기능 제공 |
| |
| 취약점(버그, 보안, 유지보수성) 식별 데이터 제공 여부 |
| ||
| 취약점(버그, 보안, 유지보수성) 발생 원인까지 과정 및 결과에 대한 가시성 제공 여부 | |||
| 취약점(버그, 보안, 유지보수성) 조치 데이터 제공 여부 (사용 가능한 실제 소스 코드 수정 예시) |
| ||
| 점검 결과 관리 | 취약점(버그, 보안, 유지보수성) 발견 시, 취약 항목별 조치 관리 | ||
| 신규 취약점(버그, 보안, 유지보수성) 발견 또는 조치 해결 시, 알림 기능 제공 |
| ||
| 신규 취약점(버그, 보안, 유지보수성) 결과 비교 |
| ||
| 취약점(버그, 보안, 유지보수성) 조치 내역 비교, 진단 전후 분석 및 보고서 제공 |
| ||
| DevSecOps 지원 | CI/CD 연동 가능 여부 (Jenkins, Github, bitbucket, ArgoCD) |
| |
| DevOps 플랫폼 통합 여부 (Github, Bitbucket, Azure DevOps, Gitlab) |
| ||
| 저장소 URL 및 인증 정보를 활용하여 직접 분석 연동 가능 여부 |
| ||
| 타 시스템과 연동 및 DevsecOps 환경을 위한 API 제공 여부 |
| ||
| 신규 연동 편의 기능 제공 |
| ||
| 대시보드 | 대시보드 기능 제공 여부 |
| |
| 사용자 관리 | 사용자 권한 별 계정 관리 (관리자, 사용자) | ||
| 사용자 프로젝트 관리 권한 부여 (관리자, 사용자) | |||
| SAML 방식의 인증 연동 지원 여부 |
| ||
| Github, Bitbucket, Gitlab 등의 도구와 인증 위임 지원 여부 |
| ||
| 보안 | 제품 구성요소 간 암호화 통신(SSL) |
| |
| 솔루션 및 서버 메모리 및 네트워크 자원 사용량 확인 및 관리 기능 제공 여부 |
| ||
| 로그 관리 | 장애 발생 시 디버깅을 위한 서비스 및 분석 로그 제공 여부 | 다음과 같은 다양한 로그 제공
| |
| 시스템 접근, 시스템 동작을 모니터링 할 수 있는 감사 로그 제공 여부 |
|