> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Resource mapping examples

Map Checkmarx projects​

The following example demonstrates how to ingest your Checkmarx projects to Port:

Project blueprint (click to expand)
{
"identifier": "checkmarxProject",
"title": "Checkmarx Project",
"icon": "Checkmarx",
"schema": {
"properties": {
"name": {
"type": "string",
"title": "Project Name"
},
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"tags": {
"type": "object",
"title": "Tags"
},
"repoUrl": {
"type": "string",
"title": "Repository URL"
},
"mainBranch": {
"type": "string",
"title": "Main Branch"
},
"origin": {
"type": "string",
"title": "Origin"
},
"criticality": {
"type": "number",
"title": "Criticality"
}
},
"required": ["name"]
},
"relations": {}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

Map Checkmarx scans​

The following example demonstrates how to ingest your Checkmarx scans to Port:

Scan blueprint (click to expand)
{
"identifier": "checkmarxScan",
"title": "Checkmarx Scan",
"icon": "Checkmarx",
"schema": {
"properties": {
"status": {
"type": "string",
"title": "Status",
"enum": [
"Queued",
"Running",
"Completed",
"Failed",
"Partial",
"Canceled"
],
"description": "The status of the scan. Possible values: Queued, Running, Completed, Failed, Partial, Canceled."
},
"branch": {
"type": "string",
"title": "Branch",
"description": "The branch of the repository that was scanned."
},
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Created At",
"description": "The date and time when the scan was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"description": "The date and time when the scan was last updated."
},
"projectId": {
"type": "string",
"title": "Project ID",
"description": "The identifier of the project to which this scan belongs."
},
"userAgent": {
"type": "string",
"title": "User Agent",
"description": "The user agent used to initiate the scan."
},
"configs": {
"type": "object",
"title": "Configurations",
"description": "Configuration details for the scan."
},
"statusDetails": {
"type": "array",
"items": {
"type": "object"
},
"title": "Status Details",
"description": "Detailed status information for the scan."
}
},
"required": ["status", "projectId"]
},
"relations": {
"project": {
"title": "Project",
"target": "checkmarxProject",
"many": false,
"required": true
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId
learn more
  • Scans represent individual security analysis runs for Checkmarx projects.
  • Each scan is linked to its parent project through relations.

Map Checkmarx projects and scans together​

The following example demonstrates how to ingest both Checkmarx projects and their scans to Port in a single configuration:

Project blueprint (click to expand)
{
"identifier": "checkmarxProject",
"title": "Checkmarx Project",
"icon": "Checkmarx",
"schema": {
"properties": {
"name": {
"type": "string",
"title": "Project Name"
},
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"tags": {
"type": "object",
"title": "Tags"
},
"repoUrl": {
"type": "string",
"title": "Repository URL"
},
"mainBranch": {
"type": "string",
"title": "Main Branch"
},
"origin": {
"type": "string",
"title": "Origin"
},
"criticality": {
"type": "number",
"title": "Criticality"
}
},
"required": ["name"]
},
"relations": {}
}
Scan blueprint (click to expand)
{
"identifier": "checkmarxScan",
"title": "Checkmarx Scan",
"icon": "Checkmarx",
"schema": {
"properties": {
"status": {
"type": "string",
"title": "Status",
"enum": [
"Queued",
"Running",
"Completed",
"Failed",
"Partial",
"Canceled"
],
"description": "The status of the scan. Possible values: Queued, Running, Completed, Failed, Partial, Canceled."
},
"branch": {
"type": "string",
"title": "Branch",
"description": "The branch of the repository that was scanned."
},
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Created At",
"description": "The date and time when the scan was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"description": "The date and time when the scan was last updated."
},
"projectId": {
"type": "string",
"title": "Project ID",
"description": "The identifier of the project to which this scan belongs."
},
"userAgent": {
"type": "string",
"title": "User Agent",
"description": "The user agent used to initiate the scan."
},
"configs": {
"type": "object",
"title": "Configurations",
"description": "Configuration details for the scan."
},
"statusDetails": {
"type": "array",
"items": {
"type": "object"
},
"title": "Status Details",
"description": "Detailed status information for the scan."
}
},
"required": ["status", "projectId"]
},
"relations": {
"project": {
"title": "Project",
"target": "checkmarxProject",
"many": false,
"required": true
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

Map SAST findings​

The following example demonstrates how to ingest Checkmarx SAST (Static Application Security Testing) findings to Port:

SAST blueprint (click to expand)
{
"identifier": "checkmarxSast",
"description": "Represents a Checkmarx Static Application Security Testing (SAST) finding in the catalogue",
"title": "Checkmarx SASTs",
"icon": "Checkmarx",
"schema": {
"properties": {
"firstScanId": {
"type": "string",
"title": "First Scan ID",
"description": "The identifier of the first scan in which this SAST finding appeared."
},
"status": {
"type": "string",
"title": "Status",
"description": "The status of the SAST finding",
"enum": [
"NEW",
"RECURRENT",
"FIXED"
],
"enumColors": {
"NEW": "lightGray",
"RECURRENT": "lightGray",
"FIXED": "lightGray"
}
},
"state": {
"icon": "DefaultProperty",
"type": "string",
"title": "State",
"description": "The state of the SAST finding"
},
"severity": {
"type": "string",
"description": "The severity level of the SAST finding",
"title": "Severity",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL"
],
"enumColors": {
"LOW": "lightGray",
"MEDIUM": "lightGray",
"HIGH": "lightGray",
"CRITICAL": "lightGray"
}
},
"confidenceLevel": {
"type": "number",
"title": "Confidence Level",
"description": "The confidence level (0-100) assigned to the SAST finding",
"minimum": 0,
"maximum": 100
},
"created": {
"type": "string",
"title": "Created At",
"description": "The date and time when the SAST finding was created",
"format": "date-time"
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the SAST result"
},
"nodes": {
"items": {
"type": "object"
},
"icon": "DefaultProperty",
"type": "array",
"title": "Nodes",
"description": "The list of nodes or code locations related to the SAST finding"
},
"cweId": {
"type": "string",
"title": "CWE ID",
"description": "The CWE (Common Weakness Enumeration) identifier associated with this SAST finding"
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"scan": {
"title": "Scan",
"target": "checkmarxScan",
"required": false,
"many": false
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

- kind: sast
selector:
query: 'true'
port:
entity:
mappings:
identifier: .resultHash
title: .queryName
blueprint: '"checkmarxSast"'
properties:
firstScanId: .firstScanID
status: .status
state: .state
severity: (.severity // empty)
confidenceLevel: .confidenceLevel
created: .firstFoundAt
nodes: (.nodes // empty)
cweId: (.cweID // empty)
relations:
scan: .scanID
learn more
  • SAST findings represent static code analysis results from Checkmarx scans.
  • Each SAST finding is linked to the scan that discovered it.
  • The severity levels are: LOW, MEDIUM, HIGH, CRITICAL.

Map SCA findings​

The following example demonstrates how to ingest Checkmarx SCA (Software Composition Analysis) findings to Port:

SCA blueprint (click to expand)
{
"identifier": "checkmarxSCA",
"title": "Checkmarx SCA",
"icon": "Checkmarx",
"schema": {
"properties": {
"severity": {
"type": "string",
"title": "Severity",
"description": "The severity level of the SCA finding."
},
"state": {
"type": "string",
"title": "State",
"description": "The state of the SCA finding."
},
"description": {
"type": "string",
"title": "Description",
"description": "A description of the SCA finding."
},
"cweId": {
"type": "string",
"title": "CWE ID",
"description": "The Common Weakness Enumeration (CWE) identifier related to the vulnerability."
},
"status": {
"type": "string",
"title": "Status",
"description": "The current status of the SCA finding."
},
"created": {
"type": "string",
"format": "date-time",
"title": "Created",
"description": "The date and time when the SCA finding was created."
},
"firstScanId": {
"type": "string",
"title": "First Scan ID",
"description": "The identifier of the first scan in which this SCA issue was detected."
},
"packageIdentifier": {
"type": "string",
"title": "Package Identifier",
"description": "The identifier of the affected package."
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
},
"title": "Recommendations",
"description": "Recommended actions to remediate the SCA finding."
},
"recommendedVersion": {
"type": "string",
"title": "Recommended Version",
"description": "The recommended version of the package to resolve the vulnerability."
},
"packageData": {
"items": {
"type": "object"
},
"type": "array",
"title": "Package Data"
},
"confidenceLevel": {
"type": "string",
"title": "Confidence Level",
"description": "The confidence level of the SCA finding."
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"scan": {
"title": "Scan",
"target": "checkmarxScan",
"required": false,
"many": false
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

- kind: sca
selector:
query: 'true'
port:
entity:
mappings:
identifier: .alternateId
title: .data.packageIdentifier
blueprint: '"checkmarxSCA"'
properties:
firstScanId: .firstScanId
status: .status
state: .state
severity: .severity
created: .created
description: .description
packageIdentifier: .data.packageIdentifier
recommendations: .data.recommendations
recommendedVersion: .data.recommendedVersion
packageData: .data.packageData
cweId: .vulnerabilityDetails.cweId
relations:
scan: .__scan_id
learn more
  • SCA findings represent vulnerabilities in third-party dependencies and packages.
  • Each SCA finding includes package information and remediation recommendations.
  • The findings are linked to the scan that discovered them.

Map KICS findings​

The following example demonstrates how to ingest Checkmarx KICS (Keeping Infrastructure as Code Secure) findings to Port:

KICS blueprint (click to expand)
{
"identifier": "checkmarxKics",
"description": "Represents a KICS issue detected by Checkmarx One",
"title": "Checkmarx KICS",
"icon": "Checkmarx",
"schema": {
"properties": {
"firstScanId": {
"type": "string",
"title": "First Scan ID",
"description": "The identifier of the first scan in which this KICS issue was detected"
},
"status": {
"type": "string",
"title": "Status",
"description": "The current status of the KICS issue, indicating if it is new, recurring, or has been fixed.",
"enum": [
"NEW",
"RECURRENT",
"FIXED"
],
"enumColors": {
"NEW": "lightGray",
"RECURRENT": "lightGray",
"FIXED": "lightGray"
}
},
"state": {
"type": "string",
"description": "The state of the KICS issue, reflecting its verification and remediation status",
"title": "State"
},
"severity": {
"type": "string",
"title": "Severity",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL",
"INFO"
],
"enumColors": {
"LOW": "lightGray",
"MEDIUM": "lightGray",
"HIGH": "lightGray",
"CRITICAL": "lightGray",
"INFO": "lightGray"
}
},
"created": {
"type": "string",
"title": "Created At",
"description": "The date and time when the KICS issue was first identified",
"format": "date-time"
},
"description": {
"icon": "DefaultProperty",
"type": "string",
"title": "Description",
"description": "A description of the KICS issue."
},
"fileName": {
"type": "string",
"title": "File Name",
"description": "The name of the file where the KICS issue was found."
},
"line": {
"type": "string",
"title": "Line Number",
"description": "The line number in the file where the KICS issue occurs"
},
"platform": {
"type": "string",
"title": "Platform"
},
"issueType": {
"type": "string",
"title": "Issue Type",
"description": "The type or category of the KICS issue"
},
"expectedValue": {
"type": "string",
"title": "Expected Value",
"description": "The value that was expected in the configuration"
},
"value": {
"type": "string",
"title": "Value",
"description": "The actual value found in the configuration that triggered the KICS issue"
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"scan": {
"title": "Scan",
"target": "checkmarxScan",
"required": false,
"many": false
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

- kind: kics
selector:
query: 'true'
port:
entity:
mappings:
identifier: .id
title: .description
blueprint: '"checkmarxKics"'
properties:
type: .type
firstScanId: .firstScanId
id: .id
status: .status
state: .state
severity: (.severity // empty)
confidenceLevel: .confidenceLevel
created: .created
description: .description
fileName: (.data.fileName // empty)
line: (.data.line // empty)
platform: (.data.platform // empty)
issueType: (.data.issueType // empty)
expectedValue: (.data.expectedValue // empty)
value: (.data.value // empty)
relations:
scan: .__scan_id
learn more
  • KICS findings represent infrastructure as code security issues.
  • Each finding includes file location, expected vs actual values, and platform information.
  • The severity levels include: LOW, MEDIUM, HIGH, CRITICAL, INFO.

Map Container Security findings​

The following example demonstrates how to ingest Checkmarx Container Security findings to Port:

Container Security blueprint (click to expand)
{
"identifier": "checkmarxContainerSecurity",
"title": "Checkmarx Container Security",
"icon": "Checkmarx",
"schema": {
"properties": {
"firstScanId": {
"type": "string",
"title": "First Scan ID",
"description": "The identifier of the first scan in which this container security issue was detected."
},
"status": {
"type": "string",
"title": "Status",
"description": "The current status of the container security finding."
},
"state": {
"type": "string",
"title": "State",
"description": "The state of the container security finding."
},
"severity": {
"type": "string",
"title": "Severity",
"description": "The severity level of the container security finding."
},
"confidenceLevel": {
"type": "string",
"title": "Confidence Level",
"description": "The confidence level of the container security finding."
},
"created": {
"type": "string",
"format": "date-time",
"title": "Created",
"description": "The date and time when the container security finding was created."
},
"description": {
"type": "string",
"title": "Description",
"description": "A description of the container security finding."
},
"packageName": {
"type": "string",
"title": "Package Name",
"description": "The name of the affected package in the container."
},
"packageVersion": {
"type": "string",
"title": "Package Version",
"description": "The version of the affected package in the container."
},
"imageName": {
"type": "string",
"title": "Image Name",
"description": "The name of the container image."
},
"imageTag": {
"type": "string",
"title": "Image Tag",
"description": "The tag of the container image."
},
"imageFilePath": {
"type": "string",
"title": "Image File Path",
"description": "The file path within the container image where the issue was found."
},
"cweId": {
"type": "string",
"title": "CWE ID",
"description": "The Common Weakness Enumeration (CWE) identifier related to the vulnerability."
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"scan": {
"title": "Scan",
"target": "checkmarxScan",
"required": false,
"many": false
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

- kind: containers
selector:
query: 'true'
port:
entity:
mappings:
identifier: .__scan_id + "/" + .id
title: .id
blueprint: '"checkmarxContainerSecurity"'
properties:
firstScanId: .firstScanId
status: .status
state: .state
severity: .severity
confidenceLevel: .confidenceLevel
created: .created
description: .description
packageName: .data.packageName
packageVersion: .data.packageVersion
imageName: .data.imageName
imageTag: .data.imageTag
imageFilePath: .data.imageFilePath
cweId: .vulnerabilityDetails.cweId
relations:
scan: .__scan_id
learn more
  • Container Security findings represent vulnerabilities in container images.
  • Each finding includes package information, image details, and file paths.
  • Findings are linked to the scan that discovered them.

Map API Security findings​

The following example demonstrates how to ingest Checkmarx API Security findings to Port:

API Security blueprint (click to expand)
{
"identifier": "checkmarxApiSec",
"title": "Checkmarx API Security",
"icon": "Checkmarx",
"schema": {
"properties": {
"riskId": {
"type": "string",
"title": "Risk ID",
"description": "The unique identifier for the API security risk."
},
"apiId": {
"type": "string",
"title": "API ID",
"description": "The identifier of the API associated with the risk."
},
"severity": {
"type": "string",
"title": "Severity",
"enum": [
"low",
"medium",
"high",
"critical"
],
"description": "The severity level of the API security risk."
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the API security risk."
},
"status": {
"type": "string",
"title": "Status",
"enum": [
"new",
"recurrent",
"fixed"
],
"description": "The status of the API security risk."
},
"httpMethod": {
"type": "string",
"title": "HTTP Method",
"description": "The HTTP method associated with the API risk (e.g., GET, POST)."
},
"url": {
"type": "string",
"title": "URL",
"description": "The URL endpoint associated with the API risk."
},
"origin": {
"type": "string",
"title": "Origin",
"description": "The origin or source of the API risk."
},
"documented": {
"type": "boolean",
"title": "Documented",
"description": "Indicates whether the API is documented."
},
"authenticated": {
"type": "boolean",
"title": "Authenticated",
"description": "Indicates whether the API requires authentication."
},
"discoveryDate": {
"type": "string",
"format": "date-time",
"title": "Discovery Date",
"description": "The date and time when the API risk was discovered."
},
"scanId": {
"type": "string",
"title": "Scan ID",
"description": "The identifier of the scan in which the risk was found."
},
"sastRiskId": {
"type": "string",
"title": "SAST Risk ID",
"description": "The identifier of the related SAST risk, if available."
},
"projectId": {
"type": "string",
"title": "Project ID",
"description": "The identifier of the project associated with the API risk."
},
"state": {
"type": "string",
"title": "State",
"enum": [
"to_verify",
"confirmed",
"urgent",
"not_exploitable",
"proposed_not_exploitable",
"false_positive"
],
"description": "The state of the API security risk."
}
},
"required": [
"riskId",
"apiId",
"name",
"status",
"state"
]
},
"relations": {
"scan": {
"title": "Scan",
"target": "checkmarxScan",
"many": false,
"required": false
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: project
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxProject"'
identifier: .id
title: .name
properties:
name: .name
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
repoUrl: .repoUrl
mainBranch: .mainBranch
origin: .origin
criticality: .criticality

- kind: scan
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxScan"'
identifier: .id
title: '(.projectId + "-" + .id)'
properties:
status: .status
branch: .branch
createdAt: .createdAt
updatedAt: .updatedAt
projectId: .projectId
userAgent: .userAgent
configs: (.configs // {})
statusDetails: (.statusDetails // [])
relations:
project: .projectId

- kind: apisec
selector:
query: 'true'
port:
entity:
mappings:
identifier: .risk_id
title: .name
blueprint: '"checkmarxApiSec"'
properties:
riskId: .risk_id
apiId: .api_id
severity: (.severity // empty)
name: .name
status: .status
httpMethod: .http_method
url: .url
origin: .origin
documented: .documented
authenticated: .authenticated
discoveryDate: .discovery_date
scanId: .scan_id
sastRiskId: (.sast_risk_id // empty)
projectId: .project_id
state: .state
relations:
scan: .scan_id
learn more
  • API Security findings represent risks discovered in API endpoints.
  • Each finding includes HTTP method, URL, authentication status, and documentation status.
  • The state field indicates the verification and remediation status.

Map Checkmarx applications​

The following example demonstrates how to ingest your Checkmarx applications to Port:

Application blueprint (click to expand)
{
"identifier": "checkmarxApplication",
"title": "Checkmarx Application",
"icon": "Checkmarx",
"schema": {
"properties": {
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Created At",
"description": "The date and time when the application was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"title": "Updated At",
"description": "The date and time when the application was last updated."
},
"tags": {
"type": "object",
"title": "Tags",
"description": "A set of tags associated with the application."
},
"rules": {
"type": "object",
"title": "Rules",
"description": "A set of rules associated with the application."
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the application."
},
"criticality": {
"type": "number",
"title": "Criticality",
"description": "The criticality level of the project."
}
},
"required": []
},
"relations": {
"projects": {
"target": "checkmarxProject",
"title": "Projects",
"required": false,
"many": true
}
}
}
Integration Mapping (click to expand)
createMissingRelatedEntities: true
deleteDependentEntities: true
resources:
- kind: application
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxApplication"'
identifier: .id
title: .name
properties:
description: .description
createdAt: .createdAt
updatedAt: .updatedAt
tags: (.tags // {})
rules: .rules[]
criticality: .criticality
relations:
projects: .projectIds

The tagKeys optional selector is used to filter applications based on specific tag keys associated with your applications.

- kind: application
selector:
query: 'true'
tagKeys: ['env', 'scope']
learn more
  • Applications in Checkmarx are one logical entity used to group related projects.
  • Each application can have multiple projects associated with it and having rules that define how projects are grouped.
  • For more information, see Applications section in the Checkmarx One API Reference Guide.

Map Dast Scan Environments, DAST scan and DAST scan results​

The following example demonstrates how to ingest Checkmarx DAST scan environments, scans, and scan results to Port:

DAST scan environment blueprint (click to expand)
{
"identifier": "checkmarxDastScanEnvironment",
"title": "Checkmarx DAST Scan Environment",
"icon": "Checkmarx",
"schema": {
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"description": "The domain under scan."
},
"url": {
"type": "string",
"title": "URL",
"description": "The target URL of the environment."
},
"created": {
"type": "string",
"format": "date-time",
"title": "Created",
"description": "The date when the environment was created."
},
"scanType": {
"type": "string",
"title": "Scan Type",
"description": "The type of scan (DAST)."
},
"riskRating": {
"type": "string",
"title": "Risk Rating",
"description": "Overall risk rating for the environment."
},
"riskLevel": {
"type": "object",
"title": "Risk Level",
"description": "Breakdown of risk counts by severity."
},
"authMethod": {
"type": "string",
"title": "Auth Method",
"description": "Authentication method used for scanning."
},
"lastScanId": {
"type": "string",
"title": "Last Scan ID",
"description": "The ID of the last DAST scan."
},
"lastScanTime": {
"type": "string",
"format": "date-time",
"title": "Last Scan Time",
"description": "Timestamp of the last DAST scan."
},
"lastStatus": {
"type": "string",
"title": "Last Status",
"description": "The latest scan status."
}
},
"required": [
"url",
"scanType"
]
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {}
}
DAST scan blueprint (click to expand)
{
"identifier": "checkmarxDastScan",
"title": "Checkmarx DAST Scan",
"icon": "Checkmarx",
"schema": {
"properties": {
"environmentId": {
"type": "string",
"title": "Environment ID",
"description": "Identifier of the related DAST environment."
},
"initiator": {
"type": "string",
"title": "Initiator",
"description": "User who initiated the scan."
},
"scanType": {
"type": "string",
"title": "Scan Type",
"description": "Type of scan (DAST)."
},
"created": {
"type": "string",
"format": "date-time",
"title": "Created",
"description": "Timestamp when the scan was created."
},
"startTime": {
"type": "string",
"format": "date-time",
"title": "Start Time",
"description": "When the scan started running."
},
"updateTime": {
"type": "string",
"format": "date-time",
"title": "Update Time",
"description": "Last update timestamp for the scan."
},
"lastStatus": {
"type": "string",
"title": "Last Status",
"description": "Final or current status of the scan."
},
"riskRating": {
"type": "string",
"title": "Risk Rating",
"description": "Overall risk rating for the scan."
},
"riskLevel": {
"type": "object",
"title": "Risk Level",
"description": "Detailed risk breakdown."
},
"scanDuration": {
"type": "number",
"title": "Scan Duration",
"description": "Duration of the scan in seconds."
}
},
"required": [
"scanType"
]
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"dastScanEnvironment": {
"title": "DAST Scan Environment",
"target": "checkmarxDastScanEnvironment",
"required": false,
"many": false
}
}
}
DAST scan result blueprint (click to expand)
{
"identifier": "checkmarxDastScanResult",
"title": "Checkmarx DAST Scan Result",
"icon": "Checkmarx",
"schema": {
"properties": {
"name": {
"type": "string",
"title": "Vulnerability Name",
"description": "The name or title of the detected vulnerability."
},
"status": {
"type": "string",
"title": "Status",
"description": "The current status of the finding."
},
"severity": {
"type": "string",
"title": "Severity",
"description": "Severity level of the finding."
},
"url": {
"type": "string",
"title": "URL",
"description": "The URL where the issue was found."
},
"method": {
"type": "string",
"title": "HTTP Method",
"description": "HTTP method used in the request."
},
"solution": {
"type": "string",
"title": "Solution",
"description": "Recommended remediation or mitigation steps."
},
"description": {
"type": "string",
"title": "Description",
"description": "Details about the vulnerability."
},
"cweId": {
"type": "string",
"title": "CWE ID",
"description": "Common Weakness Enumeration identifier."
},
"owasp": {
"type": "array",
"items": {
"type": "string"
},
"title": "OWASP References",
"description": "OWASP Top 10 categories relevant to this issue."
},
"environmentId": {
"type": "string",
"title": "Environment ID",
"description": "ID of the environment where this result was found."
}
},
"required": [
"name",
"severity",
"url"
]
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"dastScanEnvironment": {
"title": "DAST Scan Environment",
"target": "checkmarxDastScanEnvironment",
"required": false,
"many": false
},
"dastScan": {
"title": "DAST Scan",
"target": "checkmarxDastScan",
"required": false,
"many": false
}
}
}
Integration Mapping (click to expand)
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
- kind: dast-scan-environment
selector:
query: 'true'
port:
entity:
mappings:
identifier: .environmentId
title: .url
blueprint: '"checkmarxDastScanEnvironment"'
properties:
domain: .domain
url: .url
created: .created
scanType: .scanType
riskRating: .riskRating
riskLevel: .riskLevel
authMethod: .authMethod
lastScanId: .lastScanID
lastScanTime: .lastScanTime
lastStatus: .lastStatus

- kind: dast-scan
selector:
query: 'true'
since: 20
port:
entity:
mappings:
identifier: .scanId
title: .scanId
blueprint: '"checkmarxDastScan"'
properties:
environmentId: .environmentId
initiator: .initiator
scanType: .scanType
created: .created
startTime: .startTime
updateTime: .updateTime
lastStatus: .lastStatus
riskRating: .riskRating
riskLevel: .riskLevel
scanDuration: .scanDuration
relations:
dastScanEnvironment: .__environment_id

- kind: dast-scan-result
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"checkmarxDastScanResult"'
identifier: .id
title: .name
properties:
name: .name
status: .status
severity: .severity
url: .url
method: .method
solution: .solution
description: .description
cweId: .cwe_id
owasp: .owasp
environmentId: .environment_id
relations:
dastScanEnvironment: .environment_id
dastScan: .scan_id
learn more
  • DAST scan results are fetched by discovering DAST environments, then scans, then results per scan.