Don't Sh*t-Left: How to Actually Shift-Left
This talk critiques the common implementation of 'shift-left' security, arguing that simply inserting automated scanners into CI/CD pipelines often leads to developer burnout and ineffective security outcomes. It highlights the critical need for high-fidelity findings, clear processes, and developer-centric security integration rather than just tool deployment. The speaker emphasizes that effective shift-left requires treating security as a developer experience (DX) problem, incorporating AI as a first-line defense, and fostering cross-functional collaboration. The presentation concludes by warning about the emerging risks of 'vibe coding' and the rise of non-human developers in the software lifecycle.
Why Your Automated Security Pipeline is Actually a Liability
TLDR: Most organizations implement "shift-left" security by dumping noisy, high-false-positive SAST scanners into CI/CD pipelines, which creates developer friction and ignores real business logic vulnerabilities. This approach often results in "vibe coding" where developers bypass security controls to meet deadlines, leaving critical flaws like SQL injection and hardcoded credentials exposed. To actually shift left, security teams must prioritize high-fidelity findings, integrate directly into developer workflows, and treat security as a developer experience (DX) problem rather than a compliance checkbox.
Security teams have spent the last decade obsessed with the idea of shifting left. The industry narrative is simple: catch bugs earlier in the development lifecycle to save money and reduce risk. In practice, this has devolved into a race to see who can integrate the most automated scanners into a GitHub Actions or GitLab CI pipeline. The result is rarely a more secure application. Instead, it is a graveyard of ignored alerts, broken builds, and a growing resentment between security engineers and developers.
The Myth of Automated Security
When you force a developer to deal with a tool that produces 80% false positives, you aren't doing security. You are doing administrative busywork. Traditional static analysis tools often fail to understand the context of an application, flagging benign code patterns as critical vulnerabilities while missing the subtle, business-logic-heavy flaws that actually lead to a breach.
If a developer sees a hundred alerts for a single pull request, they will eventually set allow_failure: true or simply ignore the output entirely. This is the "sh*t-left" reality. You have successfully moved the security process to the left, but you have also successfully ensured that no one is paying attention to it.
The Rise of Vibe Coding and Non-Human Developers
We are entering a new era where the barrier to entry for shipping code has effectively vanished. Tools like GitHub Copilot and various AI coding agents allow anyone to generate functional, complex applications in minutes. This is what some call "vibe coding." A salesperson or a product manager can now spin up a full-stack application on Vercel or Replit without ever writing a line of code themselves.
The danger here is obvious. These agents are trained on massive datasets of public code, which includes plenty of insecure patterns. They are excellent at writing code that works, but they are often terrible at writing code that is secure. When you combine this with the speed of modern deployment, you get a massive increase in the attack surface. We are seeing a rise in SQL injection and hardcoded credentials appearing in production environments that were never touched by a human developer.
How to Actually Shift Left
If you want to fix this, you have to stop treating security as a gatekeeper and start treating it as an enabler. This starts with the developer experience. If your security tool isn't integrated into the IDE or the CLI, it is already too late. Developers should not have to context-switch to a separate dashboard to see if their code is vulnerable.
1. High-Fidelity Findings
Stop reporting every potential issue. If a finding isn't actionable, don't show it. A single, high-fidelity finding that explains exactly why the code is vulnerable and how to fix it is worth more than a thousand generic warnings. If you are using Semgrep, focus on writing custom rules that target your specific tech stack rather than relying on massive, noisy rule sets that flag everything under the sun.
2. Paved Roads
The best way to secure an application is to make the secure way the easiest way. If your developers are constantly hitting T1190 style exploits because they are using insecure database drivers, provide them with a library or a wrapper that handles parameterization by default. When the "secure" path is also the "fast" path, developers will take it every time.
3. AI as a First-Line Defense
We need to stop fearing AI and start using it to augment our security teams. Humans cannot keep up with the volume of code being generated today. Use AI to triage findings, provide remediation suggestions, and even act as a first-line code reviewer. If an AI agent can catch a hardcoded API key before it ever hits the repository, you have already won.
The Future of Security
The ratio of security engineers to software engineers at most companies is abysmal, often reaching 1:500 or worse. You cannot scale by hiring more people. You have to scale by building better platforms. If you are a pentester or a researcher, stop looking for the same old bugs in the same old places. Start looking at the CI/CD pipelines and the AI-generated code that is being pushed to production. That is where the next generation of critical vulnerabilities will be found.
Security is no longer about blocking deployments. It is about building the guardrails that allow developers to move fast without breaking things. If you aren't providing those guardrails, you are just another bottleneck in the process. Stop sh*tting left and start building a system that actually works for the people who are writing the code.
Vulnerability Classes
Tools Used
Target Technologies
Attack Techniques
OWASP Categories
All Tags
Up Next From This Conference
Similar Talks

Kill List: Hacking an Assassination Site on the Dark Web

Counter Deception: Defending Yourself in a World Full of Lies




