Vulnerability Management

Triage Hand-Off From Security To Engineering

The handoff between security triage and engineering remediation is where most programs lose time. Here is how to fix it with context-rich PRs and AI.

Nayan Dey
Senior Security Engineer
7 min read

The handoff that consumes the calendar

In a typical vulnerability lifecycle, the actual fix takes minutes. The handoff takes days. A security engineer identifies a reachable, exploitable finding. They open a Jira ticket. The ticket sits in the engineering team's queue. A developer eventually picks it up. They read the ticket, do not have enough context, and ping the security engineer for clarification. The security engineer responds, but in a meeting. The developer waits, picks up other work, comes back two days later, and finally has enough information to start. Three calendar days have passed for what should have been a two-hour task.

This pattern repeats across every vulnerability program at scale. The mean time to remediate metric, when decomposed, almost always shows that the bulk of the time is sitting in the handoff layer, not in the remediation work itself. Addressing that layer is the highest-leverage intervention available to most teams, because it does not require more engineers, more tools, or more security awareness. It requires the information to flow without requiring a human round trip.

Why the handoff is so lossy

The handoff loses information for predictable reasons. The security engineer's mental model of the finding includes context that does not survive transmission to a ticket. They know which service is affected, who currently owns it, what the deployment topology looks like, whether there are compensating controls, and how the team has handled similar findings in the past. The ticket captures the CVE identifier, the affected component, and a generic description from the advisory. Most of the security engineer's context never makes it into the ticket.

The receiving developer then has to rebuild that context from scratch. They look up the service, check the deployment configuration, search for prior fixes, and possibly read the upstream patch. By the time they have enough context to act, they have done most of the same work the security engineer already did. The duplication is invisible in any system but very real in calendar time.

The second source of loss is routing. Tickets get assigned to teams, not individuals. Within the team, ownership is informal. Whoever is on triage rotation that week may or may not be the right person. The ticket may bounce between team members several times before landing with someone who has the context to act. Each bounce adds delay.

What the handoff should look like

A working handoff transmits not just the finding but the resolution path. The receiving developer should land in their inbox with a pull request that already exists, against the right repository, with the right dependency bump, with CI already running, and with the supporting evidence visible in the PR description. Their task is not to investigate. It is to review.

The shift from a Jira ticket to a pre-built pull request fundamentally changes the economics of the handoff. The developer does not have to context-switch into security mode. They review code, which is the work they do every day. They merge if it looks right, escalate if it does not. The handoff is no longer a special workflow. It is part of normal code review.

This requires the security side of the handoff to do more work upfront, but the work is automatable. Modern auto-PR systems generate the PR, identify the right reviewer based on file ownership, run CI, and attach the supporting evidence. The security engineer's role is to set the policy and review the exceptions, not to author each individual ticket.

What context the developer actually needs

The PR description is the developer's first contact with the finding, and it determines whether the review takes five minutes or fifty. The description should answer four questions in the first paragraph. What is the vulnerability. Why does it apply to this codebase. What does the fix change. What is the rollback plan if the bump breaks something.

Each of these answers should be evidence-backed, not narrative. The vulnerability description should link to the advisory and show the affected functions. The applicability should show the call path from application code to the vulnerable function, demonstrating reachability. The fix should show a diff or a changelog from the upstream package. The rollback should reference the version pin that was in place before the bump and confirm whether downgrading would re-expose the finding.

The developer reading this description has everything they need to make a fast, confident decision. No Slack thread, no clarification meeting, no waiting for the security engineer's calendar to free up. The information is there because the system collected it as part of generating the PR.

Where Griffin AI strengthens the handoff

Griffin AI is well suited to the context-gathering layer of the handoff. For each finding that becomes a PR, Griffin assembles the evidence package: the call path showing reachability, the exploitability indicators, the fix version comparison, the historical resolution pattern for similar findings. The PR description is generated from this package, so the developer sees a structured argument rather than a generic advisory dump.

Griffin also handles the cases where the standard handoff does not apply. If the fix introduces a major version bump, Griffin flags the breaking-change risk and routes the finding for a different workflow that involves human review of the API changes. If the fix is unavailable, Griffin proposes mitigation candidates. The handoff path adjusts to the nature of the finding rather than forcing every finding through the same template.

The cumulative effect on handoff time is significant. In our deployments, mean time from finding identification to PR-ready state drops from 24 to 72 hours down to under an hour, which means the developer's review starts on the same business day as the finding's discovery. That collapse in calendar time is what changes the program's mean time to remediate metric.

Routing to the right reviewer

A PR that lands in the wrong inbox sits there. The routing layer matters as much as the PR generation. The default routing approach of assigning to a team rather than an individual works poorly for security PRs, because the team queue is competing with everything else the team has on. The PR can sit for days before anyone picks it up.

The pattern that works better is to route to the engineer who most recently committed to the affected file or files. That engineer has the freshest context, is most likely to spot regressions, and treats the review as part of their normal flow rather than an external interruption. If the engineer is unavailable, fall back to their team, but the primary route should be individual.

For findings that affect files with no recent owner, the routing should fall to the service owner as defined in the service catalog. If there is no service catalog, this is the moment to start one. Without ownership data, every handoff is guesswork.

What the metric looks like when it works

The metric to watch for handoff health is mean time from finding identification to PR merge, decomposed into time-to-PR-ready and time-from-PR-to-merge. The first segment is the security side of the handoff. The second is the engineering side. Both should be short, and both should be predictable.

A team operating with auto-PRs and proper routing typically lands time-to-PR-ready under an hour and time-from-PR-to-merge under one business day. The total mean time to remediate, for findings that yield to automation, drops into the same-day range. That is dramatically faster than the industry baseline of weeks, and it is the difference between a program that keeps up with inflow and one that accumulates indefinitely.

The cultural shift

Beyond the metric, the handoff change shifts how security and engineering relate to each other. The security team is no longer the source of unwelcome interruptions. They are the source of pre-built PRs that reduce the engineer's manual work on dependency hygiene. The relationship becomes collaborative rather than adversarial, which makes every other security initiative easier to land.

That cultural change, more than any specific metric, is what separates programs that scale from programs that grind down their security and engineering teams in equal measure.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.