Custom Ingest step
Ingest third-party scanner results into a Continuous Delivery stage using SARIF or custom JSON
The Custom Ingest step ingests results from any third-party scanner. Harness Security Testing Orchestration (STO) supports two generic data formats:
SARIF (Static Analysis Results Interchange Format) is an open data format supported by many scan tools, especially tools available as GitHub Actions. You can ingest SARIF 2.1.0 data from any tool that supports this format. If your scanner can export to SARIF, use this format. Go to Ingest SARIF scan results to configure SARIF ingestion.
Harness STO supports a custom JSON format that is useful for ingesting data from scanners that have no integration in STO and that cannot publish to SARIF. Go to Ingest results from unsupported scanners to configure JSON ingestion.
What you will learn from this topic
How to choose SARIF or custom JSON for a scanner that STO does not integrate directly
How to find the step settings for scan, target, and ingestion
How to open an ingestion workflow for SARIF or JSON results
How to read a sample pipeline that writes a JSON results file and ingests it
Before you begin
Review the following before you add a Custom Ingest step:
Containerized step group: The sample pipeline runs the step inside a step group on Kubernetes. Go to Containerize step groups to enable container-based execution.
Supported scanners: Go to Supported Security Scanners and use a dedicated scanner step when STO already supports the scanner.
Result file: The step reads a SARIF or custom JSON file. Go to Ingest SARIF scan results or Ingest results from unsupported scanners to prepare that file.
Related resources
The following topics cover scanner setup in Security Testing Orchestration:
Custom Ingest step settings for STO scans
The step settings are grouped below. This topic lists the setting names. Go to Custom Ingest step for SARIF and JSON scan results for the field descriptions maintained with the Security Testing Orchestration step reference.
Scan
The scan settings on this step are:
Scan mode
Scan Configuration
Target
Type
The target type of the scanned object. You can ingest data for the following target types:
Repository: Ingest scan results for a code repository.
Container image: Ingest scan results for the layers, libraries, and packages in a container image.
Instance: Ingest scan results for a running application.
Configuration: Ingest scan results for your cloud environment, generated by gathering configuration data through the cloud provider's APIs.
Name
Variant
Ingestion
The ingestion setting on this step is Ingestion File.
Log Level, CLI flags, and Fail on Severity
The log and failure settings on this step are:
Log Level
Additional CLI flags
Fail on Severity
Additional Configuration
Go to Custom Ingest step for SARIF and JSON scan results for the fields under Additional Configuration.
Advanced settings
Go to Custom Ingest step for SARIF and JSON scan results for Conditional Execution, Failure Strategy, Looping Strategy, and Policy Enforcement.
Proxy settings
Go to Custom Ingest step for SARIF and JSON scan results for the proxy variables on this step.
Custom Ingest pipeline examples
The following topics describe end-to-end workflows for ingesting SARIF and JSON data:
Sample pipeline
The following pipeline writes a custom JSON results file in a Run step, then ingests that file with a Custom Ingest step:
Next steps
Go to Ingest SARIF scan results to ingest SARIF 2.1.0 output.
Go to Ingest results from unsupported scanners to ingest the custom JSON format.
Go to Custom Ingest step for SARIF and JSON scan results for the field descriptions of the settings listed above.
Go to Containerize step groups to run the step on your Kubernetes cluster.
Last updated
Was this helpful?