Vulnerability Management

Vulnerability Management Programs: From First Scan to Zero Critical Open

A vulnerability management program is not a scanner configuration. It is a continuous process that assigns ownership, tracks remediation, and measures risk reduction over time. Here is how to build one that delivers genuine security improvement instead of just finding counts.

What Vulnerability Management Actually Covers

A vulnerability management program is the organizational system that decides which security weaknesses get fixed, in what order, and by whom. It sits above any individual scanner or tool. You can run daily scans across your entire infrastructure and still have no vulnerability management program if nothing is being tracked, assigned, or resolved.

The scope of a mature program extends well beyond application code. It covers the operating system packages running under your services, the container base images in your registry, the third-party dependencies your code pulls in at build time, the cloud infrastructure configuration your environment runs on, and the web application behavior exposed to the internet. Each of these surfaces requires different scanning methods and produces findings at different rates. A program that only covers source code misses most of the attack surface that real adversaries target.

The process itself has four phases that must all function for the program to work. Discovery produces a consistent inventory of findings across all surfaces. Triage assigns severity and ownership to each finding. Remediation tracks progress against defined timelines. Reporting surfaces risk trends to both engineering teams and business leadership. Missing any one phase produces a broken loop: findings accumulate without assignment, teams fix things without tracking, or leadership makes decisions without accurate data.

Understanding this structure matters because most organizations start by asking "what scanner should we use" when the right question is "what process should we build." Tools support the process. They do not replace it.

The Discovery Phase: Getting Consistent Scan Coverage

Discovery means running scans reliably across all relevant surfaces on a schedule that reflects how fast your environment changes. A codebase that ships multiple times per day needs scan coverage tied to the CI/CD pipeline. Infrastructure that changes through Terraform or similar tooling needs scans triggered at plan or apply time. Container images need to be scanned when they are built and again when base image updates arrive.

The most common failure in discovery is inconsistent coverage. Teams scan the parts of the stack they know about and miss the parts that have accumulated over time: an old service running on a legacy server, a dependency in a package that no one updated, a cloud storage bucket configured before anyone enforced baseline controls. Maintaining an accurate inventory of what exists is a prerequisite for scanning it.

Source code scanning fits naturally into CI/CD pipelines. Each pull request can trigger a scan and surface findings before code merges. This is the most cost-effective place to catch code-level vulnerabilities because the developer who introduced them is still actively working on that code and can fix it with minimal context-switching cost. For details on how different scanning techniques work at this stage, see the companion article on vulnerability scanning methods.

Dependency scanning should run both in the pipeline and on a schedule against the production manifest. A package you pulled in six months ago might have a new advisory published today. Pipeline-only scanning will not catch that unless someone opens a pull request that happens to touch the dependency file.

Infrastructure scanning requires access to live environments, which means it usually runs on a schedule rather than per-commit. Cloud configuration checks, exposed port scans, and secrets detection in environment configurations all fall into this category. The output tends to be noisier and requires more aggressive triage to prevent alert fatigue.

Triage: Separating Risk from Noise

Triage is where most vulnerability management programs break down. Scanners report everything they find. A mature triage process assigns each finding a priority that reflects actual business risk, not just the theoretical severity score in a database entry.

CVSS scores are a starting point, not a final answer. A critical CVSS score on a library that is never invoked at runtime with attacker-controlled input is a much lower priority than a medium score on an injection point in your login endpoint. Effective triage accounts for exploitability in your specific environment: is the affected component reachable from the internet, is the vulnerable code path actually executed, does a working exploit exist in the wild, and what is the impact if it is exploited. A CVSS 10.0 unauthenticated full compromise like the one found in Hoppscotch (CVE-2026-50160) belongs in the P0 column regardless of any other context.

This is why exploit validation matters. When a scanner can confirm that a finding is not just theoretically vulnerable but actively exploitable given how your code uses the affected component, it becomes substantially easier to triage correctly. Kira reduces triage burden by delivering confirmed exploitable findings rather than raw scan output, which means security teams spend less time investigating false positives and more time remediating real risk. For a deeper treatment of how different scanning approaches handle validation, see the comparison of SAST, DAST, and SCA methods.

After exploitability, consider business context. A vulnerability in a customer-facing payment flow carries different weight than the same vulnerability in an internal analytics dashboard. Ownership matters too: a finding with no assigned owner will never be fixed regardless of its severity. Triage should produce a finding record with a severity tier, an owner, and a target remediation date. Without those three fields, the finding is not triaged, it is catalogued.

Note: A vulnerability management program that produces a PDF report once a quarter is not a program. It is a compliance exercise. Real programs track open findings continuously, escalate when SLAs are missed, and show a trend line that moves toward fewer critical open issues over time.

Remediation Tracking and SLA Design

Service level agreements for vulnerability remediation define how fast different classes of findings must be fixed. Without SLAs, "we will fix it eventually" becomes the default answer for every finding that requires effort. SLAs turn vague intention into a trackable commitment.

SLA design starts with the severity tiers you use in triage. The table below shows one reasonable approach to tier definitions. The specific windows can and should be calibrated to your organization's risk tolerance, but the structure of having defined windows with defined escalation paths is the essential requirement.

Priority Definition Target remediation window Escalation if missed
Critical Exploitable, internet-reachable, confirmed data exposure or system compromise risk 24–48 hours Immediate engineering lead and CISO notification; incident process activated
High Exploitable or near-exploitable, significant impact if triggered 7–14 days Engineering manager escalation; sprint commitment required
Medium Potential exploitability under specific conditions, moderate impact 30–60 days Backlog review; added to next planning cycle
Low / Informational Defense-in-depth improvement, no direct exploitability 90 days or next major release Backlog aging review; accepted risk option available

SLAs are only useful if someone is tracking them. This means your vulnerability tracking system needs to generate alerts when a finding approaches its deadline and a clear escalation path for when deadlines are missed. Many teams use their existing project management tooling for this: every finding becomes a ticket with a due date, and a weekly report surfaces tickets that are approaching or past due.

Accepted risk is a legitimate option for low and medium findings that cannot be fixed within the standard window due to technical constraints or business priority. Acceptance should be documented with a rationale, an owner who accepts the risk, and an expiry date that triggers re-review. Acceptance without a time limit is not risk management, it is deferral with no accountability.

Remediation velocity is a useful metric for program health: how many findings are being closed per week relative to how many new ones are being opened. If the rate of new findings consistently exceeds the rate of closures, the backlog grows without bound and the program is losing ground. This metric should be visible to both the security team and engineering leadership.

Reporting for Engineering and Executive Audiences

Effective vulnerability management programs produce two distinct types of reports, because engineers and executives need different information to act.

Engineering-facing reports are tactical. They list open findings by owner, show which items are approaching their SLA deadline, and provide enough technical detail for a developer to understand the vulnerability and start remediation without additional context. The format can be as simple as a filtered view in your issue tracker or as structured as a weekly digest sent to team leads. What matters is that the recipient can take direct action from the report without needing to ask follow-up questions.

Executive-facing reports are strategic. They show risk posture over time: how many critical and high findings are currently open, how that number has changed over the past quarter, whether SLA compliance is trending up or down, and where the largest concentrations of risk exist in the product portfolio. Executives rarely need to know about individual CVE identifiers. They need to understand whether the security program is reducing organizational risk and where investment is most needed.

A common mistake is to report raw finding counts without context. A team that scanned a new service for the first time this month will show a spike in new findings that looks alarming but reflects improved coverage rather than increased risk. Good reporting distinguishes between net new risk and newly discovered existing risk, and shows the age distribution of the open backlog rather than just a total count.

The metrics that tend to be most useful for a mature program are: mean time to remediation by severity tier, SLA compliance rate over rolling 30-day and 90-day windows, critical open count as a point-in-time snapshot, and the ratio of findings closed to findings opened. These four metrics together give a complete picture of whether the program is functioning.

Continuous Improvement: When to Change Your Program

A vulnerability management program should be reviewed and updated on a regular cadence. The threat environment changes, the technology stack changes, and the organization's risk tolerance changes. A process designed for a monolithic application may need significant revision once the architecture shifts to microservices. A triage approach calibrated for a ten-person engineering team may not scale to a hundred engineers across multiple product lines.

There are several signals that indicate a program needs structural changes rather than just tuning. If SLA compliance is consistently below acceptable levels despite escalation, the SLAs may be set unrealistically tight for the volume of findings being generated, or the remediation capacity is insufficient for the current scanning scope. If the backlog is growing despite apparent effort, there may be a coverage gap producing findings faster than they can be addressed, or findings are being opened for issues that should be filtered at triage. If engineering teams are ignoring or pushing back on findings, the quality of the findings themselves may be the problem rather than the remediation process.

For organizations looking to understand how vulnerability management fits into the broader discipline of application security posture, the article on application security programs covers the wider context of where vulnerability management sits relative to secure design, threat modeling, and security testing.

Investing in better finding quality is often the highest-leverage change available to a struggling program. When findings are confirmed exploitable rather than theoretically possible, engineers treat them with appropriate urgency. When findings include enough context to understand the actual risk, triage decisions are faster and more accurate. Improving the signal-to-noise ratio of what enters the remediation queue has a compounding effect on every downstream step in the process. The Ghost webhook SSRF (CVE-2026-53945) illustrates how a missing compensating control upgrades a medium-severity pattern to a confirmed exploitable path — exactly the kind of context that separates a well-triaged finding from one that sits unactioned in a backlog. For real-world examples of how severity plays out across different codebases, see Kira’s case studies.

FAQ

How do I build a vulnerability management program with a small security team?

Small security teams should prioritize ruthless scope reduction at the start. Pick the two or three surfaces that represent the highest risk to the business and build the full discovery-triage-remediation-reporting loop for those surfaces before expanding. A well-functioning program covering your most critical production services is far more valuable than a partial program that nominally covers everything but tracks nothing through to resolution. Automation matters more for small teams: pipeline-integrated scanning eliminates the need to manually schedule scans, and a ticketing system integration that auto-creates issues from findings removes the manual step of translating scan output into actionable work items. Validated, high-confidence findings also make a significant difference when team capacity is limited, because every hour spent investigating a false positive is an hour not spent remediating a real vulnerability. As the program matures, coverage can expand incrementally, adding one new surface at a time and verifying the loop holds before moving on.

What is a reasonable SLA for critical vulnerability remediation?

The most widely adopted target for critical vulnerabilities is 24 to 48 hours from confirmed discovery to remediation or mitigation in place. This window is grounded in the reality that widely known critical vulnerabilities are actively scanned for by automated tooling shortly after public disclosure, and a window measured in weeks creates unacceptable exposure. For many organizations, full remediation within 48 hours is operationally difficult, which is why "mitigation in place" is an acceptable intermediate state: disabling the vulnerable feature, blocking access at the network layer, or deploying a WAF rule while a proper fix is prepared all count as mitigation. The key is that the risk must be actively reduced within the critical window, not just acknowledged. Some compliance frameworks specify their own SLAs that may differ from operational best practice; these should be treated as a floor rather than a ceiling. Organizations with lower risk tolerance, such as those handling financial data or regulated personal information, often hold themselves to a tighter window than the standard guidance.

How should I report vulnerability metrics to non-technical executives?

Executive reporting on vulnerability metrics should answer three questions: how exposed is the organization right now, is that exposure improving or worsening over time, and where does the organization need to invest to reduce risk further. The most accessible format is a small dashboard or one-page summary that shows the current count of critical and high open findings, a trend line covering the past three to six months, and the current SLA compliance rate. Avoid raw CVE identifiers and technical vulnerability names; instead, frame findings in terms of what could happen if exploited and which business systems or data are affected. A chart showing the open critical count declining quarter over quarter is a more persuasive demonstration of program effectiveness than any technical detail. When the trend line is moving in the wrong direction, the report should explain the proximate cause (new scanning coverage, a dependency advisory wave, a newly onboarded product line) and what is being done to return to trend. Executives generally make better decisions when they understand whether a spike reflects increased risk or increased visibility.

Related resources

See what Kira finds in your stack.

Kira runs autonomously on your codebase and delivers verified, exploitable findings with proof. Not alerts. Not maybes.

Get started free