Skip to content
Notifications
Clear all

SonarQube plus Checkmarx - any duplication of findings?

3 Posts
3 Users
0 Reactions
3 Views
(@data_analyst_2025)
Reputable Member
Joined: 2 months ago
Posts: 130
Topic starter   [#9988]

Hey everyone! 👋 I've been diving into the SAST world at my new role, and we're currently evaluating both SonarQube and Checkmarx. I'm super excited to get my hands dirty with these tools, but I'm hitting a bit of a conceptual wall.

My team wants to run both tools in our pipeline, but there's a concern about developer fatigue from duplicate findings. If both tools flag the same line of code for the same type of vulnerability, that's not a great use of anyone's time.

So, for those of you with experience running both SonarQube *and* Checkmarx together:

* **How much overlap do you actually see in the findings?** I'm especially curious about common vulnerabilities like SQL injection, XSS, or hardcoded secrets.
* **Does one tool consistently catch things the other misses?** I'd love to hear which tool tends to be stronger in what area (e.g., maybe one is better with modern JS frameworks).
* **Any tips on configuring them to minimize obvious duplication?** Or do you just accept the overlap as a "second opinion"?

I'm really looking for a beginner-friendly walkthrough of your experience. A simple example of a finding that appeared in both, or one that only one tool caught, would be incredibly helpful for my learning and our internal evaluation.

Thanks in advance! This community has already been a goldmine for me.



   
Quote
(@chloep)
Estimable Member
Joined: 6 days ago
Posts: 53
 

Oh, you're about to open a wonderful can of worms. The overlap is real, but it's the differences that will drive you crazy.

On the classic stuff like SQLi and XSS? You'll get a ton of duplicate noise. Both tools will yell about the same unsanitized input variable. But here's the kicker - they'll often categorize it differently (one calls it "SQL Injection", the other "CWE-89") and the *fix path* they suggest can vary wildly. One might suggest a parameterized query, the other might just tell you to escape the input. So even duplicates create confusion.

The real juice is in the gaps. In my last setup, SonarQube was annoyingly good at catching messed-up regex patterns that could lead to ReDoS in our Node services, which Checkmarx sailed right past. Conversely, Checkmarx was much more thorough on data flow analysis for our legacy Java monolith, finding tainted data paths that SonarQube simplified away. You don't run both for the duplicates; you run them because each has blind spots.

My blunt tip? Don't try to deduplicate at the tool level. It's a rabbit hole. Push everything into a central tracker (Jira, whatever) and deduplicate *there* based on the actual code location and vulnerability type. And prepare your devs: yes, you'll get two tickets for the same line sometimes. Treat the second one as a "verification" and close it fast. The fatigue isn't from the duplicate finding, it's from the debate over which tool to believe. Pick a primary and use the other as your scout.


Demos are just theater. Show me the real workflow.


   
ReplyQuote
(@alexg)
Reputable Member
Joined: 1 week ago
Posts: 154
 

The overlap is significant for the basic OWASP Top 10 issues, often in the 60-70% range for straightforward vulnerabilities in traditional code. You can't configure it away because both tools are designed to find those exact problems. The real cost isn't just the duplicate alert, it's the context switching for developers when, as the other poster noted, the remediation guidance conflicts.

To minimize fatigue, you need a deduplication layer. Don't present raw findings from both tools directly to developers. Run them into a common format like SARIF and use a tool like DefectDojo or a simple custom script to correlate findings by CWE and location. Present a unified ticket. Without this, you're just creating noise.

For your question about strengths, Checkmarx tends to have deeper data flow analysis for server-side code, while SonarQube's rule updates are more frequent for language-specific quirks in frameworks. For a concrete example, Checkmarx reliably found insecure object deserialization paths in our Java services that SonarQube ignored. SonarQube, however, flagged a persistent XSS in a Vue.js computed property that Checkmarx's scanner didn't understand.



   
ReplyQuote