Checkmarx One Scan | DefectDojo Documentation

Checkmarx One Scan

Import JSON Checkmarx One scanner reports

Checkmarx One JSON Parser Documentation

Overview

The Checkmarx One parser for DefectDojo supports importing findings from Checkmarx One in JSON format. The parser handles three types of security findings including SAST (Static Application Security Testing), KICS (Kubernetes/Infrastructure as Code Security), and SCA (Software Composition Analysis) scan results, with specialized parsing logic for each type.

Supported File Types

The Checkmarx One parser accepts JSON file format. To generate this file:

  1. Log in to the Checkmarx One platform
  2. Navigate to the Results view
  3. Use the Export option to download findings in JSON format

The parser can handle several variations of the Checkmarx One JSON output format:

Standard Format JSON (Main Format)

Total Fields in JSON

Standard Format Field Mapping Details

Data Field # Checkmarx Data Field DefectDojo Finding Field Notes
1 type unsaved_tags Added as a tag identifying the finding type (sast, kics, sca, etc.)
2 id unique_id_from_tool Primary unique identifier for the finding
3 similarityId unique_id_from_tool Used as fallback if id not present
4 status - Used for state determination but not directly mapped
5 state active, verified, false_p Maps Checkmarx states to DefectDojo fields through determine_state function
6 severity severity Converted to title case (e.g., “HIGH” → “High”)
7 firstFoundAt date Used as finding date if USE_FIRST_SEEN setting is True
8 foundAt date Used as finding date if USE_FIRST_SEEN setting is False
9 description description, title Used for both description and title when available
10 descriptionHTML - Not mapped - HTML version of description is ignored
11 data.queryId - Used in KICS findings but not directly mapped
12 data.queryName title (partial) Used as part of the title construction when needed
13 data.group/category description (partial) Added to description for KICS findings with “Category” prefix
14 data.line line Line number in file where vulnerability exists
15 data.fileName/filename file_path Path to the vulnerable file
16 data.expectedValue mitigation (partial) Added to mitigation for KICS findings
17 data.value mitigation (partial) Added to mitigation for KICS findings
18 data.nodes[].fileName description (partial) Used in node snippets for SAST findings
19 data.nodes[].method description (partial) Used in node snippets for SAST findings
20 data.nodes[].line description (partial) Used in node snippets for SAST findings
21 data.nodes[].code description (partial) Used in node snippets for SAST findings
22 vulnerabilityDetails.cweId cwe CWE ID number
23 vulnerabilityDetails.cvss - Not mapped directly
24 cveId unsaved_vulnerability_ids For SCA findings, mapped to vulnerability IDs list

Field Mapping Details

The parser contains three main methods for parsing different formats of Checkmarx One output:

  1. parse_results: Main entry point for parsing the standard format with a top-level results array
  2. parse_vulnerabilities: For parsing the format with a vulnerabilities array
  3. parse_vulnerabilities_from_scan_list: For parsing formats with separate sections by vulnerability type

Each vulnerability type has specialized parsing logic:

  1. SAST (Static Application Security Testing) - get_results_sast:
    • Focuses on code-level vulnerabilities
    • Uses file path from the first node
    • Tags findings with “sast”
  2. KICS (Kubernetes/IaC Security) - get_results_kics:
    • Infrastructure as Code findings
    • Extracts filename from data field
    • Tags findings with “kics”
  3. SCA (Software Composition Analysis) - get_results_sca:
    • Vulnerability in dependencies/packages
    • Handles CVE IDs when present
    • Tags findings with “sca” or “sca-container”

Special Processing Notes

Status Conversion

Severity Conversion

Description Construction

Date Processing

Title Format

Mitigation Construction

Deduplication

Tags Handling

Common Settings for All Findings

Sample Scan Data

Sample Checkmarx One scans can be found here.

Link To Tool

Default Deduplication Hashcode Fields

By default, DefectDojo identifies duplicate Findings using these hashcode fields: