페이지 트리

이 문서는 2023년 2월 7일 출시된 SonarQube 9.9 LTS 릴리즈 노트를 공유하기 위해 작성 되었다.

https://www.sonarsource.com/products/sonarqube/downloads/lts/9-9-lts/


더 빨라진 풀리퀘스트 분석

Pull Request (PR) 분석의 속도가 상당히 향상되었습니다. 증분 분석과 서버 측 캐싱을 실행하여 변경된 파일만 분석됩니다.

프로그래밍 언어에 상관없이 PR 분석 속도는 높은 정확도를 유지한채로 상당히 향상될 것입니다.
예를 들어, 약 300,000 줄의 코드가 포함된 중형 프로젝트는 이제 이전보다 두 배 이상 빠르게 분석됩니다.
이는 SQ 8.x에서 분석하는 데 5분이 걸렸던 PR이 이제 2분 미만로 분석되는 것 의미합니다.

또한 Git 기반의 프로젝트는 첫 번째 전체 프로젝트 분석 속도를 높였습니다.
Git SCM을 사용하는 모든 사용자는 초기 블레임 데이터 검색의 개선으로 첫 번째 분석이 평균적으로 60% , 최대 90% 더 빨라졌다는 것을 알게 될 것입니다 .
예를 들어, 300,000 줄의 코드가 포함된 프로젝트의 주요 브랜치의 첫 번째 분석은 이전 버전과 비교했을 때 80% 빨라져 10분 이내에 완료됩니다.



안전한 클라우드 네이티브 애플리케이션

애플리케이션들이 Cloud로 이동하면, 소스 코드 뿐만 아니라 연관된 모든 구성과 배포를 보호해야 합니다.
AWS, Google Cloud, Microsoft Azure와 같은 인기있는 세 가지 클라우드 제공 업체와, 이들의 기본적인 기술(에 대한 지원을 추가했습니다.
(서버리스 및 SAM 프레임워크, AWS CDK, Terraform 및 CloudFormation을 사용한 IaC, 그리고 Kubernetes 및 Docker를 사용한 컨테이너 배포)


TerraForm 및 Cloudformation을 포함한 코드 기반 인프라(IaC)

IaC를 통해 클라우드 리소스를 프로비저닝하고 있나요? 인프라 배포 구성의 보안 취약점을 탐지하는 새로운 규칙이 많이 추가되었습니다.


아마존 서버리스/SAM 프레임워크(Lambdas) & CDK

AWS Lamdas는 점점 더 중요한 핵심 비즈니스 로직을 보유하고 있으며, 많은 인젝션 공격의 시점이 될 수 있습니다.
SonarQube는 AWS Lambdas 및 AWS CDK에 대한 새로운 규칙을 제공하여 보다 안전한 클라우드 네이티브 애플리케이션을 작성하고 배포할 수 있도록 지원합니다.


AWS Lambdas:

SonarQube는 YAML 파일에서 인라인으로 정의된 JavaScript Lamdas를 분석하여 보안 핫스팟을 찾습니다.
또한 상용 버전에서 SonarQube는 전체 인젝션 취약성을 탐지하여 Lambdas를 안전히 지키며, 클라우드 애플리케이션을 악의적인 사용자 데이터로부터 보호합니다.

AWS Serverless Application Model (SAM) / CloudFormation 또는 Serverless를 사용하여 구성된 AWS Lambda의 경우,
SonarQube는 AWS lamda 로직이 CF, .yml 또는 serverless 파일에서 선언된 것과 Python, JavaScript/TypeScript로 작성된 것에 모든 범위의 오염 분석 규칙을 적용할 수 있습니다.


AWS CDK: 

JavaScript/TypeScript 또는 Python을 사용하여 AWS CDK로 인프라를 설명하는 사람들을 위하여,
이제 SonarQube는 권한 및 액세스 제어, 추적 가능성, 암호화, 공용 액세스 등을 다루는 새로운 규칙을 제공하여 안전하게 AWS CDK를 사용할 수 있도록 지원합니다.



규모 확장 조직을 위한 엔터프라이즈급 기능

이 LTS에는 SonarQube 인스턴스와 소스 코드 자산 포트폴리오의 보안 및 관리를 관리할 수 있도록 액세스 처리, 관리, 거버넌스 및 보고와 관련된 많은 기능이 추가되었습니다.


보고서, 보고서 그리고 더 많은 보고서!

내부 및 외부 규정 준수를 위한 새롭게 개선된 보안 및 규정 준수 보고서, 프로젝트 및 포트폴리오 보고서와 PDF 보고서가 추가되었습니다.

  • 새로운 보안 및 규정 준수 보고서에는 PCI DSS(Payment Card Industry Data Security Standard) v3.2 및 v4.0과 OWASP ASVS(Application Security Verification Standard)가 포함되어, 
    조직이 이러한 중요한 업계 표준에 대한 규정 준수 여부를 측정할 수 있도록 합니다.
    또한 CWE Top 25와 OWASP Top 10 2021 보고서를 통해 식별된 위협으로부터 코드베이스의 보안을 추적할 수 있습니다.
  • 새로운 프로젝트 수준 보고서를 통하여 관리자는 프로젝트의 상태와 품질을 정기적으로 확인할 수 있습니다. 이제 누구나 구독을 하면 이메일로 프로젝트 상태 PDF를 받을 수 있습니다.
  • SonarQube 9.9 LTS 버전에서는 포트폴리오 프레젠테이션을 재설계하여 대시보드 UI 및 PDF 보고서에서 새로운 코드의 상태에 초점을 맞춥니다.
    이를 통해, 관리자와 개발자는 보다 풍부하고 생산적인 협업을 위해 프로젝트 상태에 대한 새로운 통합된 이해를 공유할 수 있습니다.
  • 그리고 포트폴리오 지원과 메트릭 배지도 있습니다! 관리자는 새로운 포트폴리오를 만들어 프로젝트 브랜치를 추적하고 동일한 프로젝트 내에서 여러 브랜치를 추적할 수 있습니다.
    Community Edition을 시작으로, 사용자들은 공용 및 개인 프로젝트에 대한 메트릭 배지로 프로젝트의 상태와 안정성을 자랑할 수 있습니다.


더 간편해진 SonarQube 운영 및 관리

SonarQube 인스턴스의 관리를 보다 쉽게 만드는 감사 로깅, 보안 토큰 처리, 개선된 사용자 관리 및 사용자 통신이 추가되었습니다.

  • 감사 로깅을 통해 관리자는 분석하기 쉬운 로그를 사용하여 사용자, 프로젝트 및 권한에 대한 업데이트와 같은 보안에 민감한 변경 사항을 추적할 수 있도록 해주어,
    누가 무엇을 언 변경했는지 쉽게 파악할 수 있습니다.
  • 보안 토큰 처리 기능을 통해 관리자는 새 토큰의 최대 수명을 전역적으로 설정하여 토큰 만료를 강제로 적용할 수 있습니다. 또한, 이제 프로젝트 토큰도 생성할 수 있습니다.
  • User management SCIM 통합으로 Okta(SAML) 시스템에서 사용자 비활성화를 동기화하여 사용자 기록을 자동으로 비활성화하고 잠재적인 보안 허점을 제거하기 위해 토큰을 무효화할 수 있습니다.
  • 커뮤니케이션 및 로그인 안내 기능은 관리자가 사용자에게 맞춤형 메시지를 제공할 수 있도록 해줍니다.
    예를 들어 로그인에 사용할 자격 증명을 안내하는 등의 메시지를 전달할 수 있습니다. 관리자는 또한 서버 다운타임, 유지 보수 등에 관한 매스을 할 수도 있습니다.
  • 인스턴스 관리가 더욱 쉬워졌습니다. Kubernetes를 사용하여 SQ 클러스터를 배포할 수 있습니다(Data Center Edition 전용),
    그리고 모든 버전에서 Prometheus 모니터링을 지원하도록 추가되었습니다.
  • 또한 Community Edition부터는 안전한 SAML 트랜잭션을 위해 SAML 요청 서명 및 어설션 암호화를 지원하도록 추가되었습니다.
    이를 통해 조직은 인증을 위임하고 SSO를 간소화할 수 있습니다. 이제 관리자에게 크게 개선된 문서를 통해 SAML을 구성하는 방법에 대한 자세한 정보와 함께 구성을 테스트할 수 있는 버튼이 있습니다.
    마지막으로, 관리자는 이제 Bitbucket Cloud에 인증을 위임할 수도 있습니다.



UI 개선, 풍부한 교육 안내 및 새로운 통합

코드에 문제가 있다는 것을 알고 있다 해도 어떻게 해결해야 할지 모른다면 충분하지 않습니다.
대부분의 오염 분석 규칙을 이해하기 쉽게, 특정 코드 및 프레임워크에 맞게 맥락을 고려하여 풍부한 교육 콘텐츠를 추가하였습니다(Developer Edition 이상에서 사용 가능).

또한,  WCAG 준수에 더 가까워지는 것을 목표로 전반적인 접근성을 개선하기 위하여 UI에서 명확도과 집중도를 높였습니다. 
Community Edition에서는 Bitbucket pipes 및 GitHub actions이 분석 및 Quality Gate 상태를 트리거 할 수 있도록 기능을 추가했습니다.
또한 Bitbucket Cloud의 프로젝트 온보딩을 포함한 전체 통합 지원이 가능해졌습니다.

CodeMagic CI/CD를 사용하고 계신가요? 이제 브랜치와 PR을 탐지하여 개발자가 선택한 DevOps 플랫폼에서 SonarQube의 이점을 얻을 수 있습니다.



모바일용 Kotlin을 포함한 많은 새로운 규칙

안드로이드 애플리케이션을 작성하고 계신가요?
SonarQube 9.9 LTS는 보호되지 않은 네트워크 통신, 문제가 있는 암호화 및 데이터 보안을 감지하기 위한 Kotlin 규칙을 새롭게 도입했습니다.
상용 에디션에는 모바일 앱 보안 검증 표준(MASVS) 데이터 저장 및 개인 정보 보호 요구 사항을 준수하기 위한 다양한 Java 안드로이드 오염 분석 규칙이 포함되어 있습니다.
이제 애플리케이션을 Google Play Store에 제출하기 전에 개발 단계에서도 안전하게 보호할 수 있습니다.

또한, 프로그래밍하는 언어에 대한 여러 가지 새로운 규칙도 이용할 수 있습니다.

  • JavaScript로 프로그래밍하고 있다면, 무한 루프, 데드 코드, 그리고 더 나은 Mocha 및 Chai 테스트를 작성하기 위한 규칙 등 새로운 React 규칙이 추가되었습니다.
  • C++로 프로그래밍하고 있다면, C++ 20 코루틴을 지원하는 새로운 규칙이 추가되었으며 인기있는 컴파일러 전반에 걸쳐 정밀도와 분석 구성을 향상시켰습니다.
  • Python, Java, JS/TS 또는 PHP에서 정규 표현식을 작성하고 있다면, 강력한 규칙을 통해 효율적이고 오류없는 정규 표현식을 작성할 수 있습니다.
  • Java에서는 런타임 오류와 충돌을 방지하는 새로운 규칙이 추가되었으며 이제 Java 19 구문 분석을 지원합니다.
    Java 사용자는 첫 번째 프로젝트 분석에서 평균 30%, 최대 60%까지 성능 향상 효과를 볼 수 있습니다.

각 언어에 대한 포괄적인 커버리지를 확인하려면 규칙 저장소를 방문해보세요.



Clean as You Code, the mantra to a Clean Code state - 깨끗한 코드 상태를 유지

SonarQube 미션은 Clean as You Code 접근법이 Clean Code 상태에 이르는 가장 지속 가능한 방법이라는 사실에 뿌리를 두고 있습니다.
그리고 모든 조직이 이를 달성할 수 있기를 원합니다. 이것이 Clean as You Code를 실천할 수 있도록 품질 게이트 워크플로우를 세밀하게 조정한 이유입니다.
Clean as You Code를 준수하지 않는 품질 게이트를 쉽게 식별하고 수정할 수 있도록 개선되었습니다.



Clean Code 작성을 위한 보다 더 원활한 환경


SonarLint를 사용한 즐겨찾는 IDE부터 시작하여 개발 워크플로우의 모든 단계에서까지, 간소화된 Clean Code 제공을 위하여 많은 개선 사항이 추가되었습니다.

특히, SonarLint에서 쉽게 연결 모드를 설정할 수 있도록 개선되었으며, SonarQube에서 연결된 IDE로 Quality Profiles의 실시간 동기화를 제공하는 업데이트를 추가되었습니다.
또한 프로젝트의 브랜치 인식 기능도 추가했습니다.

Cloud Secrets를 탐지하는 새로운 규칙과 SonarLint를 사용하여 IDE에서 코드를 작성하는 동안 특정 문제를 자동으로 해결하는 빠른 수정 기능도 추가되었습니다.




  • 레이블 없음