Skip to content

Commit 9b96798

Browse files
committed
Add 'mermaid' diagram sources, clarify patch development responsibility
1 parent a4b4dae commit 9b96798

File tree

7 files changed

+66
-9
lines changed

7 files changed

+66
-9
lines changed

_static/psrt-coordinator-report.html

Lines changed: 3 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
flowchart TD
2+
report[Received a report...]
3+
via_security_at_python_dot_org[...via security@python.org?]
4+
psrt_admin_review[PSRT admin reviews email]
5+
email_reject[Reject]
6+
email_accept[Accept]
7+
open_via_ghsa[PSRT asks reporter to open via GHSA]
8+
via_ghsa[...via GHSA]
9+
ghsa_triage[GHSA in state “Triage”]
10+
11+
report-->via_security_at_python_dot_org
12+
via_security_at_python_dot_org-->psrt_admin_review
13+
psrt_admin_review-->email_reject
14+
psrt_admin_review-->email_accept
15+
email_accept-->open_via_ghsa
16+
open_via_ghsa-->ghsa_triage
17+
report-->via_ghsa
18+
via_ghsa----->ghsa_triage

_static/psrt-coordinator-report.svg

Lines changed: 0 additions & 2 deletions
This file was deleted.

_static/psrt-coordinator-triage.html

Lines changed: 3 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
flowchart TD
2+
ghsa_triage[GHSA in state “Triage”]
3+
psrt_member_volunteers[PSRT member volunteers as Coordinator]
4+
psrt_member_assigned[After 3 days idle, Coordinator is auto-assigned]
5+
coordinator_assigned[GHSA ticket updated to set Credit for Coordinator]
6+
coordinator_determines[Cooridnator determines whether report...]
7+
report_is_a_non_issue[...is a non-issue or invalid]
8+
report_is_a_bug_but_not_security[...is a bug but not security relevant]
9+
report_is_a_security_issue[...is a security issue]
10+
coordinator_opens_public_github_issue[Coordinator opens a public GitHub issue]
11+
close_ghsa[Close the GHSA ticket]
12+
ghsa_draft[Move GHSA ticket to “Draft”]
13+
14+
ghsa_triage-->psrt_member_volunteers
15+
ghsa_triage-->psrt_member_assigned
16+
psrt_member_volunteers-->coordinator_assigned
17+
psrt_member_assigned-->coordinator_assigned
18+
coordinator_assigned-->coordinator_determines
19+
coordinator_determines-->report_is_a_non_issue
20+
coordinator_determines-->report_is_a_bug_but_not_security
21+
coordinator_determines-->report_is_a_security_issue
22+
report_is_a_non_issue--->close_ghsa
23+
report_is_a_bug_but_not_security-->coordinator_opens_public_github_issue
24+
coordinator_opens_public_github_issue-->close_ghsa
25+
report_is_a_security_issue--->ghsa_draft

_static/psrt-coordinator-triage.svg

Lines changed: 0 additions & 2 deletions
This file was deleted.

developer-workflow/psrt.rst

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ For projects that use GHSA, reports to ``security@python.org``
9696
should have reporters `re-open their report using GHSA`_.
9797

9898
.. raw:: html
99-
:file: ../_static/psrt-coordinator-report.svg
99+
:file: ../_static/psrt-coordinator-report.html
100100

101101
.. _re-open their report using GHSA: #submit-using-github-security-advisories
102102

@@ -108,6 +108,13 @@ to be responsible for moving the report through the process.
108108
The "Coordinator" role is assigned using a "Credit" in a GHSA ticket
109109
(Select 'Edit' > 'Credit' > Add GitHub username and the role 'Coordinator').
110110

111+
.. warning::
112+
Assigning the "Coordinator" role to each GHSA ticket is important,
113+
as this metadata records whether a PSRT member is
114+
`"active" according to PEP 811`_ to avoid being removed due to inactivity.
115+
116+
.. _"active" according to PEP 811: https://peps.python.org/pep-0811/#psrt-membership-policy
117+
111118
If a GHSA ticket is idle for three days without a coordinator
112119
assigned a PSRT member who is not a Release Manager
113120
or Steering Council member will be automatically assigned
@@ -116,12 +123,12 @@ If a coordinator can't complete the process
116123
they must find a replacement coordinator in the PSRT
117124
and re-assign the GHSA ticket.
118125

126+
.. raw:: html
127+
:file: ../_static/psrt-coordinator-triage.html
128+
119129
Determining whether a report is a vulnerability
120130
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121131

122-
.. raw:: html
123-
:file: ../_static/psrt-coordinator-triage.svg
124-
125132
The coordinator will make a determination about a report, either
126133
marking the ticket as a non-issue, as an issue that isn't a security
127134
vulnerability, or as a security vulnerability. If the Coordinator needs
@@ -191,7 +198,12 @@ or GHSA collaborator can clone the fork and develop a fix and push a branch:
191198
192199
From here a pull request can be opened within the GHSA ticket
193200
to be reviewed privately. The coordinator can add core team experts
194-
to help with review if reviewers aren't available within PSRT.
201+
as collaborators as necessary to the GHSA to develop the patch and to review
202+
the patch if the expertise for patch development or review
203+
aren't available within PSRT. Coordinators are not necessarily responsible
204+
with developing patches themselves: only with seeing that a patch is
205+
developed in a timely fashion by involving experts as necessary.
206+
195207
Once the patch has been approved
196208
a public GitHub issue and pull request can be opened.
197209
Generate a blurb in the category ``Security`` for the public pull request.

0 commit comments

Comments
 (0)