Skip to content

Commit 1bf10b8

Browse files
authored
Updates based on PR feedback
- Revisited section placements - Added clarity on use of labels under risks
1 parent 8a80a16 commit 1bf10b8

File tree

1 file changed

+25
-17
lines changed
  • keps/sig-security/3203-auto-refreshing-official-cve-feed

1 file changed

+25
-17
lines changed

keps/sig-security/3203-auto-refreshing-official-cve-feed/README.md

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -171,23 +171,6 @@ An auto-refreshing CVE feed will allow end users to programmatically fetch the l
171171

172172
Create a periodically auto-refreshing list of official Kubernetes CVEs
173173

174-
175-
## Proposal {#proposal}
176-
177-
### Pre-requisites
178-
- [x] https://github.com/kubernetes/test-infra/pull/23428
179-
- [x] Search and Identify closed issues that have a CVE ID e.g. CVE-1001-12345 in the issue description or summary (This search [filter](https://github.com/kubernetes/kubernetes/issues?q=is%3Aissue+in%3Abody+%22CVSS%3A3.%22+label%3Acommittee%2Fsecurity-response+is%3Aclosed+) is giving the most accurate data so far)
180-
- [x] Label those issues with `official-cve-feed` using https://docs.github.com/en/rest/reference/issues REST API
181-
- [x] https://github.com/kubernetes/committee-security-response/pull/133
182-
183-
184-
### Goals
185-
186-
- Generate a JSON document using the results from the filtered label on `k/k` repo.
187-
- Create a Prow job to periodically generate this JSON document.
188-
- Update the JSON doc when needed (e.g. when a new CVE is announced) in `k/website`
189-
- Using Hugo, publish the list from this JSON document on official k8s website
190-
191174
### Non-Goals
192175

193176
- Triage and vulnerability disclosure: This will continue to be done by SRC
@@ -210,6 +193,22 @@ As a K8s end user, I want a list of CVEs with relevant information that I can fe
210193

211194
As a K8s maintainer, I want to create a process that auto-updates CVE feed, when SRC announces new CVEs such that I do not have to do extra work to maintain this feed manually
212195

196+
## Proposal {#proposal}
197+
198+
### Pre-requisites
199+
- [x] https://github.com/kubernetes/test-infra/pull/23428
200+
- [x] Search and Identify closed issues that have a CVE ID e.g. CVE-1001-12345 in the issue description or summary (This search [filter](https://github.com/kubernetes/kubernetes/issues?q=is%3Aissue+in%3Abody+%22CVSS%3A3.%22+label%3Acommittee%2Fsecurity-response+is%3Aclosed+) is giving the most accurate data so far)
201+
- [x] Label those issues with `official-cve-feed` using https://docs.github.com/en/rest/reference/issues REST API
202+
- [x] https://github.com/kubernetes/committee-security-response/pull/133
203+
204+
205+
### Overview
206+
207+
- Generate a JSON document using the results from the filtered label on `k/k` repo.
208+
- Create a Prow job to periodically generate this JSON document.
209+
- Update the JSON doc when needed (e.g. when a new CVE is announced) in `k/website`
210+
- Using Hugo, publish the list from this JSON document on official k8s website
211+
213212
### Risks and Mitigations
214213

215214
#### JSON blob construction will fail
@@ -220,6 +219,15 @@ If this happens, we expect the job too fail. If blob construction fails, the fai
220219

221220
In some extenuating circumstances, we may need to update the CVE feed within minutes of the official CVE announcement, instead of waiting for the merge based or periodical website rebuild. In those situations, manual updates to JSON blob using usual PR reviews and approval process can be implemented.
222221

222+
### Misuse of Auto-Refresh feature
223+
224+
Without proper filtering and control over who can label GitHub issues, the list of CVEs can become a list with poor signal to noise ratio making the list unusable.
225+
226+
For this purpose, the filtering is applied such that only issues that are marked as `closed`
227+
will be part of the list. Also, additionally, the `official-cve-feed` label is a
228+
[restricted](https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml#L140-L150)
229+
label that can only be applied by SRC and SIG Security Tooling Leads.
230+
223231
### Storage of CVE feed blob
224232

225233
There are two options to store the CVE feed JSON blob:

0 commit comments

Comments
 (0)