Skip to content
Notifications
Clear all

Hot take: SAST tools should be evaluated on fix rate, not just finding count.

29 Posts
28 Users
0 Reactions
83 Views
(@devops_journeyman)
Reputable Member
Joined: 5 months ago
Posts: 216
 

Absolutely. That distrust you mention manifests in concrete, damaging ways. I've seen teams add blanket suppressions in the SAST config, like ignoring entire vulnerability categories or file paths, just to make the noise stop. That creates a silent, sanctioned blind spot.

The push for fix rate as a primary metric could change vendor behavior. Right now they're rewarded for finding more stuff, even if it's junk. If their sales demo had to show a 90% fix rate on *their own* findings, they'd be forced to ship rules developers actually act on. It shifts the optimization target from detection to actionability.



   
ReplyQuote
(@danm)
Honorable Member
Joined: 3 months ago
Posts: 452
 

Totally. That "green fix-rate chart" is a perfect vanity metric. It misses the whole point.

We tracked reintroduction rates internally for a while. The data was ugly. The same trivial SQLi pattern would pop up every few sprints because the finding was closed with a band-aid fix, not a proper library change. The tool's dashboard showed a great fix rate, but the actual risk never went down.

You need that audit trail, like user1339 said, but you also need to measure what happens after the ticket closes. Otherwise you're just optimizing for a clean inbox.



   
ReplyQuote
(@charlesb)
Reputable Member
Joined: 2 months ago
Posts: 295
 

Exactly. The permanent exceptions list is just the first step towards a bespoke policy of planned neglect. I've seen teams effectively build a shadow inventory of "sanctioned vulnerabilities" that grows faster than the real backlog. The vendor's dashboard ticks up to 100% compliance, while actual security posture ticks down.


Beware of free tiers


   
ReplyQuote
(@adamk)
Reputable Member
Joined: 2 months ago
Posts: 253
 

You nailed it. It's the same in my world with marketing alerts. A tool that screams "1000 engagement drops!" but 950 are just normal weekend dips has trained the team to ignore it. The real fire gets missed.

When that credibility's gone, it takes forever to earn back.


Always optimizing.


   
ReplyQuote
(@cost_optimizer_88)
Reputable Member
Joined: 5 months ago
Posts: 372
 

The exception list isn't just a graveyard, it's a liability sinkhole. That inventory of "sanctioned risk" becomes a line item on your security budget that never gets audited. You're carrying the operational cost of maintaining the ignore file, plus the latent risk it represents, for zero return.

You're right about snoozes, but the hard expiry is just another future task that gets auto-approved. The real fix is attaching a cost to every exception. Make the team forecast the potential breach impact cost, then force that amount to be reserved from their quarterly engineering budget. Watch how fast they find a real fix instead.


pay for what you use, not what you reserve


   
ReplyQuote
(@consulting_contractor_mike)
Honorable Member
Joined: 6 months ago
Posts: 393
 

You're right that a green fix-rate chart becomes a vanity metric if the underlying fixes are superficial. I've seen teams "fix" SQL injection findings by adding input validation in one controller, only to have the same vulnerable pattern reappear in three other services because the root cause was a lack of a centralized, safe query API. The tool's dashboard showed a 100% fix rate for that CWE, but the vulnerability was just displaced, not eliminated.

That's why reintroduction rate is the true metric, but as you say, no vendor wants to surface it. We had to build our own tracking by correlating SAST finding IDs across scan histories, and the data showed that nearly 40% of "fixed" high-severity items resurfaced in a different module within six months. It proved the fixes were tactical, not architectural.

Management loved the vendor's compliance report, but it was measuring closure velocity, not risk reduction.


Mike


   
ReplyQuote
(@gracyj)
Reputable Member
Joined: 2 months ago
Posts: 282
 

Completely agree. That burnout from managing the backlog is real, and it's not just a security team problem. We saw the same thing in customer success with noisy health score dashboards. When everything is flagged as "critical," nothing gets action.

The fix rate focus changes the vendor conversation overnight. It moves the goal from "look at all the problems we found" to "look at all the problems we helped you solve." That's the only metric that reduces actual risk.


Happy customers, happy life.


   
ReplyQuote
(@annar)
Estimable Member
Joined: 2 months ago
Posts: 211
 

You're absolutely right about the parallel to customer success dashboards. That "alert fatigue" phenomenon is universal in any domain that relies on automated scoring. When every ticket is P1, the system is essentially providing no useful triage data.

This fixation on fix rate does reframe the vendor conversation, but it also places a significant burden on the customer's own process measurement. You can't measure a fix rate without a mature, consistent workflow for tracking findings from detection to remediation closure. Many teams buying these tools lack that rigor. A vendor could sell a perfect tool, but if the client's internal remediation process is broken, the fix rate metric becomes meaningless for comparison.

The real shift requires vendors to also provide, or at least validate, the customer's tracking methodology as part of the evaluation. Otherwise we're just moving from counting raw findings to counting closed Jira tickets, which can be just as gamified.


RTFM — then ask for the audit


   
ReplyQuote
(@alexm82)
Reputable Member
Joined: 3 months ago
Posts: 255
 

That's a really useful way to put it - turning wasted time into a cost. I've never seen a team track the triage time as a percentage of capacity before.

It makes me wonder about the opposite scenario. If a tool's fix rate is high because findings are so obvious, are teams just fixing the low-hanging fruit and missing the complex, high-risk issues that are harder to catch? Could a perfect fix rate also be a red flag?



   
ReplyQuote
(@crm_hopper_2025)
Honorable Member
Joined: 4 months ago
Posts: 339
 

Oh man, this hits home in a different field. It's the exact same story when you evaluate a new CRM's data quality dashboard. They all love to show you that terrifying "10,000 dirty records" number post-migration. It's the vendor's big "value reveal."

But if 9,500 of those are things like a missing "Secondary Phone" field for leads from 2012, it's just noise. The team learns to ignore the alerts, and the real, critical issues-like duplicate accounts messing up attribution-get lost in the pile. You end up paying for a "clean data" feature that just demoralizes your sales ops team with an impossible backlog.

The credibility erosion is the killer. Once your reps think the system cries wolf, they won't trust *any* of its flags.



   
ReplyQuote
(@benchmark_bob_42)
Honorable Member
Joined: 5 months ago
Posts: 433
 

The emphasis on fix rate is a solid step, but we'd need a standardized way to measure it to make cross-vendor comparisons meaningful. Different teams might define "reasonable SLA" or "actually fixed" very differently, leading to another vanity metric.

What if we benchmarked SAST tools on a controlled, synthetic codebase with known vulnerabilities? We could track not just initial find count, but the tool's ability to guide a standardized "remediation agent" (a script following best-practice fixes) to a correct patch. The metric becomes "vulnerabilities resolved per engineering hour" simulated. This controls for team process maturity and isolates the tool's signal-to-noise ratio and guidance quality.


-- bb42


   
ReplyQuote
(@amyc)
Reputable Member
Joined: 3 months ago
Posts: 397
 

Totally with you on shifting focus from find count to fix rate. That shift in perspective is what separates a tool that's just auditing from one that's actually enabling security.

But I'll add a practical wrinkle from experience. Focusing on fix rate only works if you have the cultural and operational ground to support it. A team already skeptical of security "blockers" will see a high fix rate demand and just start rubber-stamping findings as "accepted risks" to game the metric. The number looks good, but real risk hasn't budged. The metric can become a target, and then it ceases to be a good measure.

So while we push vendors on this, we also have to be honest about our own internal readiness. Otherwise, we're just trading one vanity metric for another.



   
ReplyQuote
(@fionah)
Reputable Member
Joined: 3 months ago
Posts: 302
 

Exactly. You've put your finger on the bigger, more expensive problem. Measuring fix rate assumes the team is measuring honestly, and that's never a safe assumption when budgets or bonuses are involved.

I've seen exactly what you're describing. A team under pressure to show a 90% fix rate for their SAST tool renewal simply re-categorized nearly everything as "not exploitable" or "accepted risk." The dashboard looked pristine, the vendor got their renewal, and the actual risk profile didn't change a bit. The tool didn't get worse; the people using it were incentivized to lie.

So we're back to square one: you can't evaluate a tool without also evaluating the team's culture. A high fix rate from a cynical team is just as useless as a high find count. It just costs more in management overhead to maintain the fiction.


trust but verify


   
ReplyQuote
(@infra_architect_rebel_2)
Honorable Member
Joined: 6 months ago
Posts: 410
 

This obsession with fixing the output metric instead of the input is missing the forest for the trees. You're proposing we measure tools on "fix rate," but you've already defined "actionable" as a prerequisite.

That's the whole game. The vendor's entire economic incentive is to make their "findings" look "actionable" so they can claim a high fix rate. They'll just shift from selling you a giant list of problems to selling you a giant list of "highly actionable" problems. The dashboard still fills with red, but now each item has a shiny, one-click "remediation suggestion" that's probably wrong for your actual architecture.

The real cost isn't the triage time, it's the architectural drift caused by teams applying automated, context-free "fixes" to make a graph go up. You'll have replaced a backlog of ignored tickets with a codebase full of band-aids.


monoliths are not evil


   
ReplyQuote
Page 2 / 2