Skip to content

Commit 9e5b262

Browse files
authored
Merge pull request #1102 from jasnow/enhance-ghsa_sync-doc
Enhance GHSA SYNC doc. FYI: Will update docs after the ignore and yamllint is added to Rakefile. Thanks @simi and @flavorjones for reviewing and improving this PR.
2 parents 5887ac7 + bf6c668 commit 9e5b262

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -234,20 +234,30 @@ bundle install
234234
bundle exec rspec
235235
```
236236

237-
## GitHub Advisory Sync
237+
## GitHub Security Advisory Sync (GHSA)
238+
239+
* The usual GHSA/SYNC workflow is:
240+
1. Run "GH_API_TOKEN=`GITHUB_TOKEN_VALUE` bundle exec rake sync_github_advisories" ruby script.
241+
- The rake task will write YAML files for any missing advisories.
242+
- More details follow this paragraph.
243+
2. Run "./lib/rad-ignores.sh" shell script to ignore duplicate advisories.
244+
3. Run "rake" to run the lint checks.
245+
4. Run "yamllint $(find gems rubies -type f |grep yml$)".
246+
5. If new or modified advisories, submit a PR to the repo.
247+
6. CAVEAT: Between steps 2 and 5, you might need to manually edit the files.
238248

239249
There is a script that will create initial YAML files for RubyGem advisories
240250
which are in the [GitHub Security Advisory API], but are not already in this
241251
dataset. This script can be periodically run to ensure this repo has all the
242-
data that is present in the GitHub Advisory data.
252+
data that is present in the GitHub Security Advisory data.
243253

244-
The GitHub Advisory API requires a token to access it.
254+
The GitHub Security Advisory API requires a token to access it.
245255

246256
* It can be a completely scope-less token (recommended); it does not require any
247257
permissions at all.
248258
* Get yours at: https://github.com/settings/tokens
249259

250-
To run the GitHub Advisory sync to retrieve all advisories, start by executing
260+
To run the GitHub Security Advisory sync to retrieve all advisories, start by executing
251261
the rake task:
252262

253263
```shell
@@ -260,16 +270,6 @@ Or, to only retrieve advisories for a single gem:
260270
GH_API_TOKEN="your GitHub API Token" bundle exec rake sync_github_advisories[gem_name]
261271
```
262272

263-
* The rake task will write YAML files for any missing advisories.
264-
* Those files must be further edited.
265-
* Fill in `cvss_v3` field by following the CVE link and getting it from page.
266-
* Fill in `cvss_v4` field by following the CVE link and getting it from page.
267-
* Fill in `patched_versions` field, using the comments at the bottom of the
268-
YAML file.
269-
* Optionally fill in `unaffected_versions`.
270-
* Delete the GitHub data at the bottom of the YAML file.
271-
* Double check all the data, commit it, and make a PR.
272-
273273
## Rails LTS
274274

275275
The maintainers of [Rails LTS] have [asked us not to track the Rails LTS versions][PR-847].

0 commit comments

Comments
 (0)