{"id":157,"date":"2026-07-14T10:17:30","date_gmt":"2026-07-14T10:17:30","guid":{"rendered":"https:\/\/www.almtoolbox.com\/de\/blog\/?p=157"},"modified":"2026-08-06T10:54:39","modified_gmt":"2026-08-06T10:54:39","slug":"sonarqube-helps-write-more-secure-java-code","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/de\/blog\/sonarqube-helps-write-more-secure-java-code\/","title":{"rendered":"Wie SonarQube Teams dabei hilft, sichereren Java-Code zu schreiben"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2026\/08\/java-sonarqube.webp\" alt=\"sonarqube java\" class=\"wp-image-9527\"\/><\/figure>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Bei sicherem Java-Code geht es nicht nur darum, Fehler erst nach ihrem Auftreten zu beheben. Es geht darum, riskante Muster fr\u00fchzeitig zu verhindern, Sicherheitsregeln konsistent durchzusetzen und Entwicklern schnelles Feedback zu geben, bevor unsicherer Code die Produktion erreicht. SonarQube Server hilft Java-Teams genau dabei, indem es statische Code-Analysen durchf\u00fchrt, Sicherheitsprobleme erkennt und diese Pr\u00fcfungen in den Entwicklungs-Workflow integriert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr DevSecOps- und AppSec-Teams macht dies SonarQube zu einem praktischen Kontrollpunkt. Es hilft dabei, Schwachstellen, Security Hotspots und unsichere Codierungsmuster w\u00e4hrend der Entwicklung, der \u00dcberpr\u00fcfung von Pull-Requests und der CI\/CD-Ausf\u00fchrung zu identifizieren. Zudem bietet es Sicherheitsberichte, die Teams und Managern einen klaren \u00dcberblick \u00fcber den Sicherheitsstatus des Projekts verschaffen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Warum SonarQube f\u00fcr die Java-Sicherheit wichtig ist<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Java wird h\u00e4ufig in Enterprise-Backends, APIs, Microservices und cloud-nativen Anwendungen eingesetzt.<br>Das bedeutet auch, dass Java-Code oft Authentifizierung, Autorisierung, Dateizugriff, XML-Parsing, Datenbankabfragen und andere sicherheitsrelevante Operationen verarbeitet. SonarQube hilft, Risiken zu reduzieren, indem es den Quellcode anhand einer Vielzahl sprachspezifischer Regeln scannt, die darauf ausgelegt sind, unsichere Muster fr\u00fchzeitig zu erkennen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anstatt sich nur auf manuelle \u00dcberpr\u00fcfungen zu verlassen, pr\u00fcft SonarQube den Java-Code automatisch als Teil der Build-Pipeline. Das bedeutet, dass Sicherheitsprobleme gefunden werden, solange der Code noch leicht zu korrigieren ist, und nicht erst nach dem Deployment oder w\u00e4hrend eines Vorfallsreaktionszyklus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Statische Analyse f\u00fcr sichere Java-Entwicklung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die St\u00e4rke von SonarQube liegt in der statischen Analyse. Sie untersucht den Java-Quellcode, ohne die Anwendung auszuf\u00fchren, und sucht nach Mustern, die Sicherheitsrisiken wie Injection-Angriffe, schwache Kryptografie, unsicheres Session-Handling, unsichere Weiterleitungen oder offengelegte Geheimnisse verursachen k\u00f6nnten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Ansatz ist besonders hilfreich in gro\u00dfen Java-Codebasen, in denen sich Sicherheitsfehler \u00fcber viele Dienste hinweg wiederholen k\u00f6nnen. Durch die durchg\u00e4ngige Durchsetzung desselben Regelsatzes hilft SonarQube, sichere Codierungspraktiken \u00fcber Teams und Repositories hinweg zu standardisieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Beispiele f\u00fcr Java-Sicherheitsregeln<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube enth\u00e4lt viele Java-Regeln mit Bezug zur Sicherheit. Hier sind 10 n\u00fctzliche Beispiele:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>S2076<\/strong>: Benutzereingaben in sicherheitssensiblen Kontexten sollten sicher verarbeitet werden.<\/li>\n\n\n\n<li><strong>S2078<\/strong>: Beim Datenbankzugriff sollten riskante Injection-Muster vermieden werden.<\/li>\n\n\n\n<li><strong>S2083<\/strong>: Die Pfadverarbeitung sollte Path-Traversal-Probleme verhindern.<\/li>\n\n\n\n<li><strong>S2091<\/strong>: Unsichere Objektdeserialisierung sollte vermieden werden.<\/li>\n\n\n\n<li><strong>S2631<\/strong>: Dynamische Codeausf\u00fchrung sollte nicht anf\u00e4llig f\u00fcr Injection-Angriffe sein.<\/li>\n\n\n\n<li><strong>S3649<\/strong>: HTTP-Anforderungs-Weiterleitungen sollten nicht missbraucht werden k\u00f6nnen.<\/li>\n\n\n\n<li><strong>S5131<\/strong>: Cookies sollten angemessene Sicherheitsvorkehrungen nutzen.<\/li>\n\n\n\n<li><strong>S5145<\/strong>: CRLF-Injection in HTTP-Antworten sollte verhindert werden.<\/li>\n\n\n\n<li><strong>S5146<\/strong>: Protokollierungspraktiken sollten keine sensiblen Daten offenlegen.<\/li>\n\n\n\n<li><strong>S5883<\/strong>: XML-Parsing sollte XXE-Risiken vermeiden.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.sonarsource.com\/sonarqube-server\/2025.2\/user-guide\/rules\/rules-for-ai-codefix#ai-codefix-rules-for-java-and-java-security\" target=\"_blank\" rel=\"noreferrer noopener\">Mehr anzeigen<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Andere Java-Sicherheitspr\u00fcfungen konzentrieren sich in der Regel auf schwache Kryptografie, hartkodierte Passw\u00f6rter, unsichere Berechtigungen und unsicheres Session-Management.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CI\/CD-Durchsetzung und Pull-Request-Pr\u00fcfungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube wird besonders leistungsf\u00e4hig, wenn es in CI\/CD integriert wird. Die Dokumentation besagt, dass SonarQube den Code bei jedem Build analysiert und Qualit\u00e4tsprofile sowie Quality Gates nutzt, um zu verhindern, dass fehlerhafter Code in die Produktion gelangt. F\u00fcr Java-Projekte bedeutet dies, dass unsicherer Code das Fehlschlagen der Pipeline verursachen kann, bevor er zusammengef\u00fchrt oder freigegeben wird.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Pull-Request-Analyse f\u00fcgt eine weitere Schutzebene hinzu. SonarQube \u00fcberpr\u00fcft jeden PR vor dem Zusammenf\u00fchren, sodass neue Java-Sicherheitsprobleme genau an dem Punkt erkannt werden, an dem sie eingef\u00fchrt werden. Das macht SonarQube zu einer hervorragenden L\u00f6sung f\u00fcr DevSecOps-Workflows, bei denen Sicherheit direkt in die Bereitstellung integriert ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sicherheitsberichte f\u00fcr mehr Transparenz<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube bietet auch Sicherheitsberichte, die Teams helfen, den Sicherheitsstatus eines Projekts oder Portfolios zu verstehen. Diese Berichte fassen offene Sicherheitsl\u00fccken, Security Hotspots, den Fortschritt bei der \u00dcberpr\u00fcfung von Hotspots und Sicherheitsbewertungen zusammen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr Organisationen, die Governance und Transparenz auf F\u00fchrungsebene ben\u00f6tigen, sind Sicherheitsberichte n\u00fctzlich, um Trends im Zeitverlauf zu verfolgen und Risiken in einem Format zu kommunizieren, das leichter verst\u00e4ndlich ist als Rohdaten. In SonarQube Enterprise und \u00e4hnlichen Editionen k\u00f6nnen diese Berichte eine umfassendere Sicherheits\u00fcberwachung und die Vorbereitung von Audits unterst\u00fctzen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/09\/security-reports-sonarqube.jpg\" alt=\"sonarqube security reports\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><em>Sicherheitsberichte in Sonar: OWASP Top 10 Benchmark (Illustration)<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Code-Abdeckung und Komplexit\u00e4t f\u00fcr eine h\u00f6here Java-Qualit\u00e4t<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube hilft Java-Teams auch dabei, die <strong>Code-Abdeckung<\/strong> zu verbessern und die <strong>Code-Komplexit\u00e4t<\/strong> zu verwalten, was wichtige Indikatoren f\u00fcr Code-Qualit\u00e4t und langfristige Wartbarkeit sind. Die Abdeckungsanalyse zeigt, ob kritische Java-Pfade durch Tests abgedeckt sind, w\u00e4hrend Komplexit\u00e4tsmetriken dabei helfen, Code zu identifizieren, der schwerer zu verstehen, zu \u00fcberpr\u00fcfen und abzusichern ist. Zusammen mit den Sicherheitsregeln und Sicherheitsberichten bieten diese Funktionen Teams eine st\u00e4rkere und vollst\u00e4ndigere L\u00f6sung, um sicherzustellen, dass ihr Code nicht nur sicher, sondern auch gut getestet und qualitativ hochwertig ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dependency Scanning f\u00fcr eigenen und Drittanbieter-Java-Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube Advanced Security erweitert die Plattform \u00fcber den selbst geschriebenen Java-Code hinaus auf die Software-Lieferkette, indem es ein Dependency Scanning f\u00fcr Drittanbieter- und Open-Source-Bibliotheken hinzuf\u00fcgt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das bedeutet, dass Ihre Java-Projekte nicht nur auf unsicheren, im eigenen Haus geschriebenen Code analysiert werden k\u00f6nnen, sondern auch auf Schwachstellen, die durch externe Abh\u00e4ngigkeiten eingef\u00fchrt wurden. Dies hilft Teams, Risiken sowohl im eigenen Code als auch in Code von Drittanbietern zu reduzieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zusammen mit statischer Analyse, Sicherheitsregeln, Code-Abdeckung, Code-Komplexit\u00e4t und Sicherheitsberichten erhalten Sie so eine starke End-to-End-L\u00f6sung, um sicherzustellen, dass Ihr Code sicher, qualifiziert und bereit f\u00fcr die Produktion ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube hilft Teams dabei, sichereren Java-Code zu schreiben, indem es statische Analyse, sicherheitsorientierte Regeln, CI\/CD-Pr\u00fcfungen, Pull-Request-Analysen und Sicherheitsberichte in einem einzigen Workflow kombiniert. Dies erleichtert es, Schwachstellen fr\u00fchzeitig zu erkennen, sichere Codierungsstandards konsistent durchzusetzen und die Sicherheit \u00fcber den gesamten Lebenszyklus der Softwarebereitstellung hinweg sichtbar zu halten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr Java-Teams ist das Ergebnis ein praktischer und skalierbarer Weg, um das Thema Sicherheit nach links zu verlagern (\u201eShift Left\u201c), ohne die Entwicklung zu verlangsamen. SonarQube ersetzt weder Anwendungssicherheitstests noch Bedrohungsanalysen (Threat Modeling), bietet aber eine wesentliche Ebene automatisierten Schutzes f\u00fcr die t\u00e4gliche Java-Entwicklung.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-background\" style=\"background-color:#ebf6ff\">Wir vertreten die L\u00f6sungen von Sonar offiziell und bieten Lizenzen, Beratung, Support und Schulungen an.<br>F\u00fcr weitere Details kontaktieren Sie uns:&nbsp;<a href=\"mailto:sonar@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">sonar@almtoolbox.com<\/a>&nbsp;oder rufen Sie uns an: 866-503-1471 (USA \/ Kanada) oder +31 85 064 4633<\/h4>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Weiterf\u00fchrende Links:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unsere <a type=\"link\" href=\"https:\/\/www.almtoolbox.com\/sonarqube\" id=\"https:\/\/www.almtoolbox.com\/sonarqube\" target=\"_blank\" rel=\"noreferrer noopener\">Sonar-Webseite<\/a><\/li>\n\n\n\n<li>Kundenreferenz: <a type=\"link\" href=\"https:\/\/www.almtoolbox.com\/blog\/sonarqube-sca-sast-case-study-luxury-car\/\" id=\"https:\/\/www.almtoolbox.com\/blog\/sonarqube-sca-sast-case-study-luxury-car\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wie ein globaler Luxusautomobilhersteller unerwartete Coderisiken mit SonarQube SCA und SAST unter Kontrolle brachte<\/a><\/li>\n\n\n\n<li><a type=\"link\" href=\"https:\/\/www.almtoolbox.com\/blog\/sonarqube-offering-2026\/\" id=\"https:\/\/www.almtoolbox.com\/blog\/sonarqube-offering-2026\/\" target=\"_blank\" rel=\"noreferrer noopener\">Was ist das aktuelle Angebot von SonarQube?<\/a><\/li>\n\n\n\n<li><a type=\"link\" href=\"https:\/\/www.almtoolbox.com\/blog\/what-in-sonarqube-developers-rnd-managers\/\" id=\"https:\/\/www.almtoolbox.com\/blog\/what-in-sonarqube-developers-rnd-managers\/\" target=\"_blank\" rel=\"noreferrer noopener\">Was bietet SonarQube f\u00fcr Entwickler und R&amp;D-Manager?<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Erstver\u00f6ffentlichung: Juli 2024<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erfahren Sie, wie SonarQube Teams dabei unterst\u00fctzt, durch statische Analyse, Sicherheitsregeln, CI\/CD-Pr\u00fcfungen und Sicherheitsberichte sichereren Java-Code zu schreiben.<\/p>\n","protected":false},"author":3,"featured_media":156,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76,14,77,21],"tags":[70,71,72,73,74,75],"class_list":["post-157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-app-sec","category-devsecops","category-java","category-sonarqube","tag-devsecops-java","tag-java-static-analysis","tag-secure-coding-in-java","tag-sonarqube-ci-cd","tag-sonarqube-java-security","tag-sonarqube-security-reports"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/posts\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":3,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/posts\/157\/revisions\/162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/media\/156"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/de\/blog\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}