Skip to content
Sedat Özdemir
Writing

devsecops

The Shift Left Illusion: Are We Building Security or Just Generating Noise?

Why are remediation times still 200+ days if we're 'shifting left'? A deep dive into the trap of over-relying on automated security tools in CI/CD.

Sedat Özdemir
· 3 dk read

If you look at the reports published every year in the cybersecurity world, you’ll see that over 90% of organizations claim to have adopted a 'Shift Left' strategy. But then, in the fine print of those same reports, the fact that the average remediation time for critical vulnerabilities is still over 200 days hits you like a ton of bricks. Isn't that a massive contradiction? If we’re catching everything at the very beginning of the software development lifecycle, why are those 'critical' labeled bugs still guests in our systems for months? My stance on this is clear: Shift Left is often not about moving security to the left, but rather dumping the burden and guilt of security onto the developer's shoulders and stepping aside. If we view this process as just a few scanning tools tossed into a pipeline, we aren't actually increasing security; we’re just maximizing the amount of noise.

I realized this while conducting penetration tests for a large-scale e-commerce structure similar to NexMart (kurgusal şirket). The static application security testing (SAST) tools integrated into the CI/CD pipelines were generating thousands of findings. Because developers knew that 95% of these findings were 'false positives,' they had developed an immunity to seeing 'security alerts.' A box turning red no longer excited anyone; instead, it was perceived as a nuisance blocking their work. When I entered the system, I managed to access the address information of thousands of users by exploiting a simple insecure direct object reference (IDOR) vulnerability that was lost in that massive cloud of noise and was child's play to exploit. Automated tools couldn't catch it because they couldn't understand the business logic. The developer, struggling with a 500-page PDF report generated by the tool, simply didn't have the time to manually check for this logic flaw.

I can hear the counter-argument: 'Sedat, it's better than nothing; at least we catch known library vulnerabilities (SCA - Software Composition Analysis).' Yes, that’s true. Using an old library with a known CVE is suicide. But the point is, when we reduce security to a checklist, we destroy that 'security intuition' within the team. Security shouldn't be a 'gate'; it should be a 'flow.' If you tell a developer 'check these 10 rules before committing this code,' they’ll pass those 10 rules but ignore the disaster at step 11. Because what they’ve been taught isn't how to write secure code, but how to bypass the security tool.

By the way, if you feel safe just because you have a secret scanning tool in your pipeline, you're mistaken; a simple base64 encoding or a creative variable name can often blind those 'expensive' tools. Have you ever wondered why a regular expression (regex) you wrote yourself couldn't catch the API key you were actually trying to protect and dived deep into that code?

So, why are we in this situation? Because tools are the easiest thing to buy and install. Licensing a SAST or dynamic application security testing (DAST) tool and hooking it up to Jenkins is a two-day job. But teaching a developer how to do threat modeling and giving them the ability to think like an attacker takes months. We choose the easy way. While companies think they are automating the responsibility of finding security vulnerabilities, they are actually just burying that responsibility among log files.

Think of a...

Related posts