GSoC'19 Final Report | OWASP Foundation

My final report for Google Summer of Code 2019 with OWASP: what I shipped for DefectDojo.


---- GSoC'19 Final Report | OWASP Foundation ( Project- DefectDojo) ----

I’m Saurabh Kumar, and this is my final report for Google Summer of Code 2019, which I spent working with the OWASP Foundation on DefectDojo.

DefectDojo is an application security tool that automates the management of security vulnerabilities. It handles importing third-party security findings, merging and deduplication, Jira integration, templating, report generation, and security metrics, all of which cut down the manual overhead of running an application security program.

Here’s what I built and fixed over the summer.

Organization: OWASP Foundation
Category: DefectDojo
Mentor: Aaron Weaver

The work broke down into new scan parsers, bug fixes, and unit tests.

Scan Parsers Implemented

  • Kiuwan Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1118] - Merged.
  • Openscap Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1193] - Merged.
  • Wapiti Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1206] - Merged.
  • Cobalt.io Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1215] - Merged.
  • Mozilla Observatory Scan Importer:

  • Whitesource Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1243] - Merged.
  • Microfocus Webinspect Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1268] - Merged.
  • Wpscan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1345] - Merged.
  • Sslscan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1351] - Merged.
  • Sslyze Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1376] - Merged.
  • Testssl Scan Importer:

    • Parser implemented.
    • Unit tests added.
    • [Pull Request #1397] - Merged.

Issues Fixed

Bugs I tracked down and fixed over the course of the project:

  • Kiuwan CWE issue fixed - [Pull Request #1175] - Merged.
  • Repo field issue resolved - [Pull Request #1177] - Merged.
  • Added CVE option in findings - [Pull Request #1106] - Merged.
  • Product grading issue fixed - [Pull Request #1082] - Merged.
  • Static and dynamic type finding issue resolved - [Pull Request #1050] - Merged.
  • Markdown_render function fixed - [Pull Request #1049] - Merged.
  • Fixed #1257 and Unicode error in Contrast importer - [Pull Request #1260] - Merged.
  • SSLLabs scanner issue fixed if suites not provided - [Pull Request #1367] - Merged.
  • Status column now displays under review option correctly - [Pull Request #1373] - Merged.
  • Veracode static and dynamic issue fixed - [Pull Request #1377] - Merged.
  • Included tags in reports - [Pull Request #1400] - Merged.
  • User edit form fixed to remove products - [Pull Request #1420] - Merged.
  • Added current commit hash in footer - [Pull Request #1440] - Merged.
  • Fixed Dependency parser - [Pull Request #1455] - Merged.
  • Fixed clair klar importer - [Pull Request #1459] - Merged.
  • Immuniweb issue of ValueError resolved - [Pull Request #1477] - Merged.
  • Added CVE to Crashtest + dawnscanner findings - [Pull Request #1480] - Merged.
  • Fixed release mode git commit showing issue - [Pull Request #1483] - Merged.
  • Fixed menu overlapping - [Pull Request #1493] - Merged.

Unit Tests Implemented

To harden the existing code, I added unit tests for several components:

  • Product Type Unit Tests - [Pull Request #1153] - Merged.
  • Engagement Unit Tests - [Pull Request #1170] - Merged.
  • Environment Unit Tests - [Pull Request #1181] - Merged.

Remaining Tasks

A couple of items are still open at the end of the program:

  • Add new image and select from existing images inside the finding editor - [Issue #1354]
  • Fix permission handling of users - still open.

That wraps up my GSoC’19 work on DefectDojo. Thanks to the OWASP Foundation for the opportunity and to my mentor for the guidance throughout.

Saurabh Kumar (saurabh.dakshana17@gmail.com)