Enterprise DevSecOps & Automated CompliancePlaybook3 min readUpdated September 2026

Your Dependency Scanner Files 200 Tickets a Week. Nobody Reads Them

Turn on a software composition analysis tool against a real production codebase and it will likely surface hundreds of findings in the first scan, most of them for transitive dependencies nobody on the team has thought about in years. The predictable result is that engineers stop reading the tickets within a month, which defeats the entire point of running the scanner.

This is a triage system that separates the vulnerabilities that actually need same-week attention from the noise, and keeps the backlog from growing faster than anyone can work through it.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Why raw CVE count is the wrong metric to manage against

Not every CVE in a dependency tree is reachable from your actual code, and not every reachable one is exploitable in your specific deployment context. A critical vulnerability in a logging library's XML parser matters enormously if you ever parse untrusted XML, and barely at all if that code path is never invoked. Scanning tools that support reachability analysis, tracing whether the vulnerable function is actually called from your code, cut the real action list down dramatically compared to a raw dependency-tree scan.

A four-tier triage that a small team can actually keep up with

  • Tier 1, patch this week: a known exploited vulnerability, meaning it's actively being used in real attacks, on a reachable, internet-facing code path.
  • Tier 2, patch this sprint: a critical or high severity finding on a reachable path that isn't internet-facing.
  • Tier 3, batch into routine dependency updates: anything unreachable today but worth clearing during a normal update cycle, since code paths change and yesterday's unreachable function can become reachable.
  • Tier 4, accept and document: a finding in a dependency you're actively planning to replace, or one where a compensating control, like network isolation, already mitigates the actual risk.

The federal standard for known exploited vulnerabilities sets a strikingly tight bar, a fourteen-day remediation window from the point a CVE is added to the catalog, which is a useful benchmark even for teams with no federal compliance obligation at all1.

Automating what's genuinely automatable

A patch version bump that fixes a vulnerability without touching a public API is a safe candidate for full automation: open the pull request, run the test suite, and auto-merge on green. A major version bump almost never is, since it can carry breaking changes the vulnerability fix has nothing to do with. Configure automated dependency update tooling to distinguish these two cases explicitly, auto-merging the first and routing the second to a human, rather than either auto-merging everything, which will eventually break production, or nothing, which is how the backlog grows unmanageably.

Where a platform like Tenable earns its keep here

The reachability analysis and continuous scanning that make this triage system possible are exactly the layer a platform like Tenable is built to provide: scanning containers, dependencies, and infrastructure continuously rather than at a single point in time, and surfacing which findings are actually exploitable given your deployment. Pairing that with CrowdStrike's runtime visibility on the endpoints and workloads themselves closes the gap between "this dependency has a known vulnerability" and "this vulnerability is actually being probed against us right now," which is the distinction that should drive same-day versus same-sprint urgency. A side-by-side look at endpoint security platforms covers what to weigh if that layer isn't decided yet.

Keeping the backlog from silently growing

Track the count of tier-3 and tier-4 findings monthly, not just tier-1 and tier-2, since a growing deferred backlog is a leading indicator of a future incident even if nothing is on fire today. Revisit tier-4 acceptances on a fixed schedule, quarterly is reasonable, since a compensating control can quietly stop being true, a network boundary gets opened for an unrelated reason, without anyone updating the vulnerability's status.

A worked example: the finding that sat in tier three too long

Say a scanner flags a high-severity finding in a logging dependency as unreachable, since nothing in the codebase calls the vulnerable function today, and it gets filed into tier three for a routine update cycle. Months later, a new feature adds a code path that happens to call that exact function, and the finding's tier never gets revisited because nothing prompted a re-scan against the new code. The fix isn't a stricter initial triage, it's re-running reachability analysis on every deploy, not just at the point a CVE was first discovered, since reachability is a property of your current code, not a fact that stays true forever.

Executive Capability Standard

What Good Looks Like

A working SCA program prioritizes by reachability and exposure rather than raw CVE severity, automates only what's genuinely safe to automate, and reviews deferred findings on a fixed schedule instead of letting them accumulate silently.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Run a reachability-aware scan if your current tool doesn't already support one, and compare the resulting action list against your raw CVE count.
2. Do Manually:Manually triage the current backlog into the four tiers once, as a baseline, before building automation around the process.
3. Delegate:Assign a rotating engineer, not always the same person, ownership of tier-1 and tier-2 remediation each sprint so it doesn't fall to whoever has time.
4. Automate:Automate patch-version dependency updates with test-gated auto-merge, and route minor and major version bumps to a human reviewer.
5. Buy:Bring in a platform like Tenable, paired with CrowdStrike for runtime visibility, once manual reachability triage no longer scales with your dependency count.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

Should every critical CVE get patched within 24 hours regardless of reachability?

Not necessarily. A critical CVE in code your application never calls poses limited real risk. Prioritize by reachability and exposure first, and reserve same-day urgency for known exploited vulnerabilities on internet-facing, reachable paths, which do warrant that speed.

Is automatic patch-version auto-merge safe for a production system?

For patch versions specifically, generally yes, provided your test suite has real coverage and the merge is gated on tests passing. Extend it to minor or major version bumps only with much more caution, since those are far more likely to carry breaking changes unrelated to the security fix.

How do we know if our dependency scanner supports reachability analysis?

Check whether it reports findings as 'reachable' or 'not reachable' from your code, rather than just listing every CVE in the full dependency tree. If it only does the latter, expect a much larger and noisier list than a reachability-aware tool would produce.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Security patch remediation SLAs (CISA federal mandates, used as industry norm). CISA Binding Operational Directives 19-02 and 22-01 (CISA briefing hosted at NIST CSRC), 2022.

Related Guides