Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Automate dynamic application security testing with RapiDAST

An open source approach to automated security testing

June 19, 2025
Yadnyawalk Tale Juan Perez de Algaba
Related topics:
Automation and managementCI/CDSecurity
Related products:
Developer Tools

Share:

    Dynamic application security testing (DAST) is a crucial security approach that analyzes a running application to uncover vulnerabilities and weaknesses. Think of it as a live fire drill for your application, stress-testing its defenses in realistic conditions. Unlike static application security testing (SAST), which analyzes source code, DAST interacts directly with a live application to identify vulnerabilities that SAST might miss.

    Because DAST evaluates an application in a real-world setting, it generally produces fewer false positives than SAST, although some can still occur. This allows engineers to focus on real threats more efficiently.

    In the software development life cycle (SDLC), DAST takes place once an application is running in a staging or testing environment. However, modern DevSecOps practices, such as those promoted by Red Hat, encourage earlier adoption in continuous integration and continuous delivery (CI/CD) workflows. This allows security assessments before deployment, uncovering runtime issues such as authentication flaws and security misconfigurations. DAST is a valuable complement alongside other security testing activities, providing a more comprehensive security assessment.

    Is DAST automated or manual?

    DAST can be both! Automated tools simulate various attacks and are the foundation of many DAST processes, making them ideal for CI/CD integration and continuous security testing. Manual testing provides a deeper, more creative exploration of potential weaknesses and is especially useful for identifying complex logic flaws that automated tools might overlook.

    What is RapiDAST?

    RapiDAST is an open source dynamic application security testing tool developed by the Red Hat Product Security team and is currently being used by various Red Hat engineering teams. RapiDAST initially focused on web apps and API security. It has now evolved to offer broader test coverage, automating and streamlining vulnerability scanning to ensure ease of use. 

    RapiDAST offers key features such as automated HTTP/API scanning, Kubernetes operator security testing, and integration with tools like Nessus. The tool also provides customizable configurations, multi-format reporting, and integration with cloud storage and platforms like OWASP DefectDojo to simplify vulnerability management.

    How RapiDAST works

    A typical use case for RapiDAST is web scanning, as it automates security vulnerability detection for web applications and APIs. It seamlessly integrates with OpenAPI (formerly Swagger) specifications, which provide a structured way to define API details. If a project lacks an OpenAPI definition, RapiDAST can still scan applications by crawling HTML pages using Spider to discover and analyze URLs dynamically.

    A practical example: Scanning a movie rating application with RapiDAST

    Let's scan a local movie rating app to identify potential vulnerabilities using RapiDAST. Since this application exposes an OpenAPI file, we can efficiently scan it using the following steps. Let's dive in.

    Step 1: Setting up RapiDAST

    There are two ways to run RapiDAST:

    • Cloning the GitHub repository and running from source.
    • Using a pre-built RapiDAST container image maintained by the Red Hat Product Security team.

    To keep things simple, we’ll proceed with the second method. Before you begin, ensure that Podman is installed on your system. We recommend using version 3.0.1 or later.

    Step 2: Creating the RapiDAST configuration file

    Before running RapiDAST, you need to create a configuration file. This file defines the target endpoint, along with other settings and authentication, such as OAuth2, basic auth, cookie, HTTP headers, or browser authentication. If you want RapiDAST to export scan results to external services like DefectDojo or Google Cloud Storage, those services must be specified in the configuration file.

    The sample configuration file below defines these parameters appropriately:

    # filename: rapidast-config.yaml
    
    config:
      configVersion: 6
      googleCloudStorage:
    keyfile: "<keyfile>"
    bucketName: "<bucket_name>"
    directory: "<directory_name>"
      application:
    shortName: "vuln MDB 1.0"
    url: "http://127.0.0.1:5000"
    scanners:
      zap_authenticated:
    authentication:
       type: "cookie"
       parameters:
         name: "auth_id"
         value: "<authentication_token>"
    apiScan:
       apis:
         apiUrl: "http://127.0.0.1:5000/openapi.json"
    passiveScan:
       disabledRules: "2,10015,10027,10096,10024,10098,10023"
    activeScan:
       policy: "API-scan-minimal"
    report:
       format: ["json", "html"]
    miscOptions:
       updateAddons: false

    Step 3: Launching a scan and retrieving results

    Execute the following podman command:

    podman run \
      -v ./rapidast-config.yaml:/opt/rapidast/config/config.yaml:Z \
      -v ./results/:/opt/rapidast/results/:Z \
      quay.io/redhatproductsecurity/rapidast:latest

    This command runs RapiDAST in a container using a pre-built image, with the configuration and results directories mounted into the container. Once the scan is complete, the results directory will contain artifacts such as zap-report.json and human-readable reports like zap-report.html, providing valuable insights into the identified vulnerabilities.

    # cat ./results/zap/zap-report.json | grep 'alert'
    
    "alerts": [
    "alertRef": "10105-1",
    "alert": "Authentication Credentials Captured",
    "alertRef": "10111",
    "alert": "Authentication Request Identified",
    "alerts": [
    "alertRef": "40018",
    "alert": "SQL Injection",
    "alertRef": "10055-4",
    "alert": "CSP: Wildcard Directive",
    "alertRef": "10055-10",
    "alert": "CSP: script-src unsafe-eval",
    "alertRef": "10055-5",
    "alert": "CSP: script-src unsafe-inline",
    "alertRef": "10055-6",
    "alert": "CSP: style-src unsafe-inline",
    "alertRef": "10111",
    "alert": "Authentication Request Identified",

    Interpreting RapiDAST results

    Since RapiDAST leverages ZAP (Zed Attack Proxy) as its core scanning engine in this example, the generated HTML and JSON reports are the ZAP reports. As Figure 1 shows, these reports contain detailed insights, including a list of detected security vulnerabilities, HTTP request and response details showing how the scan interacted with the application, and risk categorization across different risk levels.

    ZAP Scanning Report displaying security vulnerabilities. Bar chart shows alert distribution. 2 high, 4 medium alerts identified.
    Figure 1: RapiDAST scan result report.

    While DAST scans generally produce fewer false-positives than SAST, each reported finding should be carefully reviewed and addressed accordingly.

    Defining production-ready DAST strategies

    Actual CI/CD implementations should perform tests before every release and continuously to make sure that there is no degradation in the system. What if a security control suddenly stops working? Security controls should be tested automatically and continuously to make sure they are accomplishing their roles at every moment. A security control failure could increase the likelihood of an attack, potentially leading to data compromise, reputational damage, and loss of customer trust.

    The RapiDAST team has made a significant effort to simplify the setup process, enabling seamless integration into various pipelines. The RapiDAST GitHub repository contains examples of the most used implementations, such as GitHub and Jenkins, allowing quality engineering teams to quickly integrate basic scans into their infrastructure.

    Best practices with RapiDAST from Red Hat security experts

    Here are key recommendations to maximize the effectiveness of RapiDAST in your security workflows.

    Trust, but verify

    It is a common development practice to use a staging environment where changes are deployed and tested before reaching production. This approach helps prevent denial of service issues and system regressions. While users might be tempted to use RapiDAST in production machines, we strongly advise against this, as users can impact the performance of real-life systems. Therefore, we encourage teams to adjust their testing instances to match production and avoid unwanted surprises.   

    Defense in depth

    Security in depth is a broadly followed security principle where multiple layers of security controls are placed to provide redundancy in case one of them fails. When performing DAST, we should always consider that one of the defense mechanisms might fail, making external dynamic testing essential. This ensures our requests go through all network components, including firewalls, CDNs, and Web Application Firewalls (WAF). Additionally, have internal scanners in place to understand the risk we face if some of our security controls start failing and consider implementing compensatory measures. 

    Unauthenticated and authenticated scans

    Sensitive API endpoints should always be protected with authentication and authorization. In the same way, we test all of our security controls by performing internal and external tests. We should also perform authenticated and unauthenticated scans to ensure unprivileged users cannot access restricted resources.

    RapiDAST for security researchers and enthusiasts

    We’ve discussed how RapiDAST is useful for developers and QE engineers to identify and fix security problems in their internet-exposed deployments, but RapiDAST can also be very useful for security researchers, bug bounty hunters, and security enthusiasts.

    Many companies use open source projects or expose their OpenAPI specification files, enabling researchers to automate their processes for finding security flaws.Additionally, because of the tool’s simplicity, cybersecurity beginners can use RapiDAST to start learning how the interactions between a client and a server interact: web requests, cookies, and APIs. By highlighting a more simplified user interface for understanding requests and flaws, and providing information about how to solve the vulnerability, newcomers can have an accessible path to web security.

    RapiDAST and AI

    There are several ways we can use RapiDAST to enhance our workflow and increase our testing coverage by adding AI capabilities. On the one hand, we can extend RapiDAST to analyze the response of large language models (LLM) models to make sure that they cannot produce dangerous output that could affect the security and safety of our products.

    On the other hand, we could use LLM models to enhance the following reporting capabilities:

    • Analysis of results: LLMs could be used by security researchers to help them analyze the results and determine false positives more quickly.
    • Report generation: Currently, the results from different tools are shown in very simple formats, such as .TXT and .JSON, per tool. Having an LLM to analyze and parse all results to generate automated reports will help security researchers present findings in a more organized manner.

    Interested in contributing to RapiDAST?

    There are several ways to get involved in contributing to RapiDAST:

    • Add a new integration for a pipeline. Red Hat’s open source DAST tool is simple to use, making the addition of a new pipeline integration straightforward and easy to share with the community. Sharing that integration with the community can foster the adoption of that pipeline, and you will benefit from enhancements from other open source adopters.
    • Integrate a new tool. If you want to extend RapiDAST with a tool you use daily, incorporating new tools into RapiDAST can increase product coverage. With a simple scan, you will get results from various scans at the same time. This will increase vulnerability detection and reduce the attack surface of your product.

    We highly encourage collaboration and contribution to RapiDAST. Whether you’re fixing bugs, adding features, enhancing documentation, or refining automation, even small improvements count. Your ideas and involvement can make a significant impact!

    Wrap up

    RapiDAST simplifies and streamlines DAST, making it accessible to security researchers, bug bounty hunters, and development teams. Automating security scans helps identify vulnerabilities in the development lifecycle, reducing risks and improving application security.

    Red Hat performs DAST as part of the SDLC using RapiDAST, ensuring continuous security testing and proactive risk management across its products. To learn more, check out An Overview of Red Hat’s Secure Development Lifecycle (SDLC) practices. 

    Whether you are a security enthusiast exploring DAST or an enterprise integration security into your CI/CD pipeline, RapiDAST offers a powerful and flexible solution that can be customized for your own needs. 

    Related Posts

    • How static application security testing improves software security

    • Add security to a Quarkus application using Red Hat's SSO

    • How to visualize your OpenSCAP compliance reports

    • Scraping Prometheus metrics from Red Hat build of Keycloak

    • Log4Shell: The vulnerability that shook the world of software development

    • How to configure OpenShift application monitoring and alerts

    Recent Posts

    • Create and enrich ServiceNow ITSM tickets with Ansible Automation Platform

    • Expand Model-as-a-Service for secure enterprise AI

    • OpenShift LACP bonding performance expectations

    • Build container images in CI/CD with Tekton and Buildpacks

    • How to deploy OpenShift AI & Service Mesh 3 on one cluster

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue