Skip to main content

Integrating the Checkmarx Vulnerability Integration

Once configured, the integrations run automatically each day in two parallel, chained sequences (one for SAST and one for SCA). You can also execute them manually for on-demand updates. It is important to run the integrations for each scanner in their specific order to prevent data inconsistencies.

Integration Execution Steps

The following steps outline the manual process for executing each integration.

  1. Navigate to Checkmarx Vulnerability Integration > Integrations . A list of all Checkmarx integration jobs is displayed.

    image-20250310-052001.png
  2. Click on the name of the integration you want to run (e.g., Checkmarx Application List Integration ).

  3. To import data from a specific point in time, click the calendar icon next to Start time and select the desired date and time. The integration will only process items created or updated in Checkmarx after this time. For the initial run, it is recommended to set this to the earliest date you want to retrieve data from.

    image-20250310-052019.png
  4. Click Execute Now in the top-right corner to start the integration run.

    image-20250310-052029.png
  5. The Vulnerability Integration Runs tab will display the execution status. When the integration shows a State of "Complete" and a Substate of "Success", the job has completed successfully.

Integration Sequence

For the data to be imported correctly, the integrations must be run in the following sequence for each scanner.

SAST Integration Chain (Run in this order):

  1. Checkmarx Application List Integration

  2. Checkmarx Scan Summary Integration

  3. Checkmarx Application Vulnerable Item Integration

  4. Checkmarx SAST AVIT Closure Integration

SCA Integration Chain (Run in this order):

  1. Checkmarx SCA Application List Integration

  2. Checkmarx SCA Scan Summary Integration

  3. Checkmarx SCA Application Vulnerable Item Integration

  4. Checkmarx SCA AVIT Closure Integration

How Vulnerabilities (AVIs) are Closed

The final integration in each chain automatically closes Application Vulnerable Items (AVIs) in ServiceNow when they are no longer considered active in Checkmarx.

  • Fixed Findings: The closure integration identifies the single latest scan for each project. It then compares the findings in that scan against the open AVIs in ServiceNow for that project. Any AVI that is not found in the latest scan is considered fixed, and its state is set to Closed with a source remediation status of FIXED .

  • Findings from Deleted Projects: If the "Close AVITs of Deleted Project" option is enabled on the Configuration page, all open AVIs for a project that has been deleted in Checkmarx will be automatically updated to a state of Closed with a substate of Skipped .

  • Not Exploitable Findings (SAST): If a SAST finding is triaged and marked as "Not Exploitable" in Checkmarx SAST, the corresponding AVI in ServiceNow will be updated to a state of Closed during the next integration run.

Verifying the Property to Import 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 System Properties > All Properties ( 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.

Troubleshooting: Reverting Customized Scripts

If a script has been customized and is preventing the integration from running correctly after an update, you must revert it to its store version.

  1. In the Application Navigator, search for and select Script Includes .

  2. Search for the modified script (e.g., CheckmarxAppVulItemIntegration , CheckmarxScanSummaryIntegration , CheckmarxUtilBase ).

  3. Open the script record and scroll down to the Versions related list.

  4. Click on the link for the latest version, where the Source is "Store Application".

  5. Click Revert to this version .