# CLI Plugin - Changelog

The following table lists the features and changes that have been implemented for the plugin with the relevant version release.

Version

Improvements

Bug Fixes

2.0.43

• When tags and/or groups are specified in the CLI command, those values now override the tags and groups that were previously assigned to the project.

• Threshold flag imrpovements

• Fix for NOT_EXPLOITABLE state in SCA

• Fixed problem generating sarif reports.

• Fixed issue that --debug logs were showing utls that contained sensitive data.

2.0.42

• Added additional options for pdf format reports. When running the results show command or the scan create command with --report-format set to pdf, you can now:

• Add the --report-pdf-email flag to specify email recipients.

• Add the --report-pdf-options flag to specify which sections to include in the report. Options are: Iac-Security, Sast,Sca, ScanSummary, ExecutiveSummary, ScanResults.

• Added the option to generate reports in markdown format using the --report-format flag.

• Added the --sca-realtime command, which enables running an SCA scan on the contents of a folder. The SCA realtime scan is similar to the KICS realtime scan in the fact that it is a free tool which does not require a Checkmarx account. The results are returned in the response body as a JSON object.

### Tip

Even for users with a Checkmarx account, the realtime scan results are not synced with the user's Checkmarx account.

• Fixed issue that SCA results weren't being included in sarif reports.

2.0.41

General improvements and bug fixes.

2.0.40

• Added support for installing the CLI on Arch Linux ARM systems.

• Added option to generate reports in PDF format.

2.0.39

• The default value for scan timeout was changed from 5 seconds to 30 seconds.

2.0.38

• All references to AST have been changed to refer to the new product name "Checkmarx One".

• We now validate for licensed scanners (engines). When a scan is run using default settings, all licensed scanners are used. When the --scan-types flag is used and a non-licensed scanner is specified, an error message is returned.

• Fixed issues causing mistakes in breakdown of results by scanner.

• Fixed issue that was causing some dockerfiles to not be identified.

2.0.37

• Improved handling of API Security results.

2.0.36

• The KICS scanner is now referred to in Checkmarx One as "IaC Security". All mentions of the scanner and the vulnerabilities identified by it, now refer to IaC Security.

• The API Security scanner is now supported for use via the CLI. When running the scan create command, you can now add api_security to the list of scanners under --scan-types.

• Scan results now differentiate between regular SCA vulnerabilities and Supply Chain Security (SCS) risks. In addition, a distinction is now made between direct dependencies and transitive dependencies.

2.0.35

• Added support for Bitbucket Server for the contributor-count command, see bitbucket-server.

• Added support for identifying "supply chain" vulnerabilities.

2.0.34

General improvements and bug fixes.

2.0.33

Improved methods for polling status and retrying scans.

2.0.32

General improvements and bug fixes.

2.0.31

General improvements and bug fixes.

2.0.30

• Added an additional sanitization to the logs, by removing the proxy value.

• Added specific error messages when a user doesn't have a container engine (e.g., Docker) installed and running.

• The CLI now extracts the base-uri from the API Key, making it unnecessary to submit the base-uri indipendantly.

• We added a new command for retrieving tenant settings via the CLI.

2.0.29

• Fixed issue that auto remediation had been failing for projects that didn't contain dev dependencies.

2.0.28

Added a --resubmit flag for the scan create command. This causes the scan to run with the same configuration that was used for the most recent scan of the specified project and branch.

• Fixed issues with SCA results handling.

• Dangling symbolic links no longer cause the scan to fail. Now a warning is returned.

2.0.27

• Fixed issue handling errors when extracting credentials from an API key.

2.0.26

• We added a new pr command for decorating pull requests with results from Checkmarx One scans that were triggered by that pull request. The pull request comments show a list of new vulnerabilities that were introduced by the code changes as well a list of vulnerabilities that were fixed by the code changes. See pr

### Tip

This command is currently supported only for GitHub.

• All documentation links now point to the new Checkmarx documentation portal at https://checkmarx.com/resource/documentation.

2.0.25

• When running SCA Resolver for a Checkmarx One scan, if SCA Resolver fails, detailed error logs from SCA Resolver are now shown in the CLI response.

• Fixed issues caused by mistaken column numbering (i.e., 0 or negative values).

2.0.24

2.0.23

• For the KICS remediation utility, we added the option to remediate all vulnerabilities in the project. See kics

• Added additional info to the SCA results, including the association between the vulnerabilities and the open-source packages to which they apply.

• When running KICS commands, there is a requirement to have Docker running locally. We now have a dedicated error message for this issue.

• Accumulation of unneeded zip files had been causing issues in Jenkins. We now delete zip files that are no longer in use.

2.0.22

• Added a new utils command, learn-more, for getting additional info about a specific vulnerability. Submit this command with a query-id (obtained from scan results) indicating the vulnerability for which you want additional info. See learn-more

• Added a new utils command, remediation sca, for automatically replacing a vulnerable package version with a non-vulnerable version. Add arguments specifying the precise package that you would like to remediate. See sca

• Added a new utils command, remediation kics, for automatically remediating KICS vulnerabilities. You can remediate all vulnerabilities, or you can submit identifying details about the specific vulnerabilities that you would like to remediate. See kics

• Added a new scan create command, kics-platforms, to specify which platforms to run the kics scan on. See Flags

2.0.21

• The default value for the interval before retry was increased to 20 sec.

• A scan report is now generated when a scan fails because of a threshold violation.

• The branch name in the summary URL is now encoded.

• Return more precise results for KICS real-time scanner.

2.0.20

• Created a unified build for all MacOS versions.

2.0.19

• Added a new command for running a KICS scan as a standalone tool in your local environment. To run the scan, you are required to provide the file source. You can also add additional KICS parameters. See sca-realtime

• Updated the content of the summary that is shown when a scan is run. The following changes were made:

• Show “Scan Type”, possible values are “incremental” or “full”

• Show Timeout, possible values are “None” if the scan didn’t timeout or a value in seconds indicating the time that elapsed before the scan timed out

• Show “Project Name” instead of “Project ID”

• Formatted the display of the vulnerabilities results summary

• Added a link to view the scan results in the web app

• The deprecated command result was removed from the list of commands shown in the help menu.

### Tip

The command used for retrieving results is now results, as shown in the help menu.

2.0.18

• Added support for Azure 2019 for the contributor-count command.

2.0.17

• You can now add filters to the scan create command (to exclude files/folders from the scan) separately for each specific scanner. The flags for the new filters are: --sast-filter <string>, --kics-filter <string>, --sca-filter <string>.

NOTE The existing flag --file-filter , which sets filters for the entire scan (for all scanners) is still in use.

• You can now add an ssh key to the project create command, using the flag --ssh-key <string> with the path to the ssh private key.

• You can now add an ssh key to the scan create command, using the flag --ssh-key <string> with the path to the ssh private key.

• Added the scanId field to the results json file.

• Added support for file filters for scans run on zip files.

• Reduced size of CLI Docker image.

• Fixed an issue in the project create and scan create commands, that adding a group with a space in the name (e.g., "Product Development") had been causing an error.

2.0.16

• SAST and KICS vulnerabilities for which the state has been set as “Not Exploitable” are no longer included in the vulnerabilities counts in the results summary.

• The time returned for “Created At” is now given according to the local timezone where the scan was run.

2.0.15

• The user-count utility was renamed as contributor-count. Also, username was added to the --debug logs.

• Added a utility command to determine the number of unique contributing developers for the past 90 days for BitBucket, Azure DevOps and Gitlab repos.

2.0.14

• Created a utility command to determine the number of unique contributing developers for the past 90 days for GitHub repos.

• Added a new command ./cx results codebashing [flags] for retrieving a link to the relevant Codebashing lesson for a vulnerability.

2.0.13

• Added new --sca-resolver-params flag to the scan create command.

• Removed the default preset.

• The old result command has been deprecated.

2.0.12

• Renamed the results command as results show command.

• Fixed a problem with proxy connections.

• An error is now generated when project name is empty.

• Fixed the help text for the threshold flag.

• Fixed the help text for the result command to include state filters.

• Fixed the help text for the SCA Resolver flag.

2.0.11

• In the scan create command, we renamed the format flag as scan-info-format.

2.0.10

• The results output for SAST vulnerabilities now includes a brief description of the vulnerability.

• Added the --scan-timeout <int> flag to the scan create command, enabling users to specify a time limit after which the scan will fail and terminate.

• Added an new type of report, SummaryJSON. This creates a JSON file with a summary of the vulnerabilities of each severity level.

• Fixed a problem with the permissions for accessing the configure command folder.

2.09

• Added the ability to triage scan results and modify the ‘state’, ‘severity’ and ‘comments’ predicates accordingly.

• Added a CLI command for triaging results.

• Added --threshold flag to a scan create command. This enables you to set thresholds that will cause the scan to fail. Thresholds are set separately for each type of scanner using the following format: <engine>-<severity>=<limit>.

• Fixed Sonar results output for a scan that contains only one SAST vulnerability. Removed SCA vulnerabilities from Sonar output.

• Return exit code 1 if “auth register” command fails.

2.0.4

• Added automatic retry for scans upon initial connection failure using flags:

• --retry <unit> - Specify the maximum number of retry attempts. (Default: 3)

• --retry-delay <unit> - Specify the time between retries in seconds. Used together with --retry. (Default: 3s)

• Users can now add tags and assign the scan to a Checkmarx One “group” (for user management) as part of the scan create command.

• Integration tests now have 80% coverage.

• Branch flag is now required.

• The flag for running scans in asynchronous mode was changed from --nowait to --async.

• When installing the CLI through homebrew, brew install checkmarx/ast-cli/ast-cli, auto-completion is done automatically.

2.0.0

• Added a new “utils logs” command - The utils logs command provides the option to select which scan logs can be printed to the CLI screen.

The possible options are: SAST, KICS.

• Added a new “result” command - The result command enables the ability to retrieve scan results in AST.

The results are downloaded to a file. The following file formats are supported:

json, sarif, summaryHTML, summaryConsole

• Add SCA resolver module - The CLI can resolve local packages for CxSCA scan type.

2.0.0-rc.22

• Added result flags to scan create command.

• Minor improvements.

2.0.0_RC14

• Added result summary (High, Medium ,Low) to scan create command output.

• Added the following sub-commands to the new results command:

• list - Provides a results list for a given scan.

• summary - Creates a summary report for given scan.

2.0.0_RC12

• Added --tags flag to scan create command.

This should be a comma separated list of tags like this: --tags myTagA,myTagB or --tags myTagA.

It is also possible to include (key:value) pairs in tags like this: --tags myTag:42,myTagB:hello,myTagC.

• Removed the -w shortcut for the scan create --nowait command.

• Added --branch flag to scan create command.

This indicates which branch is being scanned.

If the --source flag is a GIT repository path, this value will also update AST which branch to pull the code from.

• Removed unsupported sub-commands from the utils command:

• query

• sast-rm

• Added the utils env command to echo out current AST environment variables.

• Fixed --nowait environment message spelling error.

• Correct scan cancel --help menu grammar.

• removed --repo-url flag from project create command.

• Removed SAST_manager option from utils health-check command.

• Updated auth register command output to display a clearer error message when user enters bad credentials.

• Modified several commands output tables according to the following:

• Removed the Updated at column.

• Updated the information in the Created at column to present only date.

• The tables are visible in the scan list, and project list commands outputs.

• Resolved the behavior that some incorrect commands weren't displaying the expected help messages.

• Added a new auth validate command.

• The scan sub-commands (show, delete and cancel) required Scan ID values be passed as an additional flag.

These commands were updated to accept the --scan-id flag.

• The project sub-commands (show, delete) required Project ID values be passed as an additional flag.

These commands were updated to accept the --project-id flag.

2.0.0_RC11

• Added global CLI argument (--tenant)

• Added tenant support for the register command.

2.0.0_RC10

• scan create command:

• --sources flag can handle the following scans:

• GIT repo

• zip archive

• Directory

• Removed the following flags:

• --directory, -d

• --repo-url, -r

• Removed extra message when creating a scan

2.0.0_RC9

• result command:

• Added results list-simple command. This fetches results from AST and generates a simplified, easily consumable form.

• Added --target flag to indicate where the output should be stored.

• Updated CircleCI with the following:

• Updated go version to 1.16.2

• Updated executor to Ubuntu 20

• project create command:

• Bug fix

• Present a notification for the user when project name isn't provided.

2.0.0_RC8

• Resolve the following vulnerabilities detected by Checkmarx:

• Denial_Of_Service_Resource_Exhaustion in configuration.go line 123

• SSRF in client.go line 221

• Vulnerability configuration.go

2.0.0_RC7

• Preset name didn’t allow overriding.

2.0.0_RC6

• scan create command:

• Removed (--incremental-kics) and (--incremental-sca)

• Fixed the following: Not showing error when bad auth encountered.

• Using --scan-types flag with “spaces” between the values caused an error - Fixed

• Renamed global parameter (--secret) to (--client-secret)

• Removed the BFL command

• Renamed environment variable CX_SECRET to CX_CLIENT_SECRET

• Added configure set option (cx_base_auth_uri)

• utils configure set command:

• Renamed (cx_token) to (cx_apikey)

• Renamed (cx_ast_access_key_id) to (cx_ast_client_id)

• Renamed configure set option (cx_ast_access_key_secret) to (cx_ast_client_secret)

• configure show command:

• Shows the following environment variables:

• BaseURI

• BaseAuthURIKey

• Client ID

• Client Secret

• APIKey

• Proxy

• shows the "effective" value of the following properties:

• BaseURI,

• BaseAuthURIKey,

• Client ID,

• Client Secret,

• APIKey,

• Proxy).

### Tip

The "effective" value means it shows how the CLI presents the property after combining environment variables, configuration variables and CLI arguments.

• Error when URL ending with / is encountered has been fixed

• CLI was storing JWT in (credentials.json) file. It has been removed and now the JWT is only stored in memory and reset between runs.

2.0.0_RC5

• Update golang from 1.16.3-alpine3.13 to 1.16.4-alpine3.13

2.0.0_RC4

• Added support for KICS and SCA scans.

• Added support incremental scans for SAST, KICS and SCA.