feat(security-issue-sync): gate fix-released hand-off on mandatory CVE fields#202
Merged
Merged
Conversation
…E fields
The pr merged → fix released transition (Step 12) hands ownership
of a tracker from the remediation developer to the release
manager. The release manager needs every CVE body field populated
to send the advisory at Step 13, but the sync previously proposed
the hand-off on the release-shipped signal alone — leaving the
release manager to chase down missing CWE / Affected versions /
Severity / Reporter credit / Short public summary / PR-with-fix
entries themselves.
What changed:
- Step 2b table row for the fix-released transition gains a
precondition: if any of the six mandatory body fields is empty
or _No response_, the sync proposes a tracker comment
@-mentioning the Remediation developer listing exactly which
fields are missing, instead of the label flip and the assignee
swap. A later sync detects the gate is clear and proceeds.
- Description-fields paragraph in Step 2b adds an explicit
allow-list of two fields the agent may proactively auto-propose
during earlier syncs:
- CWE — derived from the patch (auth-bypass → CWE-287, SQL
injection → CWE-89, path traversal → CWE-22, …). Only when
unambiguous; must cite the file/line range that drove the
mapping. Ambiguity is flagged, never guessed.
- Affected versions — derived from the upstream PR's milestone
mapped to the project's per-scope convention. Only when the
milestone uniquely determines the range.
All other mandatory fields stay on the external-signal path.
- New content guideline for the Short public summary for publish
field: it powers the published CVE description end users read,
so it must tell them what to do (fixed version, mitigations,
CWE class is allowed). The agent proposes a rewrite when the
field is technically accurate but missing the user-facing
action.
Generated-by: Claude Code (Opus 4.7)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
pr merged → fix releasedtransition (Step 12 of the security handlingprocess) hands ownership of a tracker from the remediation developer to the
release manager. The release manager needs every CVE body field populated to
send the advisory at Step 13, but
security-issue-syncpreviously proposedthe hand-off on the release-shipped signal alone — leaving the release
manager to chase down missing fields themselves.
This PR:
Adds a six-field gate to the hand-off. If CWE, Affected versions,
Severity, Reporter credited as, Short public summary for publish, or
PR with the fix is empty /
_No response_, the sync no longer proposesthe label flip or assignee swap. It proposes a tracker comment
@-mentioning the Remediation developer (read from the body field)listing exactly which fields are missing. A subsequent sync run detects
the gate is clear and proceeds.
Allow-lists CWE and Affected versions for proactive agent auto-proposal
in earlier syncs, so the gate is more often already clear by the time
the release ships:
cite file/lines.
to the project's per-scope convention. Only when the milestone uniquely
determines the range.
All other mandatory fields stay on the external-signal path — no guessing.
Content guideline for Short public summary for publish — the field
powers the published CVE description end users read, so it must tell them
what to do (fixed version, mitigations, CWE class is allowed). Propose a
rewrite when the field is technically accurate but missing the
user-facing action.
Test plan
/security-issue-syncagainst a tracker that has therelease-shipped signal but
_No response_in (say) Short public summaryfor publish. Confirm the sync proposes a tracker comment
@-mentioningthe remediation developer, not the
fix releasedlabel swap or theassignee swap.
clear and the original hand-off proposal fires.
_No response_and the PR isunambiguous (e.g. clear missing-auth-check fix). Confirm the proposal
includes a CWE-287 value with file/line citation.
CWEs). Confirm the proposal flags the ambiguity rather than guessing.
only the vulnerability but no upgrade / mitigation text. Confirm the
proposal includes a rewrite that adds the user-facing instructions.
Generated-by: Claude Code (Opus 4.7)