Skip to content

Commit f3cf8fa

Browse files
sethmlarsonzoobaezio-melottihugovkAA-Turner
authored
Add runbook for code signing certificate reports to PSRT (#1651)
Co-authored-by: Steve Dower <[email protected]> Co-authored-by: Ezio Melotti <[email protected]> Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Adam Turner <[email protected]>
1 parent 87c99bc commit f3cf8fa

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

developer-workflow/psrt.rst

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@ severity, advisory text, and fixes.
9393
to ``[email protected]`` using the below template. Backport labels must be added as appropriate.
9494
After the advisory is published a CVE record can be created.
9595

96+
Handling code signing certificate reports
97+
-----------------------------------------
98+
99+
Python signs binaries using Azure Trusted Signing and Apple Developer ID
100+
certificates. If a code signing certificate is reported as "compromised" or
101+
"malware signed with certificate", the Python Security Response Team must
102+
request the following information from the reporter:
103+
104+
* Checksum(s) of binaries signed by certificate.
105+
* Signature(s) of binaries signed by certificate.
106+
107+
To avoid unnecessary user confusion and churn around revoking code signing
108+
certificates, any reports **must be verifiable independently by the PSRT before
109+
taking destructive actions**, such as revoking certificates. With this
110+
information the PSRT can take investigative steps to verify the report, such as:
111+
112+
* Downloading and checking artifacts from the associated Azure Pipelines
113+
executions against the reported list of checksums.
114+
* Verifying the validity of the signatures. `Past reports
115+
<https://discuss.python.org/t/103356/2>`__ have contained signatures that
116+
purported to be from Python code signing certificates, but were not valid.
117+
* Checking the Azure Pipelines and Azure Trusted Signing audit logs for signs of
118+
compromise.
119+
120+
If any signs of compromise or incorrectly signed binaries are discovered by the
121+
PSRT, only then will certificates be revoked and an advisory published.
122+
If compromise is reported, the following non-destructive actions can be taken by
123+
the PSRT without verifying the reported information as a precaution, if
124+
relevant:
125+
126+
* Rotating secrets associated with code signing (``TrustedSigningSecret`` for
127+
Azure Trusted Publishing).
128+
* Resetting passwords for accounts with access to signing certificates.
129+
96130
Template responses
97131
------------------
98132

0 commit comments

Comments
 (0)