Skip to content

Spike: Improvements to SAST Rule Enhancement and Creation Workflow

The Vulnerability Analysis team, and the SAST group, are working towards improving the quality of the security findings our product(s) generate as well as the process responsible for generating them. In order to achieve this, all existing rules are being reviewed and enhanced as well as new rules created or incorporated.

The process involved in thoroughly understanding a vulnerability, creating a Minimal Runnable Example (MRE) which is also vulnerable and writing meaningful rules, generally for our Semgrep analyser, is, to some extent, complex and filled with uncertainty. Some of the questions rule writers and testers need to ask themselves are for example "when does this vulnerabilty arise and when does it not?", "what would a minimal runnable example which is nonetheless realistic look like?" and much more.

This issue is meant to capture some general principles, ideas as well as concrete tasks aimed at improving the efficiency with which rules for our SAST analysers can be created as well as their effectiveness tested and verified.

This issue is a Spike aimed at exploring improvements and opportunities for reducing friction in the rule creation lifecycle.

The following are ideas:

cc @gitlab-org/secure/vulnerability-research @wayne as per our conversations last week

Edited by Jayson Salazar Rodriguez