Skip to main content

Fortify on Demand scanner reference

You can set up Fortify scans using a Security step: create a CI Build or Security Tests stage, add a Security step, and then add the setting:value pairs as specified below.

Security step settings

  • product_name = fortifyondemand
  • scan_type =repository
  • policy_type = orchestratedScan, dataLoad, or ingestionOnly
  • When policy_type is set to orchestratedScan or dataLoad:
    • product_domain
    • product_access_id
    • product_access_token
    • product_owner_id
    • product_entitlement
    • product_scan_type
    • product_app_name
    • product_release_name
    • product_target_language
    • product_target_language_version
    • product_scan_settings
      • accepted values: Custom, default
    • product_audit_type
    • product_lookup_type
      • accepted values: Dynamic, Static, Mobile
    • product_data_center
  • product_config_name
    • Accepted values(s):
    • sast ( if product_lookup_type = Static)
    • dast ( if product_lookup_type = Dynamic)
  • fail_on_severity - See Fail on Severity.
Repository scan settings

The following settings apply to all scanners where the scan_type is repository.

  • repository_project (required)
  • repository_branch (required)
Target NameTarget Type
Ingestion scan settings

The following settings are required for Security steps where the policy_type is ingestionOnly.

  • target name The Identifier that you want to assign to the target you’re scanning in the pipeline. Use a unique, descriptive name such as codebaseAlpha or jsmith/myalphaservice.

  • variant An identifier for a specific target to scan, such as the branch name or image tag. This identifier is used to differentiate or group results for a target. Harness maintains a historical trend for each variant.

  • ingestion_file The results data file to use when running an Ingestion scan. You should specify the full path to the data file in your workspace, such as /shared/customer_artifacts/my_scan_results.json.

The following steps outline the general workflow for ingesting scan data into your pipeline:

  1. Specify a shared folder for your scan results, such as /shared/customer_artifacts. You can do this in the Overview tab of the Security stage where you're ingesting your data.

  2. Create a Run step that copies your scan results to the shared folder. You can run your scan externally, before you run the build, or set up the Run step to run the scan and then copy the results.

  3. Add a Security step after the Run step and add the target name, variant, and ingestion_file settings as described above.

For a complete workflow description and example, go to Ingest Scan Results into an STO Pipeline.

Fail on Severity

Every Security step has a Fail on Severity setting. If the scan finds any vulnerability with the specified severity level or higher, the pipeline fails automatically. You can specify one of the following:

  • HIGH
  • LOW
  • INFO
  • NONE — Do not fail on severity

The YAML definition looks like this: fail_on_severity : critical # | high | medium | low | info | none