By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
ToolAccuracy of FindingsDetects Non-Pattern-Based Issues?Coverage of SAST FindingsSpeed of ScanningUsability & Dev Experience
DryRun SecurityVery high – caught multiple critical issues missed by othersYes – context-based analysis, logic flaws & SSRFBroad coverage of standard vulns, logic flaws, and extendableNear real-time PR feedback
Snyk CodeHigh on well-known patterns (SQLi, XSS), but misses other categoriesLimited – AI-based, focuses on recognized vulnerabilitiesGood coverage of standard vulns; may miss SSRF or advanced auth logic issuesFast, often near PR speedDecent GitHub integration, but rules are a black box
GitHub Advanced Security (CodeQL)Very high precision for known queries, low false positivesPartial – strong dataflow for known issues, needs custom queriesGood for SQLi and XSS but logic flaws require advanced CodeQL experience.Moderate to slow (GitHub Action based)Requires CodeQL expertise for custom logic
SemgrepMedium, but there is a good community for adding rulesPrimarily pattern-based with limited dataflowDecent coverage with the right rules, can still miss advanced logic or SSRFFast scansHas custom rules, but dev teams must maintain them
SonarQubeLow – misses serious issues in our testingLimited – mostly pattern-based, code quality orientedBasic coverage for standard vulns, many hotspots require manual reviewModerate, usually in CIDashboard-based approach, can pass “quality gate” despite real vulns
Vulnerability ClassSnyk (partial)GitHub (CodeQL) (partial)SemgrepSonarQubeDryRun Security
SQL Injection
*
Cross-Site Scripting (XSS)
SSRF
Auth Flaw / IDOR
User Enumeration
Hardcoded Token
ToolAccuracy of FindingsDetects Non-Pattern-Based Issues?Coverage of C# VulnerabilitiesScan SpeedDeveloper Experience
DryRun Security
Very high – caught all critical flaws missed by others
Yes – context-based analysis finds logic errors, auth flaws, etc.
Broad coverage of OWASP Top 10 vulns plus business logic issuesNear real-time (PR comment within seconds)Clear single PR comment with detailed insights; no config or custom scripts needed
Snyk CodeHigh on known patterns (SQLi, XSS), but misses logic/flow bugsLimited – focuses on recognizable vulnerability patterns
Good for standard vulns; may miss SSRF or auth logic issues 
Fast (integrates into PR checks)Decent GitHub integration, but rules are a black box (no easy customization)
GitHub Advanced Security (CodeQL)Low - missed everything except SQL InjectionMostly pattern-basedLow – only discovered SQL InjectionSlowest of all but finished in 1 minuteConcise annotation with a suggested fix and optional auto-remedation
SemgrepMedium – finds common issues with community rules, some missesPrimarily pattern-based, limited data flow analysis
Decent coverage with the right rules; misses advanced logic flaws 
Very fast (runs as lightweight CI)Custom rules possible, but require maintenance and security expertise
SonarQube
Low – missed serious issues in our testing
Mostly pattern-based (code quality focus)Basic coverage for known vulns; many issues flagged as “hotspots” require manual review Moderate (runs in CI/CD pipeline)Results in dashboard; risk of false sense of security if quality gate passes despite vulnerabilities
Vulnerability ClassSnyk CodeGitHub Advanced Security (CodeQL)SemgrepSonarQubeDryRun Security
SQL Injection (SQLi)
Cross-Site Scripting (XSS)
Server-Side Request Forgery (SSRF)
Auth Logic/IDOR
User Enumeration
Hardcoded Credentials
VulnerabilityDryRun SecuritySemgrepGitHub CodeQLSonarQubeSnyk Code
1. Remote Code Execution via Unsafe Deserialization
2. Code Injection via eval() Usage
3. SQL Injection in a Raw Database Query
4. Weak Encryption (AES ECB Mode)
5. Broken Access Control / Logic Flaw in Authentication
Total Found5/53/51/51/50/5
VulnerabilityDryRun SecuritySnykCodeQLSonarQubeSemgrep
Server-Side Request Forgery (SSRF)
(Hotspot)
Cross-Site Scripting (XSS)
SQL Injection (SQLi)
IDOR / Broken Access Control
Invalid Token Validation Logic
Broken Email Verification Logic
DimensionWhy It Matters
Surface
Entry points & data sources highlight tainted flows early.
Language
Code idioms reveal hidden sinks and framework quirks.
Intent
What is the purpose of the code being changed/added?
Design
Robustness and resilience of changing code.
Environment
Libraries, build flags, and infra metadata flag, infrastructure (IaC) all give clues around the risks in changing code.
KPIPattern-Based SASTDryRun CSA
Mean Time to Regex
3–8 hrs per noisy finding set
Not required
Mean Time to Context
N/A
< 1 min
False-Positive Rate
50–85 %< 5 %
Logic-Flaw Detection
< 5 %
90%+
Contextual Security Analysis
May 15, 2025

MTTR 2.0: Mean Time To Regex and the Hidden Cost of Rule Inflation

Ops measures Mean Time To Respond.

AppSec endures Mean Time To Regex—the stopwatch that starts when a scanner barks and only stops after someone hand-tunes yet another pattern.

A Tuesday Afternoon in Build-Fail Land

Scene 1: Enter the Phantom SQLi
Nightly SAST screams “SQL injection!”—but the flagged call only builds a log string. The security engineer just wants the build light to flip green, so she writes a quick pattern. The alert vanishes, but, silently, so does detection for real injection payloads. (If accuracy matters, see the 2025 SAST Accuracy Report which shows pattern scanners routinely miss.)

Scene 2: The Regex Cascade
One sprint later a new date-parsing library lands; SAST now flags Potential Path Traversal.A second bespoke rule appears. 

Scene 3: Time to Release
Unfortunately, the new path traversal rule matches every os.path.join() helper in the repo. Juniors are furious, seniors eye-roll, and the release is frozen. Six Hours, three context-switches, and near-zero risk reduction later, the release ships.

This is your Mean Time to Regex (MTTR). Yes, a horrible rebranding of the real MTTR. But for AppSec, this is life, and the time and caffeine spent on these alerts (six hours and a half-finished latte) is gone. Only at the end of the day, our hero realizes the AI copilot has introduced two new idioms the scanner can’t parse, so maybe a second latte would help.

Your story might look different, but I bet this tale sounds familiar. This has been the approach in the industry for decades. 

“Semgrep rule-writing is simple in principle, but it can be easy to make mistakes in practice, especially for new rule writers.” — Brandon Wu, Semgrep

Déjà Vu from the “Known Knowns” Post

In last week’s Beyond Pattern Matching piece, we mapped security into Known Knowns, Known Unknowns, and Unknown Unknowns. Pattern scanners live comfortably in the first bucket—but real-world code lives mostly everywhere else. MTTR (Regex) is what happens when you force deterministic tooling to patrol a non-deterministic universe created by creative humans (developers) and their coding assistants (AI).

Why “Regex Tax” ≠ Risk Reduction

  • Rule Inflation – Every new library spawns a new signature.
  • Silent Failures – A brittle pattern quietly stops matching while CI says “green.”
  • Human Drag – Skilled engineers burn cycles tending and curating rules instead of building value.

OWASP’s Static Code Analysis guide doesn’t mince words: “A static code analysis tool will often produce false positive results…” Noise isn’t an accident—it’s the out-of-the-box, factory setting for these tools.

As an industry, we task our top security talent with the most mundane job—regex—to police the most creative resource—developers. That’s unsustainable.

Enter MTTC—Mean Time to Context

DryRun Security’s Contextual Security Analysis (CSA) skips the rule mill entirely. It ingests five context vectors—Surface, Language, Intent, Design, Environment (SLIDE)—and returns insights while the pull-request conversation is still fresh. MTTC is measured in seconds, not hours.

Richard Cook’s classic safety principle explains the payoff of context for security: “Catastrophe requires multiple failures—single-point failures are not enough.” While this was written in the realm of safety science, the correlation to security is undeniable. Regex rules and patterns hunt single points of failure, however context reveals the lethal combinations and unexpected failure modes.

SAST vs. Contextual Security Analysis 

{{table8}}

Four Simple Moves = Big Impact

Legacy SAST tools lock AppSec teams in a frustrating loop—endlessly crafting fragile regex patterns to silence false positives, all while critical vulnerabilities slip through unnoticed. You don’t have to rely on Regex anymore. You don’t have to find only the known-knowns. Get a better return on your investment in security.

1. Log Your Regex Tax
Think back: two sprints ago. How many real developer hours went into hand-crafting, validating, and debugging static analysis rules? Track it. That’s your regex tax.

2. Run a MTTC Pilot
Take DryRun’s Contextual Security Analysis engine and point it at your noisiest repo (or all of your repos!). See what happens when context replaces brittle patterns: accuracy increases, developers are happier, and there’s no regex needed!

3. Report the Delta
How many developer hours did you get back? Show your team the before and after.

4. Remove Toil from AppSec
Stop pouring time and money into rule writing, tuning, and maintenance. Shift those resources into strategic uses of your team.

That’s it. Context isn’t a luxury—it’s your next productivity unlock.

Trade Up Today

Ready to retire MTTR (Regex) and win back your engineers’ Tuesdays? Download the 2025 SAST Accuracy Report or kick off a free 2-week trial with DryRun Security. MTTC > MTTR.