The most flexible way to run any of Fluid Attacks' scanners is with a YAML configuration file.
namespace: myapp
output:
file_path: ./Fluid-Attacks-Results.csv
format: CSV
working_dir: .
language: EN
sast:
include:
- .
exclude:
- glob(**/node_modules/**)
- glob(**/test/**)
There are some common keys that apply to all Fluid Attacks' scanners. Here is a breakdown of what each key in the configuration file represents.
namespace
indicates a name for the analysis, typically the name of the repository being analyzed. For example:
namespace: my_app
working_dir
indicates the path to the repository you want to analyze. If configuring paths in the apk
, sast
, or sca
keys, write such paths relative to this directory. For example:
working_dir: /absolute/path/to/directory
Use commit
to include the current commit SHA of the repository you want to analyze, only if you require it in the SARIF results file. For example:
commit: e59607b9de3ef4c13d292705fg3da1ff0c67eb38
language
indicates the language for the vulnerability report. Valid values are EN
(English) and ES
(Spanish). The value defaults to EN
if not specified. For example:
language: ES
output
indicates where scan results are stored and in what format. By default, vulnerability reports are displayed in the terminal. You can use these options:
file_path
: Defines the output file locationformat
: Defines the output format, which can be CSV
(comma-separated values) or SARIF
(Static Analysis Results Interchange Format)output:
- file_path: relative/path/to/file
- format: CSV
checks
specifies which weaknesses to look for. See the documentation of weaknesses in Fluid Attacks' classification, which includes detailed descriptions, to make your choice. If this key is not present, the target is checked for all vulnerabilities. This is generally recommended to ensure comprehensive scans. The following is an example for checking against F050 (Guessed weak credentials) and F277 (Weak credential policy - Password Expiration):
checks:
- F050
- F277
strict
configures the scan to run in strict mode, failing the execution (breaking the build) if any vulnerabilities are found (with an exit code 1). Ideal for using the scanner as a CI/CD job. Enable strict mode as follows:
strict: true