Fluid Attacks is committed to delivering highly accurate security testing results. This means minimizing errors from the automated tools and security analysts involved in the Continuous Hacking solution. To measure accuracy, Fluid Attacks utilizes several benchmarks, including the OWASP Benchmark Project.
The Open Worldwide Application Security Project (OWASP) is a non-profit foundation dedicated to helping improve software security. It operates as an open, online community where anyone can contribute resources and expertise related to application security (AppSec). This collaborative environment allows developers and security professionals to learn from each other and stay up-to-date on the latest threats and best practices.
The OWASP Benchmark Project is a free Java test suite created in 2015 to assess the accuracy, speed and coverage of automated software vulnerability detection tools. It helps developers and security professionals identify the strengths and weaknesses of various AppSec testing solutions, allowing for objective comparisons between them.
The OWASP Benchmark allows for the evaluation of different types of security testing tools that apply any of these techniques:
A tool's performance is measured by its ability to correctly identify vulnerabilities (true positives) and secure code (true negatives) while minimizing incorrect assessments (false positives and false negatives). This evaluation provides a benchmark for choosing the right security testing tool for your software development lifecycle (SDLC).
As mentioned earlier, two other classifications of assessments are possible, however, they are not treated further in this page:
As demonstrated in the image above, Fluid Attacks' scanner consistently outperforms other vulnerability detection tools:
This exceptional performance translates to a perfect OWASP Benchmark Score of 100%, significantly exceeding industry averages:
To verify the OWASP Benchmark results, follow these steps (or skip ahead to the one-step alternative):
Meet the requirement: Install Docker to be able to run Fluid Attacks' scanner.
Install the scanner: Download the Docker container and pull the image.
Clone the OWASP Benchmark v1.2 repository:
git clone https://github.com/OWASP-Benchmark/BenchmarkJava.git benchmark
cd benchmark
Create a configuration file: Use the following content:
checks:
- F004
- F008
- F021
- F034
- F042
- F052
- F063
- F089
- F107
- F112
- F130
namespace: OWASP
multifile: true
output:
file_path: results/Benchmark_1.2-Fluid-Attacks-v2024.csv
format: CSV
sast:
include:
- src/main/java/org/owasp/benchmark/testcode/
- src/main/java/org/owasp/benchmark/helpers/DatabaseHelper.java
- src/main/java/org/owasp/benchmark/helpers/SeparateClassRequest.java
- src/main/java/org/owasp/benchmark/helpers/Thing1.java
- src/main/java/org/owasp/benchmark/helpers/Thing2.java
- src/main/java/org/owasp/benchmark/helpers/ThingFactory.java
- src/main/resources/benchmark.properties
Execute the scan:
m gitlab:fluidattacks/universe@trunk /skims scan config.yaml
Once the scan completes, the results are saved in a CSV file named Benchmark_1.2-Fluid-Attacks-v2024
located in the results/
folder of the cloned repository.
Install the OWASP plugin: You need an OWASP plugin to create a scorecard from the results. Fluid Attacks currently uses a modified version of the plugin to ensure compatibility with the latest scanner version. (A pull request to add native support is open in the official OWASP Benchmark repository.)
To install the plugin locally (make sure you have Maven installed):
cd ..
git clone https://github.com/alejolagosm/BenchmarkUtils.git benchmark_utils
cd benchmark_utils
mvn install
cd ../benchmark
Add YAML file to use the plugin: Inside the benchmark repository, add a YAML file named benchmark_config.yaml
with the following contents:
expectedresults: expectedresults-1.2.csv
Run the plugin to generate the scorecards:
mvn org.owasp:benchmarkutils-maven-plugin:create-scorecard -DconfigFile=benchmark_config.yaml
Open the results in your browser: For example:
On Firefox:
firefox scorecard/Scorecard_Home.html
On Google Chrome:
google-chrome-stable scorecard/Scorecard_Home.html
m gitlab:fluidattacks/universe@trunk /skims/benchmark/owasp
This script generates the scorecards (which you can open as described above in step 10) and a JSON file named benchmark.json
summarizing the vulnerability scanner results.