Conquering Security Debt

Conquering Security Debt

As security leaders, we're often called in after the party's started. We arrive to find a product already in motion, an engineering team stretched thin, and a backlog of features that seems a mile long. Buried beneath that visible product backlog is a more menacing one: security debt. It's the technical debt no one likes to talk about, representing all the implicit costs of choosing speed over security. It’s the cumulative result of insecure defaults, missing security controls, and quick fixes made under pressure.

Unlike traditional technical debt, where the consequences might be poor performance or difficult maintenance, the interest on security debt is paid in breaches, reputational damage, and loss of customer trust. The challenge isn't just technical; it's cultural. An organization with significant security debt often has a culture where security is seen as an obstacle, not a partner.

I've led this charge many times, and I won't sugarcoat it: it’s an uphill battle. You’re tasked with fixing an airplane while it’s flying at 30,000 feet. The business can't just stop delivering features to fix security problems. Success requires a pragmatic, multi-faceted approach that blends deep technical skill with even deeper leadership, communication, and negotiation.

Phase 1: Triage and Contain the Damage

Before you can build a secure future, you must address the immediate past. This isn't about blaming teams for past decisions; it's about building a shared understanding of the risks we face today. The foundation of this entire phase is a genuine partnership with engineering. The single most important part of this phase is to make engineering your partner, not your adversary. Bring them into the threat modeling sessions from day one. They have an unparalleled understanding of the system's architecture and constraints. By making them part of the discovery process, you achieve two critical goals:

1. Shared Ownership: The findings are no longer "security's problems"; they are "our problems."

2. Organic Education: Engineers begin to internalize a security mindset, learning to spot potential issues in their own work.

Step 1: Identify and Prioritize Your Debt

You can't fix what you can't see. The first step is to create a clear, risk-ranked inventory of your security debt. Generic vulnerability scans that produce thousands of findings are counterproductive here. Instead, focus on high-impact activities:

  • Collaborative Threat Modeling: Don't do this in a vacuum. Grab your lead engineers, architects, and product managers and walk through your application's critical data flows and trust boundaries. Outside of threat modeling frameworks like STRIDE, keep it simple with the four key questions from the Threat Modeling Manifesto.

1. What are we working on?

2. What can go wrong?

3. What are we going to do about it?

4. Did we do a good enough job?

  • Targeted Risk Assessments: Focus on the crown jewels of your application. Where is the most sensitive data stored and processed? What are the most critical business functions? A deep-dive assessment on these specific areas will yield a much more actionable list of risks than a broad, shallow scan of the entire codebase. The key is to end with a prioritized list of risks in order of criticality so efforts can be focused and impactful.

Step 2: Act Decisively on Critical Risks

Your initial assessments will undoubtedly uncover a few high-priority, "drop everything" risks. When you find these, your job is to be a partner in the solution, not just the messenger of bad news. For each critical finding, work with the product and engineering teams to present a clear and concise action plan:

1. Compensating Controls: Is there anything we can implement right now to mitigate the risk? This could be a web application firewall (WAF) rule, an alerting mechanism, or a temporary feature flag. Buy yourself time.

2. Level of Effort & Timeline: Work with engineering to produce a realistic estimate for a permanent fix. Your credibility depends on understanding and respecting their workflow and capacity.

3. Impact Analysis: Clearly communicate the impact of the remediation work on the existing product roadmap and release schedule. Be prepared to negotiate and find a pragmatic path forward that balances security risk with business velocity.

Phase 2: Pave the Road for a Secure Future

While you're busy containing the most critical fires, you must simultaneously work to prevent new ones from starting. This means methodically weaving security into the fabric of your development lifecycle. This runs in parallel to cleaning up existing debt and ensures that you aren't creating new problems faster than you can fix the old ones.

Step 1: Assess Your Secure SDLC Maturity

To build a roadmap, you first need to know where you're starting from. A maturity assessment provides an objective baseline of your current Secure Software Development Lifecycle (SSDLC) practices. I'm a strong proponent of the OWASP Software Assurance Maturity Model (SAMM). It's a fantastic, open-source framework that helps you evaluate your practices across different business functions like Governance, Design, Implementation, and Verification.

The goal here isn't to achieve a perfect score. The goal is to get an honest, data-driven picture of your strengths and weaknesses.

Step 2: Implement a Phased SSDLC Roadmap

With your SAMM assessment in hand, work with leadership to build a realistic, incremental roadmap for maturing your security practices. Don't try to boil the ocean. Focus on introducing high-value changes in manageable phases. Your roadmap might look something like this:

Quarter 1: Introduce automated static analysis (SAST) into the CI/CD pipeline for all new code contributions. Provide foundational security training for all developers.

Quarter 2: Formalize the threat modeling process for all new major features. Introduce dependency scanning to manage third-party library risk.

Quarter 3: Implement a baseline set of security unit tests and integration tests.

Quarter 4: Begin a bug bounty program or formalize a penetration testing schedule.

By integrating security practices step-by-step, you make the changes manageable and allow the culture to adapt and absorb them. This is how you stop accumulating new security debt while you continue to pay down the principal on your existing debt.

This entire process is a marathon, not a sprint. Conquering security debt is one of the most difficult leadership tests you will face, demanding the conviction to advocate for long-term change, the empathy to build bridges with engineering, and the strategic foresight to translate risk into business terms.

But the outcome is more than just a reduced backlog. It’s a cultural transformation. You are moving your organization from a reactive state of fighting fires to a proactive one of building resilient, trustworthy systems. You are redefining security's role from that of a gatekeeper to a strategic enabler of durable innovation.

Success isn’t measured in the number of vulnerabilities closed, but in the creation of a lasting security culture. It is the difference between constantly patching a leaky dam and fundamentally rerouting the river. As a leader, this is your opportunity not just to fix problems, but to build the foundation of trust that will secure your products—and your business—for years to come.

Very well said, Jacob! Every organization delivering software products must strike the balance between business enablement and resilience, debt remediation and evolution. Relationships, transparency, and trust are key ingredients to success. Thanks for sharing!

First of all, I really enjoyed the sharp and engaging writing Jacob Combs ! As a company that’s redefining the concept of preventing cloud gaps,not in code, but in the cloud itself, I couldn’t agree more. One of the things we’re most proud of at Aryon isn’t just how many security gaps we prevent, or even how quickly resources are created securely after a prevention, but how we support an organizational process that helps people get things right in the cloud from day one

Security debt is the silent cost of speed over security. Addressing it isn’t just technical—it’s cultural. Let’s build resilient systems together. Speed kills security. Addressing security debt isn’t just about closing gaps—it's about building a culture of resilience. Security debt isn’t just technical debt—it’s a cultural one. Time to shift from reactive patching to proactive, integrated security practices.

Strong article, Jacob Combs . Curious if you've found that some forms of tech debt are harder to repay not because of technical complexity, but because of internal/organizational inertia or maybe unclear ownership? Good read!

Great article Jacob, I can already see the patterns being followed here and the progress being made at Tandem. Especially the part about a security and engineering being a partnership.

To view or add a comment, sign in

More articles by Jacob Combs

Others also viewed

Explore content categories