david-a-wheeler / flawfinder

a static analysis tool for finding vulnerabilities in C/C++ source code
GNU General Public License v2.0
486 stars 82 forks source link

Integrate CWE/NIST SARIF taxonomy data with Flawfinder (preparatory to Heimdall/HDF conversion) #38

Open michaelcfanning opened 3 years ago

michaelcfanning commented 3 years ago

This is a tracking item to describe next possible steps with Flawfinder SARIF + HDF support.

Observations:

As preparatory work, we are building a CWE Sarif taxonomy, which s/be published to a well-known web location. We will also need to create a taxonomy for the NIST standard (and create relationships from CWE to NIST IDs, as shown in the heimdall_tools repo).

It'd be interesting to discuss how these definitive taxonomy files are published on the web.

Once this core work is complete, we should update Flawfinder to emit its rule id -> CWE/NIST mappings in the log file. The Flawfinder log will also contain a link to the external CWE/NIST web-hosted taxonomies.

With a finished log such as this, a new SARIF -> HDF converter will be able to produce HDF that can flow into the various Heimdall tools. That will be very nice! All of this work will demonstrate a good path for other tools to follow.

Thoughts? :)

@eddynaka @yongyan-dh @david-a-wheeler

david-a-wheeler commented 3 years ago

All of that seems reasonable. I think additional mappings should probably be new database entries or straightforward mappings from an existing entry. If you want to pull out CWE entries to separate dtabase entries that'd be fine too.

eddynaka commented 3 years ago

Hi,

just a quick update on this: