Skip to main content

Data Transformation for Integration

Once the data to be imported is identified, it is retrieved from the Checkmarx SAST and SCA APIs, processed through a set of data sources, and transformed before being loaded into the ServiceNow instance.

The integration uses ServiceNow Transform Maps to map data from temporary import set tables to the target tables in the Vulnerability Response module. You can view these maps by navigating to System Import Sets > Transform Maps .

The primary transform maps are:

  • Checkmarx App List Transform

  • Checkmarx Scan Summary Transform

  • Checkmarx AppVul Item Transform

  • CheckmarxSAST Vulnerability Closure TransformList1

  • Checkmarx SCA App List Transform

  • Checkmarx SCA Scan Summary Transform

  • Checkmarx SCA AppVul Item Transform

  • CheckmarxSCA Vulnerability Closure TransformList1

The following tables list the transform map fields by integration.

Table 1. Checkmarx App List transforms map fields:

Source Field (from CxSAST/CxSCA)

Target Field (from SNOW)

Description

id

Source Application ID

SAST: Unique integer project ID.

SCA: Unique project UUID with " SCA" suffix for distinction.

name

Application name

Project name

teamId, teamName (SAST)

assignedTeams (SCA)

Source-assigned teams

Team ID and team name of the project. for SAST, assigned teams for SCA

businessApplication (from CustomFields)

Business Application

Custom Fields with Business Application keyword present in CxSAST for the given project (SAST only)

Custom_fields

Source additional info

Custom Fields present in CxSAST for the given project (SAST only)

Created_at

Description

Project Creation date for CxSCA with 'created at' prefix (SCA only)

Table 2. Checkmarx Scan Summary transforms map fields:

Source Field (from CxOne CxSAST/CxSCA)

Target Field (from SNOW)

Description

app_name

Discovered Applications

Project Name

scan_id

Source scan ID

Scan ID of the project.

scan_id + last_scan_date

Scan summary name

Scan summary with scan ID and last scan date.

total_no_flaws

Detected Flaw Count

Total number of vulnerabilities (SAST only)

loc

Static scan size

Number of lines of code present (SAST only)

Last Scan Date

Last Scan Date

Last Scan Date

Scan rating

Last scan rating

Scan rating (SAST only)

prvScanID

Tags

Previous Scan ID information (SAST only)

Scan Custom Fields

Tags

Scan Custom Fields (SAST only)

Table 3. Checkmarx AppVul Item transforms map fields:

Source Field (from CxSAST/CxSCA)

Target Field (from SNOW)

Description

app_name

Discovered Applications

Project name (For SCA, appends ' SCA' to the ID)

scanId, last_scan_date

Scan Summary

Scan ID and last scan date.

business_application

Business application

Custom Fields with Business Application keyword present in CxSAST for the given project (SAST only)

vul_state (SAST)

riskState (SCA)

Source finding status

State of Vulnerability, like To Verify , Accepted , Confirmed , Not Exploitable , etc.

Severity

Source severity

Severity of Vulnerability: High, Medium, Low, Info

SAST: Snippet info (Line, Code, FileName)

SCA: Description

Description

SAST : All Path Nodes info, including Line no, Code, and File name

SCA : Description from vulnerability report

categories (SAST)

description (SCA)

Vulnerability summary

SAST : Category description

SCA : Vulnerability description

last_scan_date

Last found

Last scan where vulnerabilities are found

Remediation status (SAST)

riskState/riskStatus (SCA)

Source remediation status

Status of Vulnerability: New, Recurrent, and Resolved

detectionDate

First found

First scan date where vulnerabilities are found

Line

Line number

The line on which the flaw is found. (SAST only)

Remark

Source notes

CxSAST Comments (SAST only)

fileName (SAST)

location (SCA)

Location

The location where the flaw is found is mapped.

DeepLink (SAST)

sourcefile (SCA)

Source link

The URL to access vulnerability details in CxSAST is mapped to source_link.

source_entry_id

Vulnerability

Source entry ID

category_name

Source additional info

Category Name of vulnerability (SAST only)

destinationNodeStr

Vulnerable method info

Destination Path Nodes and snippet info including Line no, Code, Column, node ID, File name (SAST only)

Scan Custom Fields

Source Additional Info

Scan Custom Fields (SAST only)

pathHash

Source response

Hash value of all Path Nodes info (File Name, Line, Column) (SAST only)

similarityId (SAST)

id (SCA)

Source request

Similarity ID for SAST, CVE ID for SCA

similarityId, pathHash (SAST)

id, package_unique_id (SCA)

Source AVIT ID

SAST : similarityId + '_' + pathHash

SCA : CVE ID + package_unique_id

Scan_type

Scan type

SAST : Static

SCA : SCA

package_name, package_unique_id

Package

SCA : Package name/ Package ID for CxSCA

Exploitable path

Source Notes

SCA : Exploitable path details (File name, Line no, Exploitable path method )

references

Source references

SCA : Reference URLs for the vulnerability

Table 4. Application Vulnerability Entries Item transforms map fields:

Source Field (from CxSAST/CxSCA)

Target Field (from SNOW)

Description

queryId, cweId (SAST)

id (SCA)

Source Entry ID

Primary identifier for vulnerability entries.

SAST: "Checkmarx CWE-" + cweId

SCA: "Checkmarx-" + id

category_name

Category name

Vulnerability category name from Checkmarx.

SAST: Uses query name

SCA: Uses CWE ID

scan_type

Scan type

Scanner type normalized for ServiceNow.

SAST: Maps to "static"

SCA: Maps to "sca"

severity_index (SAST)

source_severity (SCA)

Source Severity

Numeric severity value converted from Checkmarx severity strings.

CRITICAL: 0

HIGH: 1

MEDIUM: 2

LOW: 3

INFO: 4

Other: 5

cvssScore

CVSS Base Score

CVSS base score from Checkmarx vulnerability details.

cvssVector

CVSS Vector

CVSS vector string from Checkmarx vulnerability details.

first_found_date

First detection date

Date vulnerability was first detected.

Owasptop10

OWASP

JSON object containing OWASP Top 10 classification. Populated for SAST scans only.

cwe_id (SAST)

cweId (SCA)

CWE entry

CWE identifier and related details.

SAST: List of CWE ID and query name

SCA: CWE ID only

category_group

Category Group

Vulnerability category group from Checkmarx.

SANSTop25

Short description

SANS Top 25 classification. Populated for SAST scans only.

Checkmarx Transform Map Script Timing and Purpose

The following transform scripts are run during the transformation process.

When the script is run

Purpose

onComplete (when an import set has completed transformation)

The script processes the data source and updates the count of AVITs created, updated, or unchanged, as well as those imported as part of this integration. This script is for internal use and should not be modified or deleted.

Viewing Checkmarx Vulnerability Integration Import

You can view the data imported by the integration by navigating to the corresponding tables. For quick access, you can type the following commands directly into the Filter Navigator .

To View

Table Name

Filter Navigator Command

Populated by Integration

Imported Projects

Discovered Applications / Application Releases

sn_vul_app_release_list.do

Checkmarx Application List Integration / Checkmarx SCA Application List Integration

Imported Scan Summaries

Application Vulnerability Scan Summaries

sn_vul_app_vul_scan_summary_list.do

Checkmarx Scan Summary Integration / Checkmarx SCA Scan Summary Integration

Imported Vulnerabilities

Application Vulnerable Items

sn_vul_app_vulnerable_item_list.do

Checkmarx Application Vulnerable Item Integration / Checkmarx SCA Application Vulnerable Item Integration

Grouped Vulnerability Entries

Application Vulnerability Entries

sn_vul_app_vul_entry_list.do

Checkmarx Application Vulnerable Item Integration / Checkmarx SCA Application Vulnerable Item Integration

To view the Discovered Applications / Application Releases table in Filter Navigator enter sn_vul_app_release_list.do

image-20250310-052357.png

To view the Application Vulnerability Scan Summaries tables in Filter Navigator enter sn_vul_app_vul_scan_summary_list.do

To view the Application Vulnerable Item tables in Filter Navigator enter sn_vul_app_vulnerable_item_list.do

To view the Application Vulnerability Entry tables in Filter Navigator enter sn_vul_app_vul_entry_list.do

Verifying the Property to Produce Closed Vulnerabilities

The behavior for creating records for vulnerabilities that are already closed in Checkmarx is controlled by a ServiceNow system property.

  1. Navigate to sys_properties.list in the Filter Navigator.

  2. Search for the property with the name sn_vul.create_closed .

  3. Review its value:

    • If true : The integration will create new AVI records in ServiceNow even if the finding is already in a "Closed" state in Checkmarx.

    • If false : The integration will not create new records for findings that are already closed. It will only update existing, open AVIs to a "Closed" state.