Skip to content

Singular gosec rules should include -1

Craig Smith requested to merge craigmsmith-gosec-pids-should-include-1 into main

What does this MR do?

While updating semgrep to use sast-rules as the SSoT for gosec, I noticed the primary identifers were not the same between semgrep and sast-rules.

In semgrep the gosec rules primary identifiers included a -1 for all singular rules. This was not the case in sast-rules.

For example, the rule ID gosec.G102-1:

The primary identifiers published in semgrep must be preserved so that vulnerability findings in the monolith are not lost and recreated.

This MR updates the deploy script to remove the -1 from all rulesets other than gosec.

To fully illustrate this I've created two MRs in semgrep, each using different versions of the gosec rule pack.

MR1 uses current gosec rulepack. By looking at the diff you can see that gosec primary identifiers need to be updated in the expected JSON for the tests to pass.

MR2 uses the gosec rulepack in this MR. By looking at the diff you can see that gosec primary identifiers have not been updated in the expected JSON and the tests pass.

Related Issues?

Edited by Craig Smith

Merge request reports