- Checkmarx Documentation
- Checkmarx One
- Checkmarx One User Guide
- Managing Projects
- Configuring Projects
Configuring Projects
Open Project Settings
In the Applications and Projects home page, click on Actions icon →Project Settings.
![]() |
General Settings
Project Settings General screen contains the Project’s basic settings.
The screen includes the following configuration fields:
Project Name - The name of the project that you assigned.
Groups (Optional) - Assign groups to a project. This setting is optional.
Once a group is assigned to a project, all the group members will be able to perform actions in the project (scan source codes, view results, etc.)
Project Tags (Optional) - Assign tags to a Project. Tags are very useful for projects filtering purposes.
Tagging has no dependencies in any other component, and it is possible to configure any required value.
Tags can be used for overriding Jira feedback app fields values. For additional information see Fields Override
Repository URL - The repository URL from which the source code for this project is scanned by default. This value can be added when creating a Manual Scan project that scans coder from a Repository URL.
Token - The default token for private repository URLs.
SSH - Create and add your SSH key.
Set Criticality Level - Set the Project criticality level (manual configuration).
The Criticality level is included in the Project Overview page.
This option has 5 levels:
1 - None
2 - Low
3 - Medium (Default)
4 - High
5 - Critical
Project Rules
Project Rules allow the user to set Parameters on the project level.
Project configuration parameters are higher than the same parameter’s configuration via Configuring Scanner Default Settings.
This means that the parameters will apply to all the scans in the project.
Limitations
API Security does not support project rules at present.
Parameters that are configured via Configuring Scanner Default Settings are inherited to the project settings only, if the user configured them to Allow Override.
In case that Allow Override isn’t enabled for a specific parameter in the Configuring Scanner Default Settings, it won’t appear as an option on the Project Settings level.
"Allow override" is selected by default for all the rules under Project Settings.
It isn’t possible to configure the same parameter twice (in any configuration level).
Each scanner has a different set of parameters.
Notice
Clicking the
icon clears the configuration field.
Checking
allows overriding the same parameter in a higher level of configuration.
For more information, refer to Configuring Projects Using Config as Code Files.
Tenant Settings:
![]() |
Inherited Settings:
![]() |
If a greyed-out defaultConfig.xml file appears in the Project Settings, it indicates that customized settings for the default configuration were implemented at the tenant level with the intention of improving scan results or to assist in troubleshooting issues. Once these settings are established, they are automatically applied to every project. For additional information, reach out to support or contact your Product Account Manager (PAM) directly.
To add a new rule click + Add Rule.
Scanners Parameters Configuration Options
SAST Scanner Parameters
All the Parameters that will be defined for the SAST scanner will be applied for all the Projects that will run SAST scans.
The table below presents all the optional Parameters, and their optional values.
Parameter | Values | Notes |
---|---|---|
presetName | All the available SAST Presets that exist in the system including ASA Premium Preset |
|
Folder/file filter | Allow users to select specific folders or files that they want to include or exclude from the code scanning process |
|
languageMode | primary / multi | For more information see: Specifying a Code Language for Scanning Supported Code Languages and Frameworks:
|
engineVerbose | true / false |
|
incremental | true / false |
ASA Premium Preset
ASA Premium Preset is a part of the SAST collection of presets.
This Preset is available only for Checkmarx One. Its usage is described in the table below:
Preset | Usage | Includes vulnerability queries for.... |
---|---|---|
ASA Premium | The ASA Premium preset contains a subset of vulnerabilities that Checkmarx AppSec Accelerator team considers to be the starting point of the Checkmarx AppSec program. The preset might change in future versions. The AppSec Accelerator team will remove old/deprecated queries or include new and improved queries in a continuously manner. | Apex, ASP, CPP, CSharp, Go, Groovy, Java, JavaScript, Kotlin (non-mobile only), Perl, PHP, PLSQL, Python, Ruby, Scala, VB6, VbNet, Cobol, RPG and VbScript coding languages. |
ASA Premium Mobile | The ASA Premium Mobile preset is a dedicated preset designed for mobile apps. The ASA Premium preset contains a subset of vulnerabilities that Checkmarx AppSec Accelerator team considers to be the starting point of the Checkmarx AppSec program. The preset might change in future versions. The AppSec Accelerator team will remove old/deprecated queries or include new and improved queries in a continuously manner. | Apex, ASP, CPP, CSharp, Go, Groovy, Java, JavaScript, Kotlin (non-mobile only), Perl, PHP, PLSQL, Python, Ruby, Scala, VB6, VbNet, Cobol, RPG and VbScript coding languages. |
KICS Scanner Parameters
All the Parameters that will be defined for the KICS scanner will be applied for all the Projects that will run KICS scans.
The table below presents all the optional Parameters, and their optional values.
Parameter | Values | Notes |
---|---|---|
filter | Any file type |
|
platforms | Ansible / CloudFormation / Dockerfile / Kubernetes / Terraform | NoticeIt is possible to configure one/more values, separated with a comma. For example: Ansible,CloudFormation,Dockerfile WarningAny mistake in the the platform characters will cause an error |
SCA Scanner Parameters
All the Parameters that will be defined for the SCA scanner will be applied for all the Projects that will run SCA scans.
The table below presents all the optional Parameters, and their optional values.
Parameter | Values | Notes |
---|---|---|
filter | Any file type |
|
exploitablePath | true / false | |
lastSastScanTime | Numeric character |
Filtering Options
Filtering the scanners parameters is based on Glob.
For more information see Glob Tool
For instance:
Exclude all java files: !**/*.java
Exclude all files inside a folder Test: !**/Test/**
Exclude all files under root folder Test: !Test/**
Exclude just the files inside a folder leaving all subfolders content: !**/Test/*
Exclude all JavaScript minified files: !**/*.min.js
Note
The rules follow the same logic at tenant & project level.
Removing Parameters
Scanners parameters configuration work in hierarchy.
During parameters configuration, the system considers the Tenant level as the highest configuration level followed by Project level, Config as Code and Scan level.
Parameters are inherited from one level to the other, starting from Tenant level.
Removing parameters from a lower configuration level can be performed only by deleting the parameter configuration from the higher configuration level. In this case the parameter won't be presented in the lower configuration level.
In case users edit a parameter in a lower configuration level, a icon will appear at the right. Deleting the parameter can't be performed, as the parameter is inherited from the higher configuration level. This behavior is designed to emphasize that the configuration exist at the Tenant level and it is set with "X" value.
In case using the icon, it might appear that the parameter is deleted, but it is not. In case exiting the page and returning, the parameter will be presented again.
Note
When running a scan, the system considers the Scan level as the highest configuration level, followed by Config as Code, Project level and Tenant level.
Webhooks
Webhooks configuration provides the user the ability to send post scan events to an external notification service.
The notifications include the triggered scans Success / Failed statuses.
An example about when each webhook event occurs and what the payload contains can be found in here.
To add a new Webhook click
The screen includes the following configuration fields:
Note
Mandatory fields are marked with
Name - Webhook service name.
- Set the Webhook to be in active state.
Payload URL - Webhook service URL.
If we have the following webhook configured in our project settings:
https://webhook.site/ee1283ca-c114-42d1-b93b-10e783f2ed60
The request information is the following:
Request:
POST https://webhook.site/ee1283ca-c114-42d1-b93b-10e783f2ed60 HTTP/1.1
Headers:
Host: webhook.site
User-Agent: Go-http-client/1.1
Content-Length: 582
Content-Type: application/json
X-Cx-Webhook-Event: scan_completed_successfully OR scan_failed
X-Cx-Webhook-Signature: sha256=Jw9m7mG+MMsawW1UcM7gHH1KCGCejWwIxHv0VNDGOfU=
Accept-Encoding: gzip
Note
The X-Cx-Webhook-Signature is the eventData sent by the scan event encrypted using the sha256 and the secret is the webhook secret.
Body:
Eg. Scan completed successfully with 2 scanners
{ "scanId": "<SCAN_ID>", // eg "000000-0000-0000-0000-000000000000" "projectId": "<PROJECT_ID>", // eg "000000-0000-0000-0000-000000000000 "statusInfo": [ { "name": "general", "status": "Completed", "details": "" }, { "name": "<SCANNER>", // eg “sast”, “iac” "status": "Completed", "details": "", "loc": "<LINES_OF_CODE>" //eg 1503 }, { "name": "<SCANNER2>", // eg “sast”, “iac” "status": "Completed", "details": "", } ], "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "initiator": "<USER_NAME>", "sourceType": "<SOURCE_TYPE>(GIT/ZIP)" "sourceOrigin": "<SOURCE_ORIGIN>", // eg webapp "branch": "<GIT_BRANCH>", // eg master "mainBranch": "", "projectName": "<PROJECT_NAME>", // eg test "repoURL": "<GIT_REPOSITORY_URL>", // eg "https://github.com/user/repo" "correlationId": "<CORRELATION_ID>" // eg "000000-0000-0000-0000-000000000000" }
Eg. Scan failed 1 scanner
{ "scanId": "<SCAN_ID>", "projectId": "<PROJECT_ID>", "statusInfo": [ { "name": "general", "status": "Completed", "details": "" }, { "name": "<SCANNER>", "status": "Failed", "details": "<ERROR_MESSAGE>", // eg "Failed:engine failed: Error in queries compilation: (11187,56): error CS1525: Invalid expression term ')' in ", "loc": <LINES_OF_CODE>, "errorCode": <ERROR_CODE> // eg 1015001 } ], "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "initiator": "<USER_NAME>", "sourceType": "<SOURCE_TYPE>(GIT/ZIP)", "sourceOrigin": "<SOURCE_ORIGIN>", "branch": "<GIT_BRANCH>", "mainBranch": "", "projectName": "<PROJECT_NAME>", "repoURL": "<GIT_REPOSITORY_URL>", "correlationId": "<CORRELATION_ID>" }
Secret (Optional) - Webhook service secret.
Events - Set which scan events will be sent to the Webhook notification service (Completed/Failed scans).
Note
It is possible to configure one or more events.
Mandatory fields are marked with
Click Add
![]() |
Code Repository Settings
The Imported Project Settings screen allows you to update the settings for any SCM imported Project.
Note
Importing projects is not supported for API Security at present.
Update Scanners
In the Applications and Projects home page, click
and then
Project Settings. The Projects Settings dialog appears.
In the Project Settings screen click Code Repository
Update the relevant scanner(s) and click Save
For example:
Note
Protected Branches are the repository branches that are configured to be scanned.
For additional information about Protected Branches see About Protected Branches
Deactivate Automatic Scans
By default automatic scans are activated for Push, and Pull requests.
To deactivate the option, uncheck the Push, Pull request option and click Save
![]() |
Refresh Repository Permission
In case that you want to refresh the repository permission, click Refresh repository permission.
![]() |
A confirmation screen appear. To confirm and continue, click Re-import Project.
![]() |
Feedback Profile
Feedback Profile screen allows you to update the settings for any Feedback Profile that is created and assigned to a Checkmarx One Project.
For more information see Update an Assigned Profile