This manual page describes built-in fcli actions that can be run through the fcli fod action run <action-name> command.

aws-sast-report

Generate a AWS Security Hub SAST report listing FoD SAST vulnerabilities.

Synopsis

fcli fod action run aws-sast-report [fcli fod action run options] [action options, see below]

Description

This action generate a ASFF report to integrate AWS Security Hub, generated reports then parsed by the lambda function, see: https://github.com/fortify/CloudDevSecOpsTemplates/ For information on how to create or update findings into AWS Security Hub, see https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-update-types.html

Options

--file, -f

Optional report output file name (or 'stdout' / 'stderr'). Default value: aws-fortify-report.json

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--aws-region

Required AWS region. Default value: AWS_REGION environment variable.

--aws-account

Required AWS account id. Default value: AWS_ACCOUNT_ID environment variable.

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

(DEPRECATED: use --workspace-dir) Alias for --workspace-dir

bitbucket-sast-report

Integrate FoD SAST results with BitBucket Code Insights.

Synopsis

fcli fod action run bitbucket-sast-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD SAST vulnerabilities to BitBucket. With the --publish option, results are automatically uploaded to BitBucket pipelines.

Options

--report-file, -r

Optional report output file name (or 'stdout' / 'stderr'). Defaults to bb-fortify-report.json if --publish not specified

--annotations-file, -a

Optional annotations output file name (or 'stdout' / 'stderr'). Defaults to bb-fortify-annotations.json if --publish not specified

--publish

Publish report and annotations to Bitbucket Code Insights

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

Source directory that was scanned - used for prioritizing path matches when multiple files have the same name (e.g., index.js in src/ vs node_modules/)

check-policy

Check security policy.

Synopsis

fcli fod action run check-policy [fcli fod action run options] [action options, see below]

Description

This action checks the outcome of the FoD Security Policy, returning a non-zero exit code if FoD Security Policy status is Fail. Having this defined in an fcli action allows for users to implement custom security policy checks through a custom action, for example if they need more granuality than what’s provided by the standard FoD Security Policy.

Options

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

ci

Run FoD CI pipeline

Synopsis

fcli fod action run ci [fcli fod action run options] [action options, see below]

Description

This action can be used to run a full, standardized CI pipeline that performs the following activities:

  • Create & configure FoD application release if needed

  • Package source code

  • Submit SAST scan request

  • Wait for SAST scan completion

  • Perform post-scan activities, like checking policy outcome, exporting results, …​

Configuration for this fcli action is done through environment variables; the sections below list the environment variables supported by this action.

Bootstrap & Setup

The fcli ci action uses the following environment variables to control bootstrapping behavior for supporting tools.

Environment Variable

Description

TOOL_DEFINITIONS

Supporting tools like ScanCentral Client or Debricked CLI are by default downloaded from the URLs defined in the default Fortify tool definitions. For airgapped environments, point this environment variable to an internally hosted custom tool definitions zip file to download these tools from an internal mirror.

PREINSTALLED

Set to true to require that all supporting tools (e.g., ScanCentral Client, Debricked CLI) invoked by the fcli ci action are already installed, preventing tool definitions from being updated or tools from being automatically installed. This is useful for environments where pre-installed tools must be used, or where automatic tool installation is not permitted.

Release Management

Configure OpenText Core Application Security (Fortify on Demand) release settings, including automatic creation and setup of applications and releases if they don’t exist.

Environment Variable

Description

FOD_RELEASE

OpenText Core Application Security (Fortify on Demand) release to use with this action. This should be specified as <app-name>:<release-name> (for non-microservices applications) or <app-name>:<microservice-name>:<release-name> (for microservices applications). Default value is based on repository and branch name, for example myOrg/myRepo:myBranch. Note that you’ll need to explicitly configure FOD_RELEASE for microservices applications, as the default value lacks a microservice name.

DO_SETUP
SETUP_ACTION
SETUP_EXTRA_OPTS
OVERRIDE_SAST_SETTINGS

If DO_SETUP is set not set to false, the application and/or release will be created if they do not yet exist, and static scan settings will be configured if necessary. By default, static scan settings will only be configured if no settings have been previously configured for the release; set OVERRIDE_SAST_SETTINGS to true to override existing static scan settings. The setup will be performed using the fcli-provided fcli-provided setup-release action, or, the custom fcli action specified through SETUP_ACTION. Extra options for the fcli action can be passed through the SETUP_EXTRA_OPTS environment variable, but also see below for some convenience environment variables.

COPY_FROM_RELEASE

Depending on your Git workflow, when a new release is created, it is recommended to copy state from the release representing your default branch by either setting this environment variable or by passing the --copy-from option through SETUP_EXTRA_OPTS.

SAST_ASSESSMENT_TYPE

By default, when setting up a release for SAST scanning, the SAST scan will be configured with the Static Assessment assessment type. You can choose a different assement type by either setting this environment variable or by passing the --assessment-type option through SETUP_EXTRA_OPTS. Note that this won’t update the assessment type if SAST scan settings have already been configured for the release, unless you set OVERRIDE_SAST_SETTINGS to true.

DO_AVIATOR_AUDIT

To enable Aviator audits, set this environment variable to true or pass --use-aviator through SETUP_EXTRA_OPTS. Note that Aviator avaliablility depends on tenant and scan policy configuration, and may consume additional entitlement units. Also note that this setting will be ignored if SAST scan settings have already been configured for the release, unless you set OVERRIDE_SAST_SETTINGS to true.

DO_SCA_SCAN

To enable Software Composition Analysis in your SAST scans, set this environment variable to true or pass --oss through SETUP_EXTRA_OPTS. Note that Debricked or Sonatype availability depends on tenant and scan policy configuration, and may consume additional entitlement units. Also note that this option will be ignored if SAST scan settings have already been configured for the release, unless you set OVERRIDE_SAST_SETTINGS to true.

Package Configuration

Configure source code packaging behavior for SAST scans. Control whether to use custom packaging actions, specify pre-built packages, or customize ScanCentral Client usage.

Environment Variable

Description

PACKAGE_ACTION
PACKAGE_ACTION_EXTRA_OPTS

By default, when running a SAST scan, the fcli package action is used to (optionally) package the source code to be scanned; see next entry for information on how to configure the default package action. If the standard fcli package action doesn’t meet your needs, for example if you want to perform a local translation using Fortify Static Code Analyzer, you can use PACKAGE_ACTION to use a custom action for packaging, optionally providing extra options to this custom action through the PACKAGE_ACTION_EXTRA_OPTS environment variable. Note that any custom action must set the global.package.output action variable, pointing to the package or MBS file to be scanned.

USE_PACKAGE
PACKAGE_EXTRA_OPTS
SC_CLIENT_VERSION
SC_CLIENT_HOME
SOURCE_DIR

These environment variables define packaging behavior. If USE_PACKAGE is specified, packaging will be skipped and the given package or MBS file (which must already exist) will be used. To pass additional options to the scancentral package command like -bt or -bf, use PACKAGE_EXTRA_OPTS. Note that the -oss option will be automatically added if Software Composition Analysis in enabled in FoD SAST scan settings.

By default:
* If SC_CLIENT_HOME is specified, the pre-installed ScanCentral Client at that location will be registered and used, skipping automatic installation. The path should point to the installation directory or binary.
* SC_CLIENT_VERSION may be specified to request a specific ScanCentral Client version to be used. Allowed values:
* An explicit version number (e.g. 25.2 or 25.2.0)
* Path to a specific ScanCentral Client installation
* latest to use the latest available ScanCentral Client version
* auto (default) to use a pre-installed version if available, otherwise installs latest
* If neither SC_CLIENT_VERSION nor SC_CLIENT_HOME are set, defaults to auto behavior.
* Current working directory will be packaged; use SOURCE_DIR to package a different directory.
* Debug logging for Scancentral Client is disabled; pass --debug on the fcli invocation to enable debug logging.

Scan Execution

Configure SAST scan execution and waiting behavior for OpenText Core Application Security (Fortify on Demand).

Environment Variable

Description

DO_SAST_SCAN
SAST_SCAN_EXTRA_OPTS

The fcli ci action currently only supports running a SAST scan, which is enabled by default. The SAST_SCAN_EXTRA_OPTS environment variable can be used to provide additional options to the fcli fod sast-scan start command, for example to specify scan notes. Note that these environment variables only control the submission of the scan request; see the information below for details on waiting for the scan to complete.

DO_WAIT
DO_SAST_WAIT
SAST_WAIT_EXTRA_OPTS

By default, the fcli ci action will wait for all started scans to complete; set DO_WAIT to false to just kick off any configured scans without waiting for completion. Note that doing so will skip any post-scan tasks. The SAST_WAIT_EXTRA_OPTS environment variable can be used to pass extra options to the fcli fod sast-scan wait-for command.

Post-Scan Actions

Configure post-scan tasks including release summaries, policy checks, pull request comments, and vulnerability data exports for OpenText Core Application Security (Fortify on Demand). NOTE: Availability and behavior of post-scan tasks may vary across CI/CD systems and fcli versions.

Environment Variable

Description

DO_RELEASE_SUMMARY
RELEASE_SUMMARY_ACTION
RELEASE_SUMMARY_EXTRA_OPTS

If DO_RELEASE_SUMMARY is not set to false, a release summary will be generated using the fcli-provided release-summary action or, if specified, the custom fcli action specified through RELEASE_SUMMARY_ACTION. Extra options for the fcli action can be specified through the RELEASE_SUMMARY_EXTRA_OPTS environment variable, which may include fcli options to allow unsigned custom actions to be used.

DO_CHECK_POLICY
CHECK_POLICY_ACTION
CHECK_POLICY_EXTRA_OPTS

If DO_CHECK_POLICY is set to true (implied if any of the other two CHECK_POLICY_* variables are set), a policy check will be run after scan completion using the fcli-provided check-policy action or, if specified, the custom fcli action specified through CHECK_POLICY_ACTION. Extra options for a custom fcli action can be passed through the CHECK_POLICY_EXTRA_OPTS environment variable, which may include fcli options to allow unsigned custom actions to be used.

DO_PR_COMMENT
PR_COMMENT_ACTION
PR_COMMENT_EXTRA_OPTS

(PREVIEW) If DO_PR_COMMENT is set to true (implied if any of the other two PR_COMMENT_* variables are set), a Pull Request or Merge Request comment will be generated using an fcli-provided action matching the current CI system like github-pr-comment or, if specified, the custom fcli action specified through PR_COMMENT_ACTION. Extra options for the fcli action can be specified through the PR_COMMENT_EXTRA_OPTS environment variable, which may include fcli options to allow unsigned custom actions to be used.

DO_SAST_EXPORT
SAST_EXPORT_ACTION
SAST_EXPORT_EXTRA_OPTS

If DO_SAST_EXPORT is not set to false and a SAST scan was completed, the SAST vulnerability data will be exported into a CI-specific format using an fcli-provided action matching the current CI system like github-sast-report or gitlab-sast-report, or, if specified, the custom fcli action specified through SAST_EXPORT_ACTION. Extra options for the fcli action can be specified through the SAST_EXPORT_EXTRA_OPTS environment variable, which may include fcli options to allow unsigned custom actions to be used.

github-pr-comment

(PREVIEW) Add GitHub Pull Request review comments.

Synopsis

fcli fod action run github-pr-comment [fcli fod action run options] [action options, see below]

Description

This action adds review comments to a GitHub Pull Request. Currently this is marked as PREVIEW as we build out this functionality; later versions may have different behavior and/or require different action cli.

The current implementation simply compares current scan results against previous scan results in the given FoD release, listing all new, re-introduced and removed issues in a new PR comment.

For best results, this fcli action should only be run on GitHub pull_request triggers. Upon PR creation, a new FoD release should be created, copying state from the FoD release that represents the branch into which the PR will be merged, and a new scan should be run on the current PR branch before invoking this fcli action.

This will ensure that scan results for the current PR will be compared against the latest scan results for the target branch upon PR creation. Optionally, new scans can be run upon PR changes, creating new PR comments that show the issue delta compared to the previous scan for this PR.

Options

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--scan-type, -t

Scan type for which to list vulnerabilities. Default value: Static

--github-api-url

Required GitHub API URL. Default value: GITHUB_API_URL environment variable.

--github-token

Required GitHub Token. Default value: GITHUB_TOKEN environment variable.

--github-owner

Required GitHub repository owner. Default value: GITHUB_REPOSITORY_OWNER environment variable.

--github-repo

Required GitHub repository. Default value: Taken from GITHUB_REPOSITORY environment variable.

--pr

Required PR number. Default value: Taken from GITHUB_REF_NAME environment variable. Note that default value will only work on GitHub pull_request triggers; if this fcli action is invoked through any other GitHub trigger, it will fail unless an explicit PR number is passed through this option.

--commit

Required commit hash. Default value: GITHUB_SHA environment variable.

--dryrun

Set to true to just output PR decoration JSON; don’t actually update any PR

github-sast-report

Integrate FoD SAST results with GitHub Code Scanning.

Synopsis

fcli fod action run github-sast-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD SAST vulnerabilities to GitHub. With the --publish option, results are automatically uploaded as either SARIF reports (for GitHub Advanced Security) or Check Runs (for free-tier repositories). The optional --type option allows you to specify which format to use.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Defaults to gh-fortify-sast.sarif if --publish not specified

--publish

Publish report to GitHub Code Scanning (requires GITHUB_TOKEN environment variable with 'security-events: write' permission)

--type

Report type to generate/publish: 'sarif' (GHAS Code Scanning) or 'check-run' (free-tier Check Run). If not specified, tries SARIF first, falls back to Check Run if GHAS unavailable. For best performance, specify the report type that matches your repository’s GitHub plan (GHAS vs free tier).

--dryrun

Set to true to load and format all data but output to stdout instead of publishing

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

Source directory that was scanned - used for prioritizing path matches when multiple files have the same name (e.g., index.js in src/ vs node_modules/)

gitlab-codequality-report

Integrate FoD SAST results with GitLab Code Quality.

Synopsis

fcli fod action run gitlab-codequality-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD SAST vulnerabilities to GitLab. With the --publish option, results are automatically uploaded to GitLab pipelines.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Defaults to gl-fortify-codequality.json if --publish not specified

--publish

Publish report to GitLab merge request

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

Source directory that was scanned - used for prioritizing path matches when multiple files have the same name (e.g., index.js in src/ vs node_modules/)

gitlab-dast-report

Integrate FoD DAST results with GitLab.

Synopsis

fcli fod action run gitlab-dast-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD DAST vulnerabilities to GitLab. With the --publish option, results are automatically uploaded to GitLab pipelines.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Defaults to gl-fortify-dast.json if --publish not specified

--publish

Publish report to GitLab Security Dashboard

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

gitlab-debricked-report

Integrate FoD SCA (Debricked) results with GitLab Dependency Scanning.

Synopsis

fcli fod action run gitlab-debricked-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD SCA (Debricked) vulnerabilities to GitLab. With the --publish option, results are automatically uploaded to GitLab pipelines.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Defaults to gl-fortify-debricked-depscan.json if --publish not specified

--publish

Publish report to GitLab Security Dashboard

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

gitlab-sast-report

Integrate FoD SAST results with GitLab.

Synopsis

fcli fod action run gitlab-sast-report [fcli fod action run options] [action options, see below]

Description

This action generates and optionally publishes FoD SAST vulnerabilities to GitLab. With the --publish option, results are automatically uploaded to GitLab pipelines.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Defaults to gl-fortify-sast.json if --publish not specified

--publish

Publish report to GitLab Security Dashboard

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

Source directory that was scanned - used for prioritizing path matches when multiple files have the same name (e.g., index.js in src/ vs node_modules/)

package

Package source code

Synopsis

fcli fod action run package [fcli fod action run options] [action options, see below]

Description

This action can be used to package source code using ScanCentral Client. It will take care of installing the specified ScanCentral Client version, followed by executing the 'scancentral package' command using the specified ScanCentral Client version. To enable debug logging on the scancentral command, use the fcli --debug option, optionally combined with --log-level=NONE to collect only ScanCentral logs, not fcli logs.

Options

--use-package

Use an existing package file instead of trying to package the given source code directory. If specified, this ignores all other options.

--sc-client-version, -v

Specify the ScanCentral Client version to be used for packaging. Defaults to the value of the SC_CLIENT_HOME or SC_CLIENT_VERSION environment variables. Allowed values:

  • An explicit version number (e.g. 25.2 or 25.2.0)

  • Path to a specific ScanCentral Client installation

  • latest to use the latest available ScanCentral Client version

  • auto (default) to use a pre-installed version if available, otherwise installs latest

--rel

Optional FoD release identifier for automatic detection of Software Composition Analysis (OSS scanning) requirements. When provided, the action will query the release SAST configuration to determine if the -oss flag should be added to the packaging command.

--source-dir, -d

Specify the source directory to be packaged. Defaults to the value of the SOURCE_DIR environment variable, or current working directory if not specified.

--tool-definitions

Custom tool definitions to use for identifying available ScanCentral Client versions and download URLs.

--extra-opts

Extra options to be passed to the 'scancentral package' command. Defaults to the options specified in the EXTRA_PACKAGE_OPTS environment variable, or no extra options if not specified.

--output, -o

Name of the zip file in which packaged source code should be stored. Defaults to package.zip in the current working directory.

release-summary

(PREVIEW) Generate release summary.

Synopsis

fcli fod action run release-summary [fcli fod action run options] [action options, see below]

Description

This action generates a short summary listing issue counts and other statistics for a given release. Based on user feedback on this initial version of this action, parameters and output of this action may change in the next couple of fcli releases.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Default value: stdout

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

sarif-sast-report

Generate SARIF report listing SSC SAST vulnerabilities.

Synopsis

fcli fod action run sarif-sast-report [fcli fod action run options] [action options, see below]

Description

This action generates a SARIF report listing Fortify SAST vulnerabilities, which may be useful for integration with various 3rd-party tools that can ingest SARIF reports. For more information about SARIF, please see https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Default value: fortify-sast.sarif

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

Source directory that was scanned - used for prioritizing path matches when multiple files have the same name (e.g., index.js in src/ vs node_modules/)

servicenow-csv-report

(PREVIEW) Generate ServiceNow CSV report

Synopsis

fcli fod action run servicenow-csv-report [fcli fod action run options] [action options, see below]

Description

This action generates a CSV report that can be imported into the ServiceNow Vulnerability Response module; please see the following link for details: https://www.servicenow.com/docs/bundle/xanadu-security-management/page/product/vulnerability-response/reference/manual-ingestion-template.html The CSV report includes all SAST, DAST, and SCA issues available in the given FoD release.

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Default value: servicenow-fortify.csv

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--severity

Comma-separated severity levels to include in the output; defaults to Critical,High

setup-release

Set up application release.

Synopsis

fcli fod action run setup-release [fcli fod action run options] [action options, see below]

Description

This action allows for preparing an application release for running an application security scan. It will create the application and/or release if they do not exist yet, and optionally configure scan settings. For now, only static scan setup is supported, including optional software composition analysis. Support for other scan types like Dynamic or Mobile may be added in the future, or you may consider implementing a custom setup action to set up other scan types.

Although the same functionality can be achieved by manually running the various fcli commands used by this action, like fcli fod release create and fcli fod sast-scan setup, this action provides a convenient and standardized approach for running those commands, providing default values for many of the required options.

To provide even more consistency across CI/CD pipelines in your organization, it is recommended to implement one or more custom setup actions that provide suitable default values or even hard-coded, non-overridable values for the various options, for example based on business unit, team, and/or application type. Such custom actions could for example set standard application or release attributes for a particular type of application to be scanned. Alternative to implementing multiple custom actions, you may also consider implementing a single custom action that takes for example a --profile option to select between different profiles that each define appropriate option values and setup commands to run.

Options

--release, --rel

Required release name as <application>[:<microservice>]:<release>

--scan-types, -t

Optional comma-separated list of scan type(s) to set up; for now, only 'sast' is supported

--attributes, --attrs

Optional comma-separated list of attributes to set on the application and/or release

--copy-from

See fcli fod release create

--description, -d

See fcli fod release create

--sdlc-status, --status

See fcli fod release create. Default value: Development

--app-description

See fcli fod release create

--app-notify

See fcli fod release create

--app-owner

See fcli fod release create

--app-groups

See fcli fod release create

--app-type

See fcli fod release create. Default value: Web

--app-criticality

See fcli fod release create. Default value: Medium

--store

See fcli fod release create

--assessment-type

See fcli fod sast-scan setup

--use-aviator

See fcli fod sast-scan setup

--oss

See fcli fod sast-scan setup

--technology-stack

See fcli fod sast-scan setup

--language-level

See fcli fod sast-scan setup

--override-sast-settings

By default, if SAST scan settings have already been configured, they will not be overridden, hence none of the fcli fod sast-scan setup options will be applied. Use this option to override existing scan settings.

sonarqube-sast-report

Generate a SonarQube External Issues report listing FoD SAST vulnerabilities.

Synopsis

fcli fod action run sonarqube-sast-report [fcli fod action run options] [action options, see below]

Options

--file, -f

Optional output file name (or 'stdout' / 'stderr'). Default value: sq-fortify-sast.json

--file-path-prefix, --pfx

Optional prefix for issue file paths; please consider using --source-dir option instead

--release, --rel

Required release id or <appName>:[<microserviceName>:]<releaseName>

--workspace-dir

Workspace/repository root directory for resolving Fortify source file paths to workspace-relative paths in reports

--source-dir

(DEPRECATED: use --workspace-dir) Alias for --workspace-dir