Safeguard
Security Guides•

Fix, mitigate or accept? How SSDF RV.2.2 risk responses are recorded

SSDF RV.2.2 asks for a risk-based plan for each vulnerability: remediate, mitigate temporarily, or accept. How to record the decision so it holds up.

Safeguard Security Team
4 min read

SSDF RV.2.2 asks you to plan and implement a risk response for vulnerabilities, deciding for each whether to remediate or address the risk another way, such as acceptance. Record the decision, who made it, the reason, any temporary mitigation and a date to look again.

What RV.2.2 says

The task text: plan and implement risk responses for vulnerabilities. The NIST examples include a risk-based decision on whether each vulnerability is remediated or handled through other means such as risk acceptance or transference, a temporary mitigation when no permanent one exists, security advisories for acquirers, remediation delivered through an automated and trusted mechanism and updates to your records of design decisions and approved exceptions.

The four common responses

ResponseWhen it fitsWhat to record
RemediateA fix exists and the risk justifies itTicket, fix version, release date
Mitigate temporarilyNo fix yet, or fix not deployableThe workaround and its expiry
AcceptLow exposure, cost outweighs benefitApprover, reason, review date
TransferAnother party takes on the riskThe agreement and scope

Which response applies depends on exploitability, impact and exposure. RV.2.1 covers the analysis that feeds the choice.

A decision record template

Keep each record to a few lines:

  1. Finding and affected release
  2. Analysis: is the vulnerable code reachable, is it exposed, what is the impact
  3. Decision and approver
  4. Temporary controls, if any
  5. Review date
  6. Link to the advisory sent to customers, if one was needed

Acceptance needs discipline

An accepted risk without a review date becomes a permanent blind spot. NIST's PW.1.2 examples say to periodically re-evaluate approved exceptions and RV.2.2 says to update the exceptions record. Put a calendar trigger on each acceptance, and reopen it when a new exploit appears or the component's use changes.

Tell your customers when it matters

When a vulnerability affects your customers, an advisory should say what it is, how to find affected instances, and how to fix or work around it. If you accept a risk that does not affect customers, no advisory is needed, but keep the internal record.

Linking to the analysis

A decision is as good as the analysis behind it. Link each record to the RV.2.1 notes: how exploitable the issue is, what impact it has and how exposed the component is in your product. When a later reviewer asks why a finding stayed open, the linked analysis answers the question without a meeting. It also makes review dates meaningful, since a reviewer can check whether the facts changed.

Try it yourself

Click through it at your own pace, or open it full screen. See how checking whether a flaw is actually exploitable in context changes which response makes sense.

Quick check

Can we accept a risk on a known exploited vulnerability?

That is a decision for your risk owners. Document the reasoning, add compensating controls and set a short review date.

Who should approve acceptances?

Someone with authority over the risk, named in your role map. The right level depends on your organization.

Safeguard's reachability analysis can help show whether a vulnerable function is actually called, and its autonomous remediation can propose fix pull requests, off by default. Try the free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

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

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.