Maturing Your AppSec Program
This talk outlines three common application security program models and provides actionable strategies for maturing them. It emphasizes the importance of integrating security into the software development lifecycle, utilizing free and paid security tools, and fostering collaboration between security and development teams. The presentation highlights the necessity of a data-driven approach to security, including threat modeling, secret management, and continuous scanning to reduce organizational risk.
Stop Treating Your AppSec Program Like a Compliance Checklist
TLDR: Most application security programs fail because they prioritize rigid, checkbox-driven models over actual risk reduction. By shifting from expensive, infrequent penetration testing to a data-driven approach that includes continuous scanning and developer-focused training, teams can identify vulnerabilities earlier. This post breaks down how to move beyond the "tools-first" trap and build a program that actually secures code.
Security programs often fall into one of three traps: the "PenTest-Only" model, the "Tools-First" model, or the "Stranglehold" model. If you are a researcher or a pentester, you have seen these in the wild. You walk into an engagement, and the client hands you a massive, outdated spreadsheet of findings from a scan they ran six months ago. They think they have an AppSec program, but they have a compliance artifact.
The PenTest-Only Trap
Many organizations believe that hiring a third party to run a penetration test once a year constitutes a security program. This is the most common and most expensive mistake. When you only test the "important stuff" once annually, you are essentially ignoring 99% of your attack surface.
From a researcher's perspective, this model is a goldmine for finding low-hanging fruit that has been sitting in production for months. If you are testing an application that hasn't been touched by a security professional since the last audit, you are not testing a secure system; you are performing a post-mortem on a neglected one.
To mature this, you must stop relying on the annual checkup. Start by implementing secure coding training for your developers. If you have zero budget, use free tools to bridge the gap. For dynamic analysis, OWASP ZAP is the industry standard for a reason. For static analysis, integrate Semgrep into your CI/CD pipeline. It is fast, it is open-source, and it catches common patterns like injection and hardcoded secrets before they ever hit production.
The Tools-First Trap
The second model is the "Tools, Tools, and More Tools" approach. Organizations in this category buy every license they can afford, deploy them partially, and then wonder why their developers are ignoring the alerts. They have a SAST tool, a DAST tool, and maybe a SCA tool, but they have no integration, no triage process, and no developer buy-in.
When you have 11 different security tools running, you are not creating security; you are creating noise. If your developers are getting flooded with false positives from a tool that hasn't been tuned since it was installed, they will stop looking at the reports entirely.
The fix here is simple but difficult: consolidate. If you have a tool that has been sitting idle for three years, kill it. If you are using 20% of your licenses, you are wasting money that could be spent on headcount. Hire an AppSec person who actually understands the development lifecycle. A single person who can sit with a dev team, explain why a specific finding matters, and help them write a patch is worth more than a dozen automated scanners that no one trusts.
The Stranglehold Model
The final model is the "Stranglehold." This is where security teams have all the budget, all the tools, and all the authority, but they use it to create friction. They require a three-week review process for a one-line code change. They treat developers like adversaries rather than partners.
This culture is toxic. When security becomes a blocker, developers will find ways to bypass it. They will move code to shadow IT environments, they will disable security controls, and they will stop communicating with the security team.
If you want to mature this, you have to change the culture. Start by being available. If a developer has a question about a vulnerability, answer it immediately. If you are a lead or a founder, empower your team to be advocates, not gatekeepers. Use ModSecurity to provide a layer of protection for legacy applications that cannot be easily patched, but do not use it as an excuse to ignore the underlying code flaws.
Building a Data-Driven Future
No matter which model you are currently in, the path forward is the same: be data-driven. You cannot improve what you do not measure. Start gathering metrics on your findings. How long does it take to fix a critical vulnerability? How many of your findings are false positives?
Use this data to run experiments. If you find that a specific team is consistently introducing the same type of injection flaw, don't just send them a report. Run a workshop. Show them the code. Explain the impact. If you can show the business that your security program is actually reducing the number of incidents, you will get the budget you need to scale.
Finally, embrace threat modeling. It does not have to be a complex, weeks-long exercise. Use the four-question frame to get started. It forces you to think about what you are building, what could go wrong, and what you are going to do about it.
Security is not about finding every bug. It is about reducing organizational risk in a meaningful, lasting way. Stop chasing the perfect scan and start building a program that your developers actually want to work with. If you can do that, you will be ahead of 90% of the industry.
Vulnerability Classes
Target Technologies
Attack Techniques
Up Next From This Conference

Breaking Secure Web Gateways for Fun and Profit

Listen to the Whispers: Web Timing Attacks That Actually Work

Abusing Windows Hello Without a Severed Hand
Similar Talks

Hacking Millions of Modems

Cracking the Lens: Exploiting HTTP's Hidden Attack Surface

