Skip to main content

Checkmarx Python SDK

Project description

Checkmarx Python SDK

This is a Checkmarx Python SDK. By using this SDK, Checkmarx users will be able to do automatic scanning with CxSAST and CxOSA. This SDK uses Python requests package to initiate HTTP requests to do related CxSAST and CxOSA scanning, and reports generation.

REST API Official Documents

For more information about Checkmarx REST API, please refer to Checkmarx knowledge Center:
CxSAST (REST) API Summary: https://checkmarx.atlassian.net/wiki/spaces/KC/pages/131039271/CxSAST+REST+API
CxOSA (REST) API Summary: https://checkmarx.atlassian.net/wiki/spaces/CCOD/pages/856653848/CxOSA+API+Guide

Notice

Please use Python3

Quick Start

First, Download and unzip this repository or clone this repository to your local drive.

$ git clone https://github.com/checkmarx-ts/checkmarx-python-sdk.git

Next, install the library

$ pip install CheckmarxPythonSDK

Next, set up configuration (in e.g. ~/.Checkmarx/config.ini, or C:\Users\Administrator\.Checkmarx\config.ini)

[checkmarx]
base_url = http://localhost:80
username = ******
password = ******
grant_type = password
scope = sast_rest_api
client_id = resource_owner_client
client_secret = 014DF517-39D1-4453-B7B3-9930C563627C
url =  %(base_url)s/cxrestapi
scan_preset = Checkmarx Default
configuration = Default Configuration
team_full_name = /CxServer
max_try = 3

Examples

Example 1: Scan from local zip file:

python <Path to checkmarx-python-sdk>/examples/scan_from_local_zip.py

Example 2: Scan from git:

python <Path to checkmarx-python-sdk>/examples/scan_from_git.py

Example 3: OSA scan demo:

python <Path to checkmarx-python-sdk>/examples/osa_scan_demo.py

The CxSAST and CxOSA REST API list

  1. AuthenticationAPI
    • auth_headers (This is a class variable that stored token)
  2. TeamAPI
    • get_all_teams
    • get_team_id_by_team_full_name (provided by SDK)
    • get_team_full_name_by_team_id (provided by SDK)
  3. ProjectsAPI
    • get_all_project_details
    • create_project_with_default_configuration
    • get_project_id_by_project_name_and_team_full_name (provided by SDK)
    • get_project_details_by_id
    • update_project_by_id
    • update_project_name_team_id
    • delete_project_by_id
    • create_project_if_not_exists_by_project_name_and_team_full_name (provided by SDK)
    • delete_project_if_exists_by_project_name_and_team_full_name (provided by SDK)
    • create_branched_project
    • get_all_issue_tracking_systems
    • get_issue_tracking_system_id_by_name
    • get_issue_tracking_system_details_by_id
    • get_project_exclude_settings_by_project_id
    • set_project_exclude_settings_by_project_id
    • get_remote_source_settings_for_git_by_project_id
    • set_remote_source_setting_to_git
    • get_remote_source_settings_for_svn_by_project_id
    • set_remote_source_settings_to_svn
    • get_remote_source_settings_for_tfs_by_project_id
    • set_remote_source_settings_to_tfs
    • get_remote_source_settings_for_custom_by_project_id
    • set_remote_source_setting_for_custom_by_project_id
    • get_remote_source_settings_for_shared_by_project_id
    • set_remote_source_settings_to_shared
    • get_remote_source_settings_for_perforce_by_project_id
    • set_remote_source_settings_to_perforce
    • set_remote_source_setting_to_git_using_ssh
    • set_remote_source_setting_to_svn_using_ssh
    • upload_source_code_zip_file
    • set_data_retention_settings_by_project_id
    • set_issue_tracking_system_as_jira_by_id
    • get_all_preset_details
    • get_preset_id_by_name
    • get_preset_details_by_preset_id
  4. CustomTasksAPI
    • get_all_custom_tasks
    • get_custom_task_id_by_name
    • get_custom_task_by_id
  5. CustomFieldsAPI
    • get_all_custom_fields
    • get_custom_field_id_by_name
  6. ScansAPI
    • get_all_scans_for_project
    • get_last_scan_id_of_a_project
    • create_new_scan
    • get_sast_scan_details_by_scan_id
    • add_or_update_a_comment_by_scan_id
    • delete_scan_by_scan_id
    • get_statistics_results_by_scan_id
    • get_scan_queue_details_by_scan_id
    • update_queued_scan_status_by_scan_id
    • get_all_scan_details_in_queue
    • get_scan_settings_by_project_id
    • define_sast_scan_settings
    • update_sast_scan_settings
    • define_sast_scan_scheduling_settings
    • assign_ticket_to_scan_results
    • publish_last_scan_results_to_management_and_orchestration_by_project_id
    • get_the_publish_last_scan_results_to_management_and_orchestration_status
    • register_scan_report
    • get_report_status_by_id
    • get_report_by_id
    • is_scanning_finished (provided by SDK)
    • is_report_generation_finished (provided by SDK)
  7. DataRetentionAPI
    • stop_data_retention
    • define_data_retention_date_range
    • define_data_retention_by_number_of_scans
    • get_data_retention_request_status
  8. EnginesAPI
    • get_all_engine_server_details
    • get_engine_id_by_name
    • register_engine
    • unregister_engine_by_engine_id
    • get_engine_details
    • update_engine_server
    • get_all_engine_configurations
    • get_engine_configuration_id_by_name
    • get_engine_configuration_by_id
  9. OsaAPI
    • get_all_osa_scan_details_for_project
    • get_last_osa_scan_id_of_a_project
    • get_osa_scan_by_scan_id
    • create_an_osa_scan_request
    • get_all_osa_file_extensions
    • get_osa_licenses_by_id
    • get_osa_scan_libraries
    • get_osa_scan_vulnerabilities_by_id
    • get_first_vulnerability_id
    • get_osa_scan_vulnerability_comments_by_id
    • get_osa_scan_summary_report
  10. possible Exceptions
    • BadRequestError (provided by SDK)
    • NotFoundError (provided by SDK)
    • CxError (provided by SDK)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CheckmarxPythonSDK-0.0.4.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

CheckmarxPythonSDK-0.0.4-py3-none-any.whl (114.6 kB view details)

Uploaded Python 3

File details

Details for the file CheckmarxPythonSDK-0.0.4.tar.gz.

File metadata

  • Download URL: CheckmarxPythonSDK-0.0.4.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for CheckmarxPythonSDK-0.0.4.tar.gz
Algorithm Hash digest
SHA256 49bfd6750c5da351d16f71bf15e599756055586be8f41f8955918d2620427118
MD5 3fdf4446dc1a3b718d14613e7fef7560
BLAKE2b-256 47b5bd168b54d0340c3d9e90ededc69f449208bd60aa65d02688e3e200004c93

See more details on using hashes here.

File details

Details for the file CheckmarxPythonSDK-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: CheckmarxPythonSDK-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 114.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for CheckmarxPythonSDK-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 46111370d58dd2a3ebc0c444419870d67667a47bf632b7652fb39e56aa676053
MD5 4dd602f3138fed16284da51ccf8b7e4c
BLAKE2b-256 d665d3f66391882ee04ff6f684d090ffc4fe5909b2c5b4176b92f96302fb2780

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page