Welcome to our blog.

Get the TL;DR: tj-actions/changed-files Supply Chain Attack
Let’s get into the tj-actions/changed-files supply chain attack. Read on for TL;DR, what you should do, what happened, and further information.
TL;DR
- The tj-actions/changed-files
GitHub Action, which is currently used in over 23,000 repositories, has been compromised, leaking secrets through workflow logs and impacting thousands of CI pipelines.
- All tagged versions were modified, making tag-based pinning unsafe. Public repositories are at the highest risk, but private repos should also verify their exposure.
- Immediate steps include identifying affected workflows, removing all references to the compromised action, rotating secrets, and checking logs for suspicious activity.
Aikido’s response: We released a new SAST rule that flags any usage with critical severity (Score 100). Aikido can automatically pin your Github actions to prevent this kind of exploit in the future.
First off, what should you do?
Check if you are affected by the j-actions/changed-files
supply chain attack:
A) Search for tj-actions
in your codebase
B) Use this Github query to find references to the affected GitHub action in your organization's repositories (replace [your-org] with the name of your organization).
Stop using tj-actions/changed-files
as soon as possible and remove all references to the compromised action.
Rotate the secrets of the affected pipelines and check logs of your (3rd party) services for suspicious use of the exposed tokens; focus on repos with publicly accessible CI runner logs first.
Let’s get into the attack: What happened?
A security incident involving the tj-actions/changed-files
GitHub Action was identified in mid-March 2025. Attackers introduced malicious code that exposed CI/CD secrets via workflow logs. First reported by Step Security, the incident has been assigned CVE-2025-30066.
While there remains a lack of clarity about what happened and how the code got pushed, most reports indicate that the attacker compromised a GitHub Personal Access Token (PAT) linked to the tj-actions-bot account, which allowed the attacker to make unauthorized modifications, inject malicious code, and manipulate version tags.
Timeline of events:
Before March 14, 2025: The malicious code began impacting affected repositories, causing secrets to leak into public logs.
March 14, 2025: Security researchers identified the compromise and raised awareness.
March 15, 2025: The malicious script hosted on GitHub Gist was removed. The compromised repository was briefly taken offline to revert the malicious changes and later restored without the harmful commits.
March 15, 2025: The repo is back online with a statement on the attack; the maintainer has also commented on the attack.
While the immediate threat has been addressed, cached versions of the compromised action could still pose a risk. Proactive mitigation is necessary to secure sensitive credentials.
What is the impact of the tj-actions/changed-files attack?
Repositories using popular tj-actions/changed-files
, especially public ones, risk leaking the secrets used in their pipelies. These secrets were exposed in workflow logs by the threat actor's malicious code. Although no confirmed external data exfiltration occurred, logs of public repositories could be accessed by malicious actors. Private repositories are less affected but should still assess their exposure, and rotate secrets if affected.
Public Repositories: High risk due to public exposure of workflow logs containing secrets.
Private Repositories: Lower risk, but having active secrets exposed in your workflow logs is still a significant risk.
Cached Action Users: Workflows that cached the compromised action may continue to be at risk until caches are purged.
How can Aikido help?
We released a new SAST rule that flags any tj-actions/changed-files
usage with critical severity (Score 100). If you already use Aikido, you're covered. If you do not have an Aikido account, you can connect and scan your setup in a few seconds.
Beyond this attack, Aikido also automatically pins your Github actions to prevent this kind of exploit in the future.
And our proprietary malware threat feed - Aikido Intel - detects malware within 3 minutes after release on npm, pypi, and will be extended to Github actions soon.
We make it easy to your software supply chain, and provide you the earliest warning for new risks and attacks.
Learn more about the attack:
- A breakdown on “Understanding and Re-Creating the tj-actions/changed-files Supply Chain Attack” by Latio Analyst, James Berthoty. James also shows you how to re-create the attack in your own environment to test your sensor (be careful).
- Step Security, who first reported the attack, published an investigation analysis, “Harden-Runner detection: tj-actions/changed-files action is compromised”
- View CVE-2023-51664

A no-BS Docker security checklist for the vulnerability-minded developer
Why are you here?
You want to know the real answer to two questions about Docker security:
Is Docker secure for production use?
Yes and no. Docker uses a security model that relies on namespaces and resource isolation, making the processes within more secure from specific attacks than running your applications directly from a cloud VM or bare metal system.Despite that layer, there are still plenty of ways for attackers to access your container, allowing them to read confidential information, run denial-of-service (DoS) attacks, or even gain root access to the host system.
How can I improve my Docker security (in a not terribly painful way)?
We’ll walk you through the most common and severe Docker vulnerabilities, skipping over the basic recommendations you’ll find all over Google, like using official images and keeping your host up to date.Instead, we’ll lead you directly to new docker options and Dockerfile lines that will make your new default Docker container deployment far more secure than ever.

The no-BS Docker security checklist
Make in-container filesystems read-only
What do you gain?
You prevent an attacker from editing the runtime environment of your Docker container, which could allow them to collect useful information about your infrastructure, gather user data, or conduct a DOS or ransomware attack directly.
How do you set it?
You have two options, either at runtime or within your Docker Compose configuration.
At runtime: docker run --read-only your-app:v1.0.1
In your Docker Compose file:
services:
webapp:
image: your-app:v1.0.1read_only: true
...
Lock privilege escalation
What do you gain?
You keep your Docker container—or an attacker who is mucking about inside said container—from enabling new privileges, even root-level, with setuid or setgid. With more permissive access to your container, an attacker could access credentials in the form of passwords or keys to connected parts of your deployment, like a database.
How do you set it?
Once again, at runtime or within your Docker Compose configuration.
At runtime: docker run --security-opt=no-new-privileges your-app:v1.0.1
In your Docker Compose file:
services:
webapp:
image: your-app:v1.0.1
security_opt:
- no-new-privileges:true
...
Isolate your container-to-container networks
What do you gain?
By default, Docker lets all containers communicate via the docker0 network, which might allow an attacker to move laterally from one compromised container to another. If you have discrete services A
and B
in containers Y
and Z
, and they don’t need to communicate directly, isolating their networks provides the same end-user experience while preventing lateral movement for better Docker security.
How do you set it?
You can specify Docker networks at runtime or within your Docker Compose configuration. However, you first need to create the network:
docker network create your-isolated-network
At runtime, add the --network optio
n: docker run --network your-isolated-network your-app:v1.0.1
Or the equivalent option in your Docker Compose file:
services:
webapp:
image: your-app:v1.0.1
networks:
- your-isolated-network
...
Set a proper non-root user
What do you gain?
The default user within a container is root
, with a uid of 0
. By specifying a distinct user, you prevent an attacker from escalating their privileges to another user that can take action without restrictions, like root, which would override any other Docker security measures you’ve worked hard to implement.
How do you set it?
Create your user during the build process or a runtime. At runtime, you can either create the user for the first time, or override the USER
you already set at build.
During the build process, in your Dockerfile
:
...
RUN groupadd -r your-user
RUN useradd -r -g your-user your-user
USER myuser
...
At runtime: docker run -u your-user your-app:v1.0.1
Drop Linux kernel capabilities
What do you gain?
By default, Docker containers are allowed to use a restricted set of Linux kernel capabilities. You might think the folks at Docker created that restricted set to be completely secure, but many capabilities exist for compatibility and simplicity. For example, default containers can arbitrarily change ownership on files, change their root directory, manipulate process UIDs, and read sockets. By dropping some or all of these capabilities, you minimize the number of attack vectors.
How do you set it?
You can drop capabilities and set new ones at runtime. For example, you could drop all kernel capabilities and allow your container only the capability to change ownership of existing files.
docker run --cap-drop ALL --cap-add CHOWN your-app:v1.0.1
Or for Docker Compose:
services:
webapp:
image: your-app:v1.0.1
cap_drop:
- ALL
cap_add:
- CHOWN
...
Prevent fork bombs
What do you gain?
Fork bombs are a type of DoS attack that infinitely replicates an existing process. First, they reduce performance and restrict resources, which inevitably raises costs and can ultimately crash your containers or the host system. Once a fork bomb has started, there’s no way to stop it other than restarting the container or the host.
How do you set it?
At runtime, you can limit the number of processes (PIDs) your container can create.
docker run --pids-limit 99 your-app:v1.0.1
Or with Docker Compose:
services:
webapp:
image: your-app:v1.0.1
deploy
limits:
pids: 99
Improve Docker security by monitoring your open source dependencies
What do you gain?
The applications you’ve containerized for deployment with Docker likely have a wide tree of dependencies.
How do you set it?
The most “non-BS” way is with Aikido’s open-source dependency scanning. Our continuous monitoring scans projects written in more than a dozen languages based on the presence of lockfiles within your application and delivers an instant overview of vulnerabilities and malware. With automatic triaging that filters out false positives, Aikido gives you remediation advice you can start working with right away… not only after you read a dozen other reference documents and GitHub issues.
At Aikido, we love established open-source projects like Trivy, Syft, and Grype. We also know from experience that using them in isolation isn’t a particularly good developer experience. Under the hood, Aikido enhances these projects with custom rules to bridge gaps and reveal security flaws you wouldn’t be able to find otherwise. Unlike chaining various open-source tools together, Aikido frees you from having to build a scanning script or create a custom job in your CI/CD.

Use only trusted images for Docker security
What do you gain?
Docker Content Trust (DCT) is a system for signing and validating the content and integrity of the official images you pull from Docker registries like Docker Hub. Pulling only images signed by the author gives you more reassurance they haven’t been tampered with to create vulnerabilities in your deployment.
How do you set it?
The easiest way is to set the environment variable on your shell, which prevents you or anyone else from working with untrusted images.
export DOCKER_CONTENT_TRUST=1
docker run ...
Or, you can set the environment variable each time you execute Docker:
DOCKER_CONTENT_TRUST=1 docker run …
Update end-of-life (EOL) runtimes
What do you gain?
One common recommendation for Docker container security is to pin images and dependencies to a specific version instead of latest
. In theory, that prevents you from unknowingly using new images, even ones that have been tampered with, that introduce new vulnerabilities.
How do you set it?
You have some open-source projects available to help you discover EOLs and best prepare. The endoflife.date project (GitHub repository) tracks more than 300 products by aggregating data from multiple sources and making it available via a public API. You have a few options with endoflife.date and similar projects:
- Manually check the project for updates on dependencies your applications rely on and create tickets or issues for required updates.
- Write a script (Bash, Python, etc.) to get the EOL dates of dependencies from the API and run it regularly, like a cron job.
- Incorporate the public API, or that custom script, into your CI platform to fail builds that use a project that’s nearing or reached EOL.
As a developer, we understand that your time is valuable and often limited. This is where Aikido can provide a sense of security—our EOL scanning feature tracks your code and containers, prioritizing runtimes with the most impact and exposure, like Node.js or an Nginx web server. As usual, we not only automate collecting information, but deliver alerts with appropriate severity to inform, not overwhelm you.

Limit container resource usage
What do you gain?
By default, containers have no resource constraints and will use as much memory or CPU as the host’s scheduler. Limiting the resource usage of a specific container can minimize the impact of a DoS attack. Instead of crashing your container or host system due to an Out of Memory Exception, the ongoing DoS attack will “only” negatively impact the end-user experience.
How do you set it?
At runtime, you can use the --memory
and --cpus
option to set limits for memory and CPU usage, respectively. The memory option takes numbers with g for gigabytes and m for megabytes, while the CPU option reflects the limit of dedicated CPUs available for the container and its processes.
docker run --memory="1g" --cpus="2" your-app:v1.0.1
This also works with Docker Compose:
services:
webapp:
image: your-app:v1.0.1
deploy:
limits:
cpus: '2'
memory: 1G
...
Your final command and Compose options for Docker security
By now you’ve seen quite a few Docker security tips and the relevant CLI options or configuration to go along with them, which means you’re either quite excited to implement them or overwhelmed with how to piece them all together. Below, we’ve rolled up all the recommendations into a single command or configuration template, which will help you start deploying more secure Docker containers right away.
Obviously, you’ll want to change some of the options—like the non-root user name, kernel capabilities, resource limits—based on your application’s needs.
export DOCKER_CONTENT_TRUST=1
docker run \
--read-only \
--security-opt=no-new-privileges \
--network your-isolated-network \
--cap-drop ALL
--cap-add CHOWN \
--pids-limit 99 \
--memory="1g" --cpus="2" \
--user=your-user \
... # OTHER OPTIONS GO HERE
your-app:v1.0.1
You might even want to create a drun alias with your host’s shell you can invoke without having to remember all those details.
function drun {
docker run \
--read-only \
--security-opt=no-new-privileges \
--network your-isolated-network \
--cap-drop ALL
--cap-add CHOWN \
--pids-limit 99 \
--memory="1g" --cpus="2" \
--user=your-user \
$1 \
$2
}
Then run your alias like so, with your options and image name: drun -it your-app:v1.0.1
If you’re a Docker Compose kind of person, you can adapt all the same options into a new baseline Docker Compose template you can work from in the future:
services:
webapp:
image: your-app:v1.0.1
read_only: true
security_opt:
- no-new-privileges:true
networks:
- your-isolated-network
cap_drop:
- ALL
cap_add:
- CHOWN
deploy:
limits:
pids: 9
cpus: '2'
memory: 1G
... # OTHER OPTIONS GO HERE
Bonus: Run Docker with rootless containers
When you install Docker on any system, its daemon operates with root-level privileges. Even if you enable all the options above, and prevent privilege escalation within a Docker container, the rest of the container runtime on your host system still has root privileges. That inevitably widens your attack surface.
The solution is rootless containers, which an unprivileged user can create and manage. No root privileges involved means far fewer security issues for your host system.
We wish we could help you use rootless containers with a single option or command, but it’s just not that simple. You can find detailed instructions at the Rootless Containers website, including a how-to guide for Docker.
What’s next for your Docker security?
If you’ve learned anything from this experience, it’s that container security is a long-tail operation. There are always more hardening checklists and deep-dive articles to read about locking down your containers in Docker or its older and often misunderstood cousin, Kubernetes. You can’t possibly aim for faultless container security—creating time in your busy development schedule to address security, and then making incremental improvements based on impact and severity, will go a long way over time.
To help you maximize on that continuous process and prioritize fixes that will meaningfully improve your application security, there’s Aikido. We just raised a $17 million Series A for our “no BS” developer security platform, and we’d love to have you join us.

Sensing and blocking JavaScript SQL injection attacks
Why are you here?
You’ve heard about JavaScript SQL injection attacks before, but you’re not entirely sure what they look like in the wild or if you need to worry about them in the first place. Maybe you’re trying to figure out just how bad it could be.
In short, if you’re building apps using SQL databases, like MySQL and PostgreSQL, you’re at risk—you’re not safe from attack methods plaguing developers and their databases for decades. As a developer, the onus is on you to implement guardrails that protect user data and ensure your underlying infrastructure is never intruded, explored, or commandeered.
All the new tools say they’re helping you, but they just make development more complex.
You can add an object–relational mapper (ORM) like Sequelize and TypeORM to simplify how you work with SQL databases like MySQL and PostgreSQL, but they don’t completely absolve you of risk. Web application firewalls (WAFs) help you block attacks at the networking level, but require expensive infrastructure and constant maintenance. Code-scanners can help you identify obvious flaws, but do far less for the unknown unknowns and lurking zero-day techniques.
We’ll present you with a clear picture of what SQL injection attacks look like, the risk they carry, and the development mistakes that make them possible. Then we’ll do you one better by walking you through installing a global hotfix so you’ll know, with certainty, that your apps are safe.
SQL injection attacks: examples and implications
The most basic definition of an SQL injection attack is when an app allows unvalidated and unsanitized user input to run database queries, allowing an attacker to read the SQL database, modify records, or delete to their heart’s content.
As usual, XKCD illustrates the danger of SQL better than most gloomy scenarios we could dream up:

What does vulnerable JavaScript app look like?
Let’s start with a simple pseudocode example: a JavaScript app with an input element that allows users to search a database of cats. In the example JavaScript code below, the app responds to POST requests on the /cats path to extract the user input from the request body and connects to the database with a query to return all cats with a matching id. The app then displays the cat using the JSON response.
app.post("/cats", (request, response) => {
const query = `SELECT * FROM cats WHERE id = ${request.body.id}`;
connection.query(query, (err, rows) => {
if(err) throw err;
response.json({
data: rows
});
});
});
While this example might look innocuous to those untrained on SQL injection attacks, it’s egregiously vulnerable. Notably, the app does not attempt to validate or sanitize user input for potentially dangerous strings or encoding methods, and concatenates user input directly into the SQL query, which allows attackers multiple opportunities to attack using common SQL injection attack methods that have existed for decades.
Example JavaScript SQL attack payloads
SQL injection hinges on tricking your MySQL or PostgreSQL database into taking action or responding with data outside the expected scope due to how your app generates SQL queries.
The 1=1 is always true attack can return the entire table of cats with tricks like apostrophes or quotation marks, because 1=1
is indeed always TRUE:
- The user inputs:
BOBBY TABLES’ OR 1=’1
- The database executes the SQL query:
SELECT * FROM Users WHERE Cat = BOBBY TABLES OR 1=1;
Similarly, attackers can exploit a = is always true attack to return all cats, because ""=""
is always TRUE:
- The user inputs:
" OR ""="
- The database executes the SQL query:
SELECT * FROM Cats WHERE CatId ="" or ""="";
Attackers will often exploit how databases handle inline comments, and by inserting comments (/* … */)
into a query, they can obfuscate their intent or bypass filters.
- The user inputs:
DR/*hello world*/OP/*sneak attack*/ TABLE Cats;
- The database executes the SQL query:
DROP TABLE Cats;
Another common JavaScript SQL injection strategy is query stacking, which lets attackers start with an innocuous string, then use a semicolon (;) to terminate that statement and begin another containing their injection. Attackers often use query stacking to delete entire databases in one fell swoop with a DROP TABLE command:
- The user inputs:
Bobby; DROP TABLE Cats --
- The app builds its SQL query:
const query = "SELECT * FROM Cats WHERE CatId = " + input;
- The database executes the SQL query:
SELECT * FROM Cats WHERE CatId = BOBBY; DROP TABLE Cats;
What about NoSQL injection attacks?
NoSQL injection attacks are equally dangerous to the security of your app and user data, but only affect tech stacks using databases like MongoDB. The main difference is the style attacks, as SQL and NoSQL queries use entirely unique syntax that doesn’t translate from one category to the other.
If you’re using a SQL database, you’re not at risk of NoSQL injection attacks, and vice versa.
The basic path: manually fixing all your SQL injection vulnerabilities
At this point, you might be less interested in what all the possible injection tricks look like and more interested in how to protect the data you have in MySQL or PostgreSQL.
- Use parameterized queries: SQL has functionality to disconnect the execution of queries and values, protecting the database from injection attacks.With the JavaScript/Node.js example from above, you can employ a placeholder in your SQL query with a question mark (
?
). Theconnection.query()
method then takes the parameter in its second argument, providing the same results in an injection-proof method.
app.post("/cats", (request, response) => {
const query = `SELECT * FROM Cats WHERE id = ?`;
const value = request.body.id;
connection.query(query, value, (err, rows) => {
if(err) throw err;
response.json({
data: rows
});
});
});
- Validate and sanitize user input: While parameterized queries can help protect your SQL database from intrusion and attack, you can also prevent users from entering potentially dangerous strings into your application.
One option is adding open-source libraries for sanitization and validation to your app. For example, you can use validator.js in the JavaScript/Node.js ecosystem to double-check that a user is trying to enter a real email address—not an SQL injection attack—into your sign-up form.
You can also develop custom regex-based validators to perform similar work, but you’ll have an enormously time-consuming and complex road ahead with research and tons of manual testing. Plus, can you really interpret this example regex for email validation?const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
The same idea applies to preventing strings like…’ OR 1-’1.
You can try to research and close down all these opportunities yourself, but you’d probably rather spend your time building new features.
- Deploy WAFs or agent-based security platforms: While these solutions can block SQL attacks before they even touch your app, or at least notify you in real-time as attacks happen, they come with some caveats.
First, they are often expensive and require you to launch new infrastructure on-premises or in the cloud, which is often far more complex than what you signed up for as a developer who just wants to ship to production. Second, they require more manual maintenance to update the ruleset, distracting you from other manual interventions to SQL injection. Finally, they often add more computational load, or redirect all requests through their platform for analysis, adding latency and harming the end-user experience.
The big problem is that opportunities for SQL injection attacks are like weeds—you can cut them all down once using these tools, but you must be constantly vigilant over your entire codebase to ensure they never sprout again.
An alternative path to solving JavaScript SQL injection attacks: Aikido Firewall
Aikido Security recently released Firewall, a free and open-source security engine that autonomously projects you from SQL injection attacks—and a whole lot more.
If you’re not using Node.js, just know that we’ll start supporting other languages and frameworks in the future. You can always subscribe to our product newsletter to hear exactly when Firewall expands beyond the JavaScript world or email us at hello@aikido.dev if you’d like to pitch a specific language.
Testing an app that’s vulnerable to JavaScipt SQL injection
Let’s use a sample app that ships with the open-source repository to showcase how Aikido Firewall works. You’ll also need Docker/Docker Compose to deploy a local MySQL database.
Start by forking the firewall-node repository and cloning said fork to your local workstation.
git clone https://github.com/<YOUR-GITHUB-USERNAME>/firewall-node.gitcd firewall-node
Use Docker to deploy a local MySQL database on port 27015. This docker-compose.yml file also creates s3mock, MongoDB, and PostgreSQL containers as well, as it was created to help the Aikido team test how Firewall blocks various attacks.
docker-compose -f sample-apps/docker-compose.yml up -d
Next, launch the sample app:
node sample-apps/express-mysql2/app.js
Open http://localhost:4000
in your browser to check out the very simple cat app. In the textarea, type in a few cat names and click the Add button. To test SQL injection, you can either click the Test injection link or type the following into the textarea: Kitty'); DELETE FROM cats;-- H
and click Add again. Either way, the app allows you to stack multiple queries together using some sneaky query comments, deleting the entire cats database.
How does this happen? As we warned against earlier, this app simply tacks on any user input at the end of the SQL query, which is inherently unsafe.
const query = `INSERT INTO cats(petname) VALUES ('${name}');`
The consequences might be small here, but it’s not hard to imagine how this oftentimes honest mistake can have disastrous consequences for your production app.
Blocking JavaScript SQL injection with Aikido Firewall
Now let’s look at how quickly our open-source security engine blocks JavaScript SQL injection attacks without manually fixing every database interaction in your code.
If you don’t yet have an Aikido account, go ahead and make one for free. If you already have one, log in and connect your GitHub account. During that process, grant Aikido access to read your fork of the firewall-node
project.
Go to the Firewall dashboard and click Add Service. Give your service a name and once again choose your fork for the firewall-node
project.

Aikido then instructs you on how to install and implement Aikido Firewall. Since we’re using the example app, that work is already done for you, but it’s a helpful reference for how you’d go about bringing our open-source security engine to all your Node.js apps that might be vulnerable to JavaScript SQL injection attacks.

Click the Generate Token button to create a token to let Aikido Firewall securely pass information about blocked SQL injection attacks to the Aikido security platform. Copy the generated token, which starts with AIK_RUNTIME…
, and head back to your terminal to rerun the sample app, only now with Firewall fully enabled in blocking mode:
AIKIDO_TOKEN=<YOUR-AIKIDO-TOKEN> AIKIDO_DEBUG=true AIKIDO_BLOCKING=true node sample-apps/express-mysql2/app.js
Open localhost:4000
and once again invoke the included SQL injection attack. This time, Aikido will block you at the browser, output to your local web server’s logs, and generate a new event. Click that to see comprehensive details about the SQL injection attempt, including the payload and where your app generated the dangerous SQL query.

Instead of worrying about forever protecting your apps against JavaScript SQL injection attacks, both critical and not-yet-seen, Aikido Firewall offers comprehensive blocking and sophisticated observability that keeps you informed about attack sources, common payloads, and potential weak points.
What’s next?
You can install and implement Aikido Firewall in all your Node.js-based applications for free. Our open-source embedded security engine protects your infrastructure and user data against JavaScript SQL injection attacks, command injection, prototype pollution, path traversal, and more to come shortly.
We’re not saying Firewall should replace development best practices for protecting against SQL injection, like using parameterized queries or never trusting user input, but we also know from personal experience that no developer is perfect. No codebase is faultless, and honest mistakes happen all the time.
Think of Firewall as a global hotfix for SQL injection. Unlike custom-developed regex, latency-inducing WAFs, or complex security agents that cost a pretty penny, It does this one job extraordinarily well and with negligible impact—entirely for free.
If you like what you’ve seen, check out our roadmap and give our GitHub repository (https://github.com/AikidoSec/firewall-node) a star. ⭐

Prisma and PostgreSQL vulnerable to NoSQL injection? A surprising security risk explained
Introduction
Imagine you’re building a blogging web app using Prisma. You write a simple query to authenticate users based on their provided email and password:
1const user = await prisma.user.findFirst({
2 where: { email, password },
3});
Looks harmless, right? But what if an attacker sends password = { "not": "" }
? Instead of returning the User object only when email and password match, the query always returns the User when only the provided email matches.
This vulnerability is known as operator injection, but it’s more commonly referred to as NoSQL injection. What many developers don’t realize is that despite strict model schemas some ORMs are vulnerable to operator injection even when they’re used with a relational database such as PostgreSQL, making it a more widespread risk than expected.
In this post, we’ll explore how operator injection works, demonstrate exploits in Prisma ORM, and discuss how to prevent them.
Understanding Operator Injection
To understand operator injection in ORMs, it’s interesting to first look at NoSQL injection. MongoDB introduced developers to an API for querying data using operators such as $eq
, $lt
and $ne
. When user input is passed blindly to MongoDB's query functions, there exists a risk of NoSQL injection.
Popular ORM libraries for JavaScript started offering a similar API for querying data and now almost all major ORMs support some variation of query operators, even when they don’t support MongoDB. Prisma, Sequelize and TypeORM have all implemented support for query operators for relational databases such as PostgreSQL.
Exploiting Operator Injection in Prisma
Prisma query functions that operate on more than one record typically support query operators and are vulnerable to injection. Example functions include findFirst
, findMany
, updateMany
and deleteMany
. While Prisma does validate the model fields referenced in the query at runtime, operators are a valid input for these functions and therefor aren’t rejected by validation.
One reason why operator injection is easy to exploit in Prisma, is the string-based operators that are offered by the Prisma API. Some ORM libraries have removed support for string-based query operators because they are so easily overlooked by developers and easy to exploit. Instead, they force developers to reference custom objects for operators. As these objects cannot be readily de-serialized from user input, the risk of operation injection is greatly reduced in these libraries.
Not all query functions in Prisma are vulnerable to operator injection. Functions that select or mutate a single database record typically do not support operators and throw a runtime error when an Object is provided. Apart from findUnique, the Prisma update, delete and upsert functions also do not accept operators in their where filter.
1 // This query throws a runtime error:
2 // Argument `email`: Invalid value provided. Expected String, provided Object.
3 const user = await prisma.user.findUnique({
4 where: { email: { not: "" } },
5 });
Best Practices to Prevent Operator Injection
1. Cast User Input to Primitive Data Types
Typically casting input to primitive data types such as strings or numbers suffices to prevent attackers from injecting objects. In the original example, casting would look as follows:
1 const user = await prisma.user.findFirst({
2 where: { email: email.toString(), password: password.toString() },
3 });
2. Validate User Input
While casting is effective, you might want to validate the user input, to ensure that the input meets your business logic requirements.
There are many libraries for server-side validation of user input, such as class-validator, zod and joi. If you’re developing for a web application framework such as NestJS or NextJS, they likely recommend specific methods for user input validation in the controller.
In the original example, zod validation might look as follows:
1import { z } from "zod";
2
3const authInputSchema = z.object({
4 email: z.string().email(),
5 password: z.string().min(8)
6});
7
8const { email, password } = authInputSchema.parse({email: req.params.email, password: req.params.password});
9
10const user = await prisma.user.findFirst({
11 where: { email, password },
12});
3. Keep your ORM updated
Stay updated to benefit from security improvements and fixes. For example, Sequelize disabled string aliases for query operators starting from version 4.12, which significantly reduces susceptibility to operator injection.
Conclusion
Operator injection is a real threat for applications using modern ORMs. The vulnerability stems from the ORM API design and isn’t related to the database type in use. Indeed, even Prisma combined with PostgreSQL may be vulnerable to operator injection. While Prisma offers some built-in protection against operator injection, developers must still practice input validation and sanitization to ensure application security.
Appendix: Prisma schema for User model
1// This is your Prisma schema file,
2// learn more about it in the docs: https://pris.ly/d/prisma-schema
3
4generator client {
5 provider = "prisma-client-js"
6}
7
8datasource db {
9 provider = "postgresql"
10 url = env("DATABASE_URL")
11}
12
13// ...
14
15model User {
16 id Int @id @default(autoincrement())
17 email String @unique
18 password String
19 name String?
20 posts Post[]
21 profile Profile?
22}
Top Dynamic Application Security Testing (DAST) Tools in 2025
Modern apps ship fast — and that often means security bugs sneak into production. In this guide, we break down what Dynamic Application Security Testing (DAST) is, why it matters in 2025, and how to choose the right DAST tool for your team, whether you're a solo dev or an enterprise security lead.
Not every reader needs to go deep on all 15+ tools. If you're here with a specific use case in mind — say you're looking for the best DAST for developers, startups, or API Security — feel free to jump straight to the sublists tailored for your scenario.
That said, we recommend checking out the full tool breakdown further down. Even a quick skim of the main list might surface a tool you hadn’t considered — or help you understand why some options consistently rank high across categories.
What is DAST?
Dynamic Application Security Testing (DAST) is a security testing method that evaluates a running application from the outside-in, similar to how an attacker would. A DAST tool interacts with a web application through its front end (HTTP requests, web interfaces, APIs) without needing access to the source code. This “black-box” approach involves simulating malicious inputs and analyzing the application’s responses to identify vulnerabilities like SQL injection, Cross-Site Scripting (XSS), authentication flaws, misconfigurations, and other runtime issues. In essence, DAST behaves like an automated hacker probing your application’s defenses.
DAST solutions are distinct from static analysis tools (SAST) because they test the running application in a realistic environment. Where SAST scans source code for bugs, DAST actually launches attacks on a deployed app to see if those vulnerabilities can be exploited in real time. This means DAST can find issues that only manifest when the whole system is running – for example, configuration mistakes, broken access controls, or unsafe defaults that wouldn’t be apparent just from reading code. DAST is often used in late-stage testing (QA, staging, or even production with caution) as a final check to catch anything missed earlier.
In 2025, DAST remains crucial because modern web applications are increasingly complex (single-page apps, microservices, APIs, etc.). DAST tools have evolved to handle these challenges – crawling rich interfaces, following redirects, handling authentication flows, and testing REST/GraphQL APIs, all without needing to see the app’s internals. Many organizations adopt a combined SAST & DAST strategy for comprehensive coverage across the software development lifecycle. (For a deeper comparison, see our guide on using SAST & DAST together.)
Why You Need DAST Tools
Web application security is a moving target – applications today are exposed to the internet 24/7, and attackers constantly discover new exploits. Here’s why using DAST tools is a must in 2025:
- Real-World Coverage: DAST tools find vulnerabilities from an outsider’s perspective, showing you exactly what an attacker could exploit in a running app. They can uncover issues in the environment (server configs, third-party components, APIs) that static code checks might miss.
- Language & Platform Agnostic: Because DAST interacts with the app via HTTP and the UI, it doesn’t matter what language or framework the app is written in. One DAST scanner can test Java, Python, Node, or any web platform – ideal for polyglot environments.
- Finds Critical Runtime Bugs: DAST excels at catching problems like misconfigured servers, broken authentication flows, insecure cookies, and other deployment issues that only appear when the app is live. These are often high-impact vulnerabilities (e.g., an open admin portal or default password) that slip through code reviews.
- Low False Positives (in many cases): Modern DAST solutions use techniques like attack verification (e.g. proof-of-exploit) to confirm vulnerabilities and reduce noise. Unlike SAST, which might flag theoretical problems, DAST typically shows concrete evidence (like “I was able to dump your database via SQL injection”) – making it easier for developers to trust the results.
- Compliance and Peace of Mind: Many security standards and regulations (PCI DSS, OWASP Top 10, etc.) recommend or require dynamic testing of web apps. Using a DAST tool helps check those boxes by producing reports that auditors understand (e.g. OWASP Top 10 issue coverage) and ensures you haven’t left gaping holes in your application before go-live.
In short, DAST adds an essential layer of security by attacking your app the way real threats would – so you can fix weaknesses before bad actors exploit them.
How to Choose a DAST Tool
Not all DAST scanners are created equal. When evaluating Dynamic Application Security Testing tools, consider the following criteria to find the best fit:
- Coverage of Technologies: Ensure the tool can handle the tech stack of your apps – does it support modern JavaScript-heavy frontends (Single Page Applications), mobile backends, and APIs (REST, SOAP, GraphQL)? Tools like HCL AppScan and Invicti support a wide range of app types.
- Accuracy and Depth: Look for high vulnerability detection rates with minimal false positives. Features like confirmation scans or proof-of-concept generation (for example, Invicti’s proof-based scanning) are valuable to automatically validate findings. You want a tool that uncovers critical issues but doesn’t overwhelm you with noise.
- Ease of Use & Integration: A good DAST fits into your workflow. Consider tools that offer easy setup (cloud-based or managed options), CI/CD integration for DevSecOps (Aikido, StackHawk, etc.), and integrations with issue trackers (Jira, GitHub) or workflows. If your developers can trigger scans from pipelines and get results in their tools, adoption will be smoother.
- Authentication & Complexity Handling: Many apps aren’t fully public – check that the DAST supports authenticated scanning (logging in with a user account/session) and can handle things like multi-step forms or complex flows. Enterprise-grade scanners like Burp Suite, AppScan, and others allow recording login sequences or authentication scripts.
- Reporting and Dev Feedback: The output should be developer-friendly. Look for clear vulnerability descriptions, remediation guidance, and compliance reporting if needed (e.g., reports mapped to OWASP Top 10, PCI, etc.). Some platforms (like Aikido’s DAST) even provide automatic fix suggestions or code patches to accelerate remediation.
- Scalability and Performance: If you need to scan dozens or hundreds of apps, consider how the tool scales. Cloud-based DAST services (Qualys WAS, Rapid7 InsightAppSec, Tenable.io, etc.) can run scans in parallel and manage scheduling. On-premise tools should allow multiple engines or scanning agents for scaling. Also evaluate scan speed – some tools offer incremental scanning or optimization for faster re-tests.
- Support & Maintenance: Finally, a tool is only as good as its latest update. Evaluate how frequently the vendor updates the scanner’s vulnerability checks. Active community or vendor support is crucial, especially for open-source options. An outdated DAST (or one with no support) may miss new threats or break on modern apps.
Keep these criteria in mind as you review the landscape of DAST solutions. Now, let’s dive into the top tools available in 2025 and see how they stack up.
Top DAST Tools for 2025
In this section, we list the best Dynamic Application Security Testing tools of 2025. These include a mix of commercial and open-source options, each with unique strengths. We’ve provided an alphabetical list of top tools, along with their key features, ideal use cases, pricing info, and even some user review snippets. Whether you’re a developer at a startup or a security lead at an enterprise, you’ll find a DAST solution that fits your needs.
First of, here's a comparison of the top 5 overall DAST tools based on features like API scanning, CI/CD integration, and accuracy. These tools are best-in-class across a range of needs from developers to enterprise teams.
Acunetix by Invicti

Acunetix by Invicti is a powerful DAST-focused web vulnerability scanner tailored for small and mid-sized organizations. It delivers fast, automated scanning of websites and APIs, with an emphasis on ease of use and quick deployment. Acunetix originated as a standalone product and is now part of Invicti Security’s product family (complementing the enterprise-grade Invicti scanner). It provides a great entry point for teams starting their application security program.
Key features:
- Robust Vulnerability Coverage: Scans for 7,000+ known web vulnerabilities, including all OWASP Top 10 issues, with checks for SQLi, XSS, misconfigurations, weak passwords, and more.
- Proof-Based Scanning: Uses Invicti’s proprietary proof-of-exploit technology to automatically verify many findings, reducing false positives. For example, it can safely confirm SQL injections by demonstrating a sample data extract.
- API and SPA Scanning: Acunetix can handle modern apps – it crawls HTML5 single-page applications and can test REST and GraphQL APIs. It also supports importing Swagger/OpenAPI definitions to ensure complete API coverage.
- Integrations and CI/CD: Offers built-in integrations with issue trackers (like Jira) and CI/CD pipelines (Jenkins, GitLab CI, etc.) to enable automation in DevSecOps. Scans can be triggered on new builds, and results exported as developer tickets for quick fix loops.
- Compliance & Reporting: Provides ready-made compliance reports for standards like OWASP Top 10, PCI DSS, HIPAA, ISO 27001, and more – useful for audits and demonstrating security testing to stakeholders.
Best for: Small to mid-sized businesses looking for a fast, easy-to-use DAST tool with enterprise-grade scanning engine. Acunetix’s pricing is more accessible than some large enterprise tools (annual licenses, with options for on-prem or cloud).
Pricing model: Commercial, with editions based on number of targets; a 14-day free trial is available.
Review highlight: “Acunetix has a user-friendly UI, is easy to configure and run, and produces reliable results. The licensing model is not as granular as it could be which means that planning is needed for scaling up or down.” (Source: G2)
Aikido Security

Aikido Security is a developer-focused, all-in-one application security platform that includes a DAST scanner alongside other tools. Aikido’s DAST (called Surface Monitoring) simulates black-box attacks on your web app to find vulnerabilities in real time. What sets Aikido apart is its unified approach – it brings together DAST, SAST, API security scanning, cloud configuration checks, and more in one interface, providing a seamless experience for developers and security teams alike. The platform is cloud-based, with a generous free tier, making enterprise-grade security accessible to startups and large companies alike.
Key features:
- Unified SAST + DAST: Aikido combines static and dynamic testing – you can catch issues early with SAST and verify them in running apps with DAST. All results funnel into one dashboard for holistic AppSec visibility (SAST & DAST together use-case).
- Developer-Friendly Workflow: Designed to be “no-nonsense security for developers.” Aikido integrates with dev tools (IDEs, CI/CD pipelines, GitHub/GitLab, Slack alerts). Developers get immediate feedback – e.g., DAST findings can appear as pull request comments or pipeline results, with links to fix suggestions. One user said, “With Aikido, security is just part of the way we work now. It’s fast, integrated, and actually helpful for developers.”
- Automated API Discovery & Scanning: The DAST engine includes automated discovery of API endpoints (REST and GraphQL) and scans them for vulnerabilities. This is crucial as APIs often accompany modern web apps. Aikido can log in and test authenticated areas too, increasing coverage of your app’s attack surface.
- AI-Powered Autofix: A standout feature – Aikido’s platform can generate one-click fixes for certain findings using AI. For example, if the DAST finds a reflected XSS, the platform might suggest a code patch or config change. This turns security findings into actionable tasks developers can solve in seconds.
- Scalability and Cloud Integration: Being a cloud service, Aikido scales to scan many applications continuously. It’s suitable for enterprise scale (role-based access, team dashboards for Enterprise use, etc.) but also very accessible for lean teams. The platform can run in your CI, or you can trigger on-demand scans via a simple web UI or API.
Best for: Development teams who want an integrated, developer-centric security solution. Aikido is ideal if you want to embed DAST into the development lifecycle without a lot of overhead. It’s used by startups (it offers special Startup-friendly plans) and enterprises alike (see Enterprise features).
Pricing model: Free forever tier (which includes DAST, SAST, and other core scanners for small projects), and flat-rate paid plans for additional users or advanced features. You can start for free without a credit card, making it easy to evaluate.
Review highlight: “With Aikido, we can fix an issue in just 30 seconds – click a button, merge the PR, and it’s done.” (User feedback on auto-remediation)
Arachni
Arachni is an open-source web application security scanner framework written in Ruby. It’s a feature-rich DAST tool that gained popularity for its modular architecture and thorough scanning capabilities. Arachni can be used as a standalone scanner via its CLI or web UI, and it’s also a framework that allows penetration testers to script custom scan modules. While Arachni isn’t under active development (the last major update was in 2017), it remains a powerful option for those willing to work with an open-source project and potentially extend it.
Key features:
- Extensive Vulnerability Testing: Arachni covers all critical web vulnerabilities – SQL Injection (including blind techniques), XSS (reflected and stored), file inclusion, OS command injection, XXE, CSRF, and more. It performs both active checks (attacking inputs) and passive checks (looking for information leakage, config issues, etc.).
- Modular & Extensible: The scanner is highly modular. Dozens of pre-built modules handle different test types, and you can write your own in Ruby. This modularity extends to profile settings and even the ability to distribute scans. For advanced users, Arachni can be a penetration testing toolkit, not just a push-button scanner.
- GUI and CLI Options: Arachni offers a command-line interface for automation and a browser-based GUI for easier use. Less experienced users can utilize the web UI to configure scans and view reports, while power users can integrate the CLI into scripts or CI pipelines.
- Detailed Reporting: The tool generates detailed HTML reports with interactive charts and vulnerability drill-downs. Reports explain each issue, often referencing OWASP descriptions, and include steps to reproduce and suggestions for remediation. This reporting was considered one of Arachni’s strong points.
- Performance and Automation: It supports multi-threaded scanning and even can be set up in a distributed manner to speed up scans for large applications. You can pause and resume scans, and tailor scan scope to target specific domains or pages – useful in automation scenarios.
Best for: Security researchers and pen-testers who want a free, open-source DAST framework to tinker with. Arachni is also educational for those learning how scanners work under the hood. However, note: Arachni’s developer stopped active development, and the project hasn’t seen major updates since 2017. It still works for many use cases (thanks to community tweaks) and can find lots of vulnerabilities, but it may not handle some modern tech (like newest JavaScript frameworks) as smoothly.
Pricing model: Free and open-source (GPLv2). Users should plan for a learning curve due to minimal official support and the need to possibly update modules for cutting-edge tech.
Review highlight: “Progresses through all of the critical tests for the OWASP Top 10… Impressive report output with insightful explanations. Cons: It hasn’t been updated since 2017, no support, the project has been abandoned.” (Comparitech review)
Burp Suite
Burp Suite by PortSwigger is a legendary tool in the web security world. It’s an integrated platform that supports both manual and automated web application security testing. Burp Suite is widely used by penetration testers, bug bounty hunters, and security professionals. It operates as an intercepting proxy (allowing you to modify traffic) and includes an automated scanner (Burp Scanner) for DAST. The suite’s modular tools (Proxy, Scanner, Intruder, Repeater, etc.) provide a comprehensive hacking toolkit. Burp Suite comes in a free Community Edition and a paid Professional Edition (with significantly more features and speed).
Key features:
- Intercepting Proxy: At Burp’s core is a proxy that intercepts HTTP/S requests and responses. This allows testers to inspect and modify traffic on the fly. It’s invaluable for manual testing – you can manipulate parameters, headers, etc., and then send requests to other Burp tools for further testing.
- Automated Scanner: Burp’s DAST scanner can automatically crawl an application and probe for vulnerabilities. It recognizes over 300 vulnerability types out-of-the-box, including SQLi, XSS, CSRF, command injection, and others. With 2500+ test cases and patterns, it’s quite thorough. The scanner’s findings include evidence and remediation guidance.
- Extensibility (BApp Store): Burp has an extensive plugin ecosystem. The BApp Store offers community-developed extensions that add features – from vulnerability checks to integration with other tools. This means you can extend Burp to scan for emerging threats or integrate with development pipelines (there’s even a Burp CI plugin, and Burp Enterprise is a separate product for automation).
- Manual Testing Tools: Beyond scanning, Burp Suite shines with tools like Intruder (for automated fuzzing/brute force), Repeater (for crafting and replaying individual requests), Sequencer (for token analysis), and Decoder/Comparer. These allow skilled testers to dig deep into specific issues that automated scanning flags.
- CI/CD Integration: For DevSecOps, PortSwigger offers Burp Suite Enterprise (a separate edition) which is designed to run scans in CI and at scale. But even Burp Pro can be used in scripts via the command-line or API. This enables teams to include Burp scans as part of their pipeline (often for critical apps or to double-check other scanners).
Best for: Penetration testers and organizations with dedicated AppSec experts. Burp Suite Professional is often the go-to for hands-on security testing due to its flexibility and depth. For a developer team, Burp can be used to verify specific issues or during threat modeling and debugging security fixes. The Community Edition is free but has limitations (slower scanning, no save state). The Pro license is ~$449 per user per year – “worth it for the serious tester” as one Reddit user noted: “It’s the cheapest and best tool of its type. Well worth the money.”. Burp’s scanner is strong, but note that it sometimes misses very business-logic-specific issues – human expertise is its intended complement.
Review highlight: “One of the best proxy tools for bug bounty hunters and penetration testers. Nothing can be disliked; every professional loves it.” (G2 review)
HCL AppScan Standard

HCL AppScan Standard (formerly IBM AppScan) is a desktop-based DAST tool for enterprise users. It provides a rich set of features for scanning web applications, web services, and even some mobile app backends for security vulnerabilities. AppScan Standard is part of the broader HCL AppScan portfolio (which also includes AppScan Enterprise, AppScan on Cloud, SAST tools, etc.). It’s known for its deep scanning capabilities and is often used by security auditors and QA teams in large organizations.
Key features:
- Comprehensive Scanning Engine: AppScan Standard employs advanced crawling and testing algorithms to maximize coverage of complex apps. Its “Action-Based” scanning can handle single-page applications and rich client-side code. It also has tens of thousands of built-in test cases covering everything from SQLi, XSS to logic flaws. It’s designed to tackle the most complex web apps with login sequences, multi-step workflows, and more.
- API and Mobile Backend Testing: Beyond traditional web apps, it can test web APIs (SOAP, REST) and mobile backends. You can feed it API definitions or record mobile traffic to audit the endpoints. This makes AppScan useful for companies with mobile apps that communicate with JSON/REST services.
- Incremental & Optimized Scans: For efficiency, AppScan allows incremental scanning – re-testing only the new or changed parts of an application, which saves time in regression testing. You can also tweak the scan speed vs. coverage settings to suit quick dev scans or in-depth audits.
- Reporting and Compliance: AppScan Standard has robust reporting features. It can generate a variety of reports, including developer-focused ones with fix recommendations and executive summaries. Notably, it offers compliance and industry-standard reports (PCI, HIPAA, OWASP Top 10, DISA STIGs, etc.), making it easier to demonstrate adherence to security requirements.
- Enterprise Integration: While AppScan Standard is a standalone client, it can integrate with AppScan Enterprise (for scaling scans across a team) and with CI/CD pipelines via command-line execution or APIs. HCL also provides plugins for tools like Jenkins. Additionally, it supports authenticated scanning with various mechanisms (Basic, NTLM, form auth, etc.) and can work behind the corporate firewall easily since you run it on-prem.
Best for: Enterprises and security teams that need a powerful on-premise DAST solution with extensive configuration options. If you require fine-grained control over scans, need to test apps in a secure environment offline, or have compliance mandates, AppScan is a strong candidate.
Pricing model: Commercial (enterprise pricing). Typically, it’s licensed per user or per installation. HCL offers it as part of AppScan on Cloud subscriptions as well. Expect a higher price point fitting its enterprise feature set; training is recommended to get the most out of it.
Review context: AppScan’s longevity in the market (since IBM days) means it’s tried-and-tested. Users often praise its depth but note the UI and setup can be complex. If you invest time, it will reliably find vulnerabilities and produce the reports you need to satisfy auditors.
Micro Focus Fortify WebInspect

Micro Focus Fortify WebInspect (now under OpenText, which acquired Micro Focus) is an enterprise-grade DAST tool known for its use in deep security assessments and integration with the Fortify suite. WebInspect provides automated dynamic scanning for web applications and services, and it’s often used alongside Fortify’s static analysis (SAST) tools to cover both angles. This tool has a long history in AppSec and is favored by organizations that require on-premises scanning and integration with broader vulnerability management programs.
Key features:
- Thorough Automated Scanning: WebInspect conducts rigorous scans that can identify a wide range of vulnerabilities in web apps and APIs. It includes checks for OWASP Top 10, business logic flaws, and server configuration issues. The scanner uses a mix of signature and heuristic approaches to uncover known CVEs as well as zero-day issues (like unusual input handling edge cases).
- JavaScript and Client-side Analysis: In recent versions, Fortify WebInspect has improved at parsing and analyzing client-side code. It can execute JavaScript, handle AJAX-heavy applications, and even capture web socket communication during scans (as of the 2024 updates). This means SPAs and modern web frameworks can be audited more effectively.
- Enterprise Workflow Integration: WebInspect integrates with the Fortify ecosystem – for example, results can flow into Fortify Software Security Center (SSC) for central management, correlation with SAST results, and developer assignment. It also has APIs and support for automation, so it can plug into CI pipelines or security orchestration systems. Many large orgs use it in scheduled scan workflows for continuous monitoring.
- Authenticated and Stateful Scans: The tool supports a variety of authentication methods (including multi-factor techniques, login macros, and OAuth/token-based auth). It can maintain state during scanning, which is crucial for applications that require login and have complex user flows. WebInspect also allows macro recording to traverse specific sequences (like adding items to a cart, then checking out) ensuring those areas get tested.
- Reporting & Compliance: Fortify WebInspect provides detailed technical findings for developers and summary reports for management. It aligns findings with standards and includes compliance reporting. Because it’s often used in regulated industries, it offers reports to satisfy PCI DSS, DISA STIG, OWASP, and other guidelines out-of-the-box.
Best for: Large enterprises and government organizations with strict security requirements and existing Fortify deployments. WebInspect is powerful but geared toward security experts – it might be overkill for a small team. It excels when integrated into a mature AppSec program (especially if Fortify SAST is also in use, creating a comprehensive picture).
Pricing model: Commercial. Typically sold as part of the Fortify product suite (node-locked or concurrent licenses). Support contracts ensure you get regular updates to vulnerability signatures and product improvements.
Note: After OpenText’s acquisition, Fortify WebInspect is now under the OpenText Cybersecurity portfolio. It’s sometimes just referred to as “OpenText Dynamic Application Security Testing (DAST)”. The core product is the same, continuing the tradition of WebInspect. Users have noted that WebInspect can be resource-intensive and may require tuning to avoid overwhelming some apps, but it’s very effective at uncovering complex issues.
Nessus
Nessus by Tenable is one of the most widely recognized vulnerability scanners in the industry. While Nessus is often thought of as a network scanner, it also performs web application scanning (primarily checking for known web app vulnerabilities, misconfigurations, and common weaknesses). It’s not a full-blown web crawler like dedicated DAST tools, but it’s included here because many teams use Nessus to cover basic web app security in addition to network and system scans. Nessus provides broad coverage with a huge plugin database of vulnerability checks.
Key features:
- Massive Vulnerability Library: Nessus has over 99,000 CVEs in its coverage and 250,000+ plugin checks. For web apps, it can detect things like outdated CMS versions (WordPress, Joomla, etc.), known vulnerabilities in web frameworks, insecure configurations, and the presence of default files or backups. It’s excellent for catching low-hanging fruit and known issues.
- Web App Tests: Nessus includes web-specific tests such as SQL injection, XSS, local file inclusion, and directory traversal – but these are generally signature-based or simple fuzzes. It might, for example, try a few generic SQL injection payloads or test common admin URLs. It also checks for OWASP Top 10 in a generic way. However, it’s not as tailored to each application’s logic as a dedicated DAST tool.
- Ease of Use: Nessus is known for being user-friendly. You can scan an IP or URL with a few clicks or via the command line. Reporting is straightforward, and vulnerabilities are ranked by severity. For an IT generalist or DevOps engineer, Nessus provides a unified way to scan both servers and the web apps on them.
- Integration with Tenable Platform: Nessus can be used standalone (Nessus Professional) or as part of Tenable.io or Tenable.sc (Security Center) for enterprise management. When integrated, web app scan results become part of your overall vulnerability management dashboard, correlating with network vulns. Tenable.io Web App Scanning (separate product, see below) actually uses a different engine, but Nessus itself also has web plugins.
- Continuous Updates: Nessus receives plugin updates weekly (or faster for critical issues) from Tenable’s research team. This means it’s quick to get checks for the latest CVEs (e.g., if a new Apache Struts RCE comes out, Nessus often has a plugin to detect it within days). This rapid update cycle is a big advantage for keeping up with emerging threats.
Best for: Augmenting other tools to ensure comprehensive coverage. Nessus is a great “first pass” tool – it will find common weaknesses and known issues fast. Smaller organizations sometimes rely on Nessus alone for web app scanning, but its depth is limited compared to specialized DAST. It’s ideal to run Nessus alongside a web-focused scanner (like those above) to catch everything.
Pricing model: Nessus Essentials is a free version (limits to 16 IPs, good for small projects or learning). Nessus Professional is a paid annual subscription (around $2,790/year for unlimited IP scanning). Tenable.io (cloud) and Security Center (on-prem) include Nessus scanners as part of those platforms, licensed per asset. Nessus is cost-effective given it covers more than just web apps.
Review highlight: “Nessus has one of the largest libraries of vulnerability and configuration checks, covering a wide range of systems, devices, and applications. While Nessus is known for its comprehensive vulnerability scanning capabilities, it can sometimes produce false positives...”. (In practice, false positives are usually low if Nessus is configured properly, but as the quote notes, you may need to manually verify some findings.)
Netsparker (Invicti)

Netsparker (now known as Invicti) is a leading automated web application security scanner for enterprise environments. Netsparker was rebranded to Invicti in recent years after Invicti Security unified the Netsparker and Acunetix products under one roof. Invicti (Netsparker) is renowned for its accuracy – particularly its use of Proof-Based Scanning to virtually eliminate false positives by actually confirming vulnerabilities. It’s a full-featured DAST that also brings in some interactive testing elements for deeper analysis.
Key features:
- Proof-Based Scanning: Invicti automatically attempts to confirm vulnerabilities by exploiting them in a safe manner. For example, if it finds an SQL injection, it will perform a benign payload that extracts a sample of data to prove the issue. This yields a claimed 99.98% scan accuracy, so you can trust the results and spend less time manually verifying findings.
- Broad Technology Support: Invicti can scan traditional web apps, SPAs with heavy JavaScript, and all kinds of APIs (REST, SOAP, GraphQL, gRPC). It effectively handles modern frameworks and includes support for scanning enterprise technologies (it can navigate through custom authentication, handle OAuth tokens, etc.). It also has the ability to test JSON request bodies and SOAP envelopes for injection flaws.
- IAST Hybrid Capabilities: Invicti combines DAST with some IAST (Interactive Application Security Testing) via its Agent technology. If you can deploy a lightweight agent alongside your app, the scanner can instrument the app during runtime to get extra insight (like confirming the exact line of code for a vulnerability). This hybrid approach can increase coverage and detail without requiring full source code access.
- CI/CD and Integration: Built with automation in mind, Invicti provides robust integration options – plugins for CI pipelines (Jenkins, Azure DevOps, GitLab CI, etc.), integration with project management and ticketing (Jira, Azure Boards), and even linking with WAFs for instant virtual patching. This makes it suitable for DevSecOps workflows where continuous scanning is needed.
- Scalability & Management: The platform can scale to scan thousands of applications with scheduling, prioritization, and role-based access control for team collaboration. Invicti also offers a multi-tenant dashboard and asset discovery features (it can discover new web apps in your environment to ensure they get scanned). It’s often used as the backbone for enterprise vulnerability management of web apps.
Best for: Mid to large enterprises that need a highly accurate, scalable DAST solution. Security teams who are frustrated with false positives or need to convince developers to fix issues find the validated results very useful (“the scanner proved this is real”). Invicti (Netsparker) is also a top choice for organizations with hundreds of web assets to scan routinely.
Pricing model: Commercial – typically annual subscription per website or application scanned (unlimited scan usage). It’s on the higher end of the price spectrum, reflecting its enterprise focus. A demo or trial can be requested to evaluate it on your apps.
Review highlight: “Invicti, which is Netsparker, provided me with a major vulnerability database to find remote execution vulnerabilities, domain invalidation, and many vulnerability patches... Recurrent scanning allows me to fetch files at an integrity level.” (G2 review). In plain terms: users appreciate the depth of vulnerability coverage and the ability to schedule repeat scans to catch regressions. Some note that Invicti’s breadth of tests (1400+ unique tests) is huge, though certain advanced features might require fine-tuning.
Nikto
Nikto is a classic open-source web server scanner. It’s a simple yet effective tool that performs comprehensive checks for thousands of potential issues on web servers. Nikto is a Perl-based, command-line tool maintained by CIRT.net, and it’s been a staple in the security toolbox for years. While Nikto lacks the polished interface or the complex logic of modern scanners, it’s very useful for quickly identifying known vulnerabilities and insecure configurations.
Key features:
- Large Database of Checks: Nikto can test for over 7,000 potentially dangerous files/CGIs and configurations on a web server. This includes checks for default files (like admin pages, install scripts), sample applications, configuration backups (
*.old
,*.bak
files), and other artifacts that attackers commonly look for. It also detects outdated versions of over 1,250 servers and software components, along with version-specific issues for 270+ server products. - Server Configuration Checks: Nikto doesn’t just look for web app vulns; it examines server info. For example, it will report if directory indexing is enabled, if HTTP methods like PUT or DELETE are allowed (which might allow file upload hacking), or if certain unsafe HTTP headers are present/missing. It’s a great quick audit of web server hardening.
- Fast and No-Frills: Nikto is not stealthy – it’s designed to run as fast as possible and will be noisy in logs. This is fine for authorized scanning. It’s command-line driven, so you can feed it a list of hosts or use it in scripts easily. Running
nikto -h <hostname>
will output a list of identified issues in plain text. - Output Options: It can save results in multiple formats (plain text, XML, HTML, NBE, CSV, JSON) which is useful if you want to feed the output into other tools or reporting systems. Many people use Nikto as part of a larger toolkit, parsing its results to flag certain findings.
- Extensibility: Although not as modular as some, you can customize Nikto’s behavior. It supports plugins (its check database is essentially a set of plugins). You can update its signatures, and it’s frequently updated by the community with new checks. Also, it supports LibWhisker’s anti-IDS techniques if you attempt stealth (though by default it’s loud).
Best for: Quick scans to find known issues and as a complement to deeper scanners. Nikto is beloved by many penetration testers for an initial reconnaissance of a target web server. If you’re a developer or sysadmin, you can run Nikto against your site to catch obvious problems (and it’s often eye-opening). However, it won’t find complex logic flaws or anything that requires crawling JavaScript – it’s not that kind of tool. Think of Nikto as an automated checklist for common web misconfigurations and vulnerabilities.
Pricing model: Free, open-source (GPL). It’s included in security distributions like Kali Linux and can be used without any platform constraints (Perl script). Support is community-based (forums, GitHub).
Pro tip: Because Nikto is passive in terms of logic (no login, no heavy crawling), it’s very fast. You might integrate Nikto into a CI pipeline for a quick sweep of every build (to ensure, say, no debug endpoints accidentally got deployed). While it may report some “info” level findings that aren’t true vulns, it provides peace of mind that you haven’t left something obvious out there.
OWASP ZAP
OWASP ZAP (Zed Attack Proxy) is a free and open-source DAST tool maintained under the OWASP project. It’s one of the most popular DAST tools due to its cost (free), open community, and rich functionality. ZAP is both a proxy for manual testing and an automated scanner. It’s often considered the open-source alternative to Burp Suite for those on a budget, and it’s a fantastic option for developers and small companies to start security testing without procurement hurdles.
Key features:
- Active and Passive Scanning: ZAP performs passive scanning by observing traffic that passes through it (via its proxy or spider) and flagging issues, and active scanning where it actively injects attacks once it discovers pages. Passive mode is great for a gentle start (it won’t modify anything, just watch for things like information leakage or security headers), whereas active scan will find the real bugs (SQLi, XSS, etc.) by attacking the app.
- Proxy and Manual Testing Tools: Like Burp, ZAP can function as an intercepting proxy. It also has a bunch of tools: an HTTP intercepting proxy, a spider to crawl content, a fuzzer for attacking inputs, and a scripting console (with support for writing scripts in Python, Ruby, etc. to extend ZAP). The Heads-Up Display (HUD) mode even lets you overlay scanning info on top of your browser as you navigate – very useful for developers learning security.
- Automation & API: ZAP was built with automation in mind for QA integration. It has a powerful API (REST and a Java API) that allows you to control all aspects of ZAP. Many teams use the ZAP API in CI pipelines – for example, starting ZAP in daemon mode, spidering a target, running active scan, then pulling the results – all automated. There are even ready-made GitHub actions and Jenkins plugins for ZAP. This makes it a good fit for DevSecOps on a shoestring budget.
- Extensibility via Add-ons: ZAP has an add-on marketplace (the ZAP Marketplace) where you can install official and community add-ons. These include specialized scan rules (for JSON, XML, SOAP, WebSockets, etc.), integrations, or convenience features. The community constantly updates scan rules, including alpha/beta rules for emerging vulnerability types. This keeps ZAP’s scanning capabilities evolving.
- Community and Support: Being OWASP, it has a strong user community. Plenty of documentation, free training videos, and active forums exist. While you don’t get commercial support (unless using third-party consultants), the knowledge out there often rivals vendor support. ZAP is also updated regularly by its project leads and contributors.
Best for: Development teams, budget-conscious organizations, and as a learning tool. OWASP ZAP is ideal for developers to get into security testing (“shift-left”). It’s also used by professionals in conjunction with Burp for additional perspective. If you’re a startup, ZAP gives you a DAST capability with zero licensing cost, which is a huge advantage.
Review highlight: “The OWASP tool is free of cost, which gives it a great advantage, especially for smaller companies to make use of the tool.” peerspot.com. This sentiment is common – ZAP lowers the barrier to entry for web security. It may not have out-of-the-box premium features like some commercial scanners, but for many use cases, it gets the job done effectively.
Qualys Web Application Scanner (WAS)

Qualys Web Application Scanning (WAS) is a cloud-based DAST offering from Qualys, integrated into their QualysGuard Security and Compliance Suite. Qualys WAS leverages the Qualys cloud platform to provide an on-demand scanning service for web apps and APIs. It’s particularly attractive to companies already using Qualys for network vulnerability scanning or compliance, as it extends that single-pane-of-glass to web applications. Qualys WAS is known for its scalability (scanning thousands of sites) and its ease of use via a SaaS model.
Key features:
- Cloud-Based & Scalable: Qualys WAS is delivered as a service – you run scans from the Qualys Cloud against your targets (with the option of using distributed scanning appliances for internal apps). This means no maintenance overhead for the tool itself and the ability to run many scans in parallel. The platform has discovered and scanned over 370k web apps & APIs, showing its widespread usage.
- Broad Vulnerability Coverage: It detects vulnerabilities including OWASP Top 10 (SQLi, XSS, CSRF, etc.), misconfigurations, sensitive data exposure (e.g., credit card numbers in pages), and even malware infection on websites. It also checks for things like inadvertent exposure of PII or secrets in web pages. Qualys uses some AI/ML (machine learning) in its scanning to improve detection of complex issues and reduce false positives (according to their marketing).
- API Security Testing: Qualys WAS covers the OWASP API Top 10 as well. It can import OpenAPI/Swagger files or Postman collections and test REST APIs thoroughly. It monitors for “drift” from API specs – meaning if your implementation doesn’t match the Swagger file (which could indicate undocumented endpoints), Qualys can flag it. This is great for managing API security.
- Integration & DevOps: Qualys provides an extensive API for all its products, including WAS. You can automate scans, pull reports, and even integrate results into defect trackers. They also have a Chrome plug-in (Qualys Browser Recorder) to record authentication sequences or user workflows which can be uploaded to Qualys WAS for scanning those parts of an app that require login. Furthermore, Qualys WAS results can feed into their WAF (if you use Qualys WAF) for quick virtual patching.
- Compliance and Reporting: Since Qualys is big on compliance, WAS is able to generate needed reports to meet PCI DSS 6.6 (web app vuln scanning requirement) and other policies. All findings are consolidated in the Qualys interface, which can be shared with other modules like their vulnerability management or risk management tools. This unified reporting is a plus for management.
Best for: Enterprises using a cloud-based security platform and wanting to consolidate scanning. If you already use Qualys for other security scanning, adding WAS is a no-brainer to cover web apps. It’s also a good fit if you want a fully managed solution (SaaS) and don’t want to run scanners on-premises. Because Qualys handles updates, you’ll always have the latest scanning improvements without lifting a finger.
Pricing model: Qualys WAS is subscription-based, typically licensed per web application (with tiers based on number of apps or IPs scanned). Qualys often sells in bundles (e.g., a package including vulnerability management + WAS). There’s a free trial available, and Qualys tends to be enterprise-oriented in pricing (not the cheapest, but you get a robust platform).
Industry note: Qualys WAS was a leader in the 2023 GigaOm Radar for Application Security Testing. Users cite its cloud convenience and the benefit of continuous monitoring. On the flip side, some find the UI a bit dated and initial setup (like authentication scripts) to have a learning curve. Still, it’s a very solid choice with Qualys’ backing.
Rapid7 InsightAppSec

Rapid7 InsightAppSec is a cloud-powered DAST solution that is part of Rapid7’s Insight platform. InsightAppSec focuses on ease of use and integration, making dynamic testing accessible to both security teams and developers. It leverages the expertise Rapid7 has (from products like Metasploit and their vulnerability management tools) to provide a scanner that can handle modern web apps, including single-page applications and APIs. As a cloud service, it eliminates the need to manage scanner infrastructure.
Key features:
- Modern Web App Coverage: InsightAppSec can test traditional web apps as well as SPAs built on frameworks like React or Angular. It has the ability to execute JavaScript and crawl dynamically generated content. It also handles HTML5 and newer web patterns. Rapid7 emphasizes that it can secure everything from legacy HTML forms to modern client-side apps.
- 95+ Attack Types: The scanner includes over 95 attack types in its repertoire, covering common and complex vectors. This includes the usual suspects (SQLi, XSS) and also things like CRLF injection, SSRF, and other less common web flaws. It prioritizes findings based on risk to help you focus on what matters.
- Simplified UX: InsightAppSec is designed with a friendly UI. Setting up a scan is straightforward – provide a URL, optional login info, and go. The interface guides less experienced users through configuration. Once scans are done, the findings are explained with remediation advice and developer-friendly insights. It also has features like attack replay (to verify a finding by replaying the specific request that exposed it).
- Parallel Scanning & No Downtime: Because it’s cloud-based, you can run multiple scans simultaneously without worrying about local resources. This is great for scanning multiple apps or multi-tasking (Rapid7 notes you can scan many targets with no downtime on their side). This scalability is useful for agencies or large orgs scanning many web apps.
- Integration & Ecosystem: InsightAppSec integrates with the broader Rapid7 Insight platform. For example, you can send vulnerabilities to InsightVM (their vuln management) or generate tickets in Jira. It also can integrate into CI pipelines and has an API for automation. Furthermore, if you use Rapid7 InsightConnect (SOAR), you can automate DAST actions (like trigger a scan when a new app is deployed, etc.).
Best for: Organizations that want a cloud-based DAST with an intuitive interface and strong integration capabilities. If you’re already a Rapid7 customer (using InsightIDR, InsightVM, etc.), adding InsightAppSec will feel natural and data can flow between the products. It’s also a good pick for teams that might not have a dedicated AppSec expert – the user-friendly approach lowers the skill barrier to run scans.
Pricing model: Commercial SaaS. Rapid7 usually licenses InsightAppSec per application or targets, often in packs. They often bundle it with their other products for a more holistic security solution. A free trial is available, and they offer guided demos. In reviews, some SMBs mention the pricing is reasonable for the value, whereas very large usage can get pricier (typical for SaaS when scaling to hundreds of apps).
Review highlight: “We’ve used Rapid7 for our vulnerability testing and... They have proved invaluable in providing a complete and effective solution.”. Users often laud Rapid7’s support and the platform’s overall polish. One potential con mentioned is that sometimes fixing bugs in the product can be slow, but new features and improvements do roll out regularly.
Tenable.io Web App Scanning

Tenable.io Web App Scanning is Tenable’s dedicated DAST offering within its Tenable.io cloud platform. While Nessus (covered earlier) can do some web scanning, Tenable.io WAS is a purpose-built solution to dynamically test web applications, and it benefits from a more modern engine and interface. Tenable positions it as an easy-to-use yet comprehensive scanner, often appealing to customers already using Tenable.io for vulnerability management.
Key features:
- Unified Platform: Tenable.io WAS lives alongside Tenable’s other services (like Tenable.io Vulnerability Management, Container Security, etc.) so all results are accessible in one dashboard. For security teams, this “single pane of glass” for infrastructure and web vulnerabilities is convenient. You can see your web app vulns in context with network vulns, track asset risk scores, and manage it all together.
- Ease of Deployment: As a SaaS product, you can start a scan with a few clicks. Tenable.io WAS can scan external web apps out-of-the-box. For internal apps, you can deploy a Tenable scanner appliance that will conduct the scan and report back to the cloud. The setup is straightforward, and Tenable provides templates for quick scans vs. deep scans.
- Automated Crawl & Audit: The scanner automatically crawls the application to build a site map and then audits each page/form it finds. It tests common injection points and vulnerabilities. Tenable has been improving the scan engine to handle modern web apps (like processing JS). While not as hyped in marketing as some competitors, in practice it does cover most standard vulns and has specific checks for things like DOM XSS and JSON-based attacks.
- Fast Results & Incremental Scans: Tenable.io WAS emphasizes quick value – it can deliver actionable results in minutes for common issues. It’s also designed for continuous scanning – you can schedule scans weekly or monthly, and it supports incremental scanning (only testing new or changed content) to reduce scan time on subsequent runs. This is useful for agile development environments with frequent releases.
- Integration and DevOps: Tenable.io has an API, so you can trigger web app scans programmatically or integrate with CI/CD. There are also integrations to push findings into ticketing systems. If using Infrastructure as Code, you could even spin up a test environment, scan it with Tenable.io WAS via API, and then destroy it – fully automated security gate in CI pipelines (some advanced users do this).
- Complementary to Nessus: Tenable often suggests using Nessus and WAS together – Nessus for network and basic web checks, and WAS for deeper web app testing. If you already manage Nessus scans in Tenable.io, adding WAS is seamless. The dashboards can show combined risk scores, etc. Tenable’s analytics (with Tenable Lumin) can then prioritize issues across all asset types consistently.
Best for: Those who want DAST in a broader vulnerability management context. If your AppSec and NetSec vulnerability management are handled by one team, Tenable.io WAS allows them to use one toolset. It’s also a fit for teams that want a relatively hands-off DAST solution – you don’t need to be a web security guru to run it, it’s quite automated. However, extremely complex apps might need tuning and in such cases some other tools could offer more manual control.
Pricing model: Tenable.io WAS is subscription-based, often per application or URL. Tenable might bundle it with their Tenable.io platform license. For instance, you might get a certain number of WAS targets included if you’re already a Tenable.io customer. It’s generally priced competitively with other enterprise DAST SaaS solutions.
Note: Tenable has been investing in WAS to keep up with competitors; in 2024 they added support for things like recording login sequences more easily and improved scanning of single-page apps. Users comment that it’s “simple, scalable, and automated” – aligning with Tenable’s messaging of providing comprehensive DAST without much hassle. It’s a good “all-rounder” tool.
Wapiti

Wapiti is a free and open-source web vulnerability scanner written in Python. The name Wapiti comes from a Native American word for elk – fitting, as it’s agile and powerful in its domain. Wapiti works as a “black-box” scanner: it doesn’t need source code; it just fuzzes your web application through HTTP requests, much like a typical DAST. It’s a command-line tool that is especially popular among open-source enthusiasts and is known for being actively maintained (with recent updates adding new vulnerability modules).
Key features:
- Black-Box Fuzzing Approach: Wapiti crawls the target web application to find URLs, forms, and inputs, then launches attacks by injecting payloads to test for vulnerabilities. It covers a wide array of injection flaws: SQL injection (error, boolean, time-based), XPath injection, cross-site scripting (reflected and stored), file inclusion (local and remote), OS command injection, XML External Entity (XXE) attacks, and more. Essentially, if there’s an input field, Wapiti will try to break it.
- Modules for Various Vulnerabilities: As listed on its site, Wapiti’s modules handle everything from classic web vulns to checks like CRLF injection, open redirects, SSRF via external service (it can test if SSRF is possible by using an external Wapiti website as a catcher), detection of HTTP PUT (to see if WebDAV is enabled), and even checks for vulnerabilities like Shellshock in CGI scripts. This breadth is impressive for a free tool.
- Authentication and Scoping: Wapiti supports authenticated scanning via several methods: Basic, Digest, NTLM, and form-based auth (you can provide it credentials or a cookie). It also allows restricting scope — for example, you can tell it to stay within a certain domain or folder, which is useful to avoid attacking third-party links or subdomains you don’t own. You can also exclude specific URLs if needed.
- Report Generation: It outputs results in multiple formats (HTML, XML, JSON, TXT, etc.). The HTML report is handy for a quick look, while JSON is useful if you want to programmatically analyze or merge results. The reports list each vulnerability found with details like the HTTP request that was used to exploit it, which is great for developers to reproduce and fix.
- Ease of Use and Maintenance: Wapiti is easy to install (available via pip) and run (
wapiti -u <url>
starts a scan). It’s quite fast and you can adjust the number of concurrent requests. Importantly, Wapiti is actively maintained – the latest release (as of mid-2024) added new features and vulnerabilities. The project maintainers keep it up-to-date as new exploits (like recent CVEs) arise, which addresses a common issue where open-source scanners fall behind. It being Python means it’s also easy to tweak if you’re so inclined.
Best for: Developers and pentesters who prefer open-source tools and command-line control. Wapiti is a solid choice to integrate into scripts or CI pipelines for an open-source security stack. It may require a bit more hands-on effort (no GUI, manual installation), but the payoff is no licensing cost and full transparency into what it’s doing. It’s also lightweight, so you can run it in a Docker container or CI job without heavy resource needs.
Pricing model: Free (GPL v2). The only cost is your time to learn and possibly contribute updates.
Community love: Wapiti might not be as famous as ZAP, but users who discover it often praise its effectiveness. It’s like a hidden gem for automated fuzzing of web apps. Because it doesn’t come with a GUI, it’s less intimidating to integrate for those comfortable with CLI. Also, its updates (like adding Log4Shell detection in late 2021) show that it adapts to significant security events. If you’re assembling an open-source AppSec toolkit, Wapiti + ZAP together cover a lot of ground.
w3af
w3af (Web Application Attack and Audit Framework) is a comprehensive open-source framework for finding and exploiting web application vulnerabilities. Often dubbed the “Metasploit for web apps,” w3af provides both vulnerability scanning and exploitation capabilities in one package. It’s written in Python and has both console and graphical interfaces. While it’s an older project, it’s still one of the most full-featured open-source web security tools available.
Key features:
- Extensive Plugin System: w3af operates with a plugin-based architecture. It has dozens of audit plugins that test for specific vulnerabilities (SQLi, XSS, CSRF, buffer overflows, etc.), crawl plugins to discover pages (including one that parses JavaScript to find URLs), and attack plugins for attempting to exploit found issues. You can fine-tune exactly which plugins to run or just use a profile that enables a set of them. This modularity means w3af can be configured for fast scans, full audits, or exploit-driven engagements.
- Scanning and Exploitation: Not only will w3af find vulnerabilities, but it also has an exploitation component. For example, if it finds SQL injection, it has tools to leverage that (like extracting data, much like sqlmap would). If it finds file inclusion, it can try to get a remote shell. This makes it useful for security researchers who want to go beyond just detection and actually demonstrate impact.
- GUI and Console Interface: There’s a GTK-based GUI (though it’s a bit dated in look) that provides a more user-friendly way to configure scans and view results. The console is quite powerful and allows scripting actions in a pseudo-shell environment (you can use commands to set targets, plugins, etc., similar to Metasploit’s console). This caters to both newcomers and advanced users.
- Combination of Static and Dynamic Analysis: w3af can actually perform some static analysis of code if given direct access (through its code audit plugins), but primarily it’s dynamic. It also has grepping plugins that inspect raw HTTP responses for things like credit card numbers, social security numbers, error messages – yielding info that might not be a vulnerability by itself but is security-relevant. This holistic approach sets it apart from scanners that only focus on direct vulnerabilities.
- Open-Source and Extensible: The project is open-source under GPL. Although the pace of updates has slowed, the existing knowledge in its plugins is considerable. Because it’s Python, users can modify plugins or write new ones to extend its capabilities. There’s also a rich documentation (the w3af docs site) and even an API to control it, although most will use the CLI or GUI.
Best for: Security professionals and hobbyists who want a free toolkit that bridges scanning and exploitation. It’s particularly useful in penetration testing scenarios – you can scan with w3af to find issues and then seamlessly exploit them to confirm impact. For a pure development team looking for a quick scan, w3af might feel a bit heavy or complex compared to ZAP or Wapiti. But for those willing to invest time, it can be very rewarding. Pricing model: Free, open-source. No commercial version.
Cautionary note: w3af, being powerful, can be potentially dangerous – for instance, its exploit plugins could alter data. It’s best used against test/staging environments or with explicit permission on production (and with careful plugin selection). The project’s lead developer Andres Riancho moved on to other ventures years ago (he’s known for contributing to many security tools), but w3af remains a go-to in many hacker toolkits. It might require some troubleshooting to get running on modern OSes (dependency hell sometimes), but once it’s up, you’ve got a Swiss Army knife for web app security.
Having covered the top tools individually, let's now break down recommendations by specific use cases. Different teams have different needs – a developer might prioritize ease of integration, while an enterprise CISO might value scalability and support. The sections below provide tailored picks for various scenarios.
Best DAST Tools for Developers
Audience: Developers and DevOps engineers who want to catch security bugs early and integrate testing into their workflow. These users value tools that are easy to use, don’t overwhelm with false positives, and integrate with development environments (IDEs, CI/CD, etc.). Often, they may not have deep AppSec expertise, so the tool should provide guidance and automation.
When choosing a DAST tool as a developer, consider:
- Integration with CI/CD and IDEs: Does the tool plug into your build pipeline or provide an IDE plugin? Automated security tests in CI help catch issues before merge. Some platforms (like Aikido’s CI/CD security) make this seamless.
- Low False Positives & Noise: Developers don’t have time to chase ghosts. Tools that validate findings (e.g. Invicti) or have high accuracy are preferred so that when a bug is flagged, it’s worth fixing.
- Actionable Output: Look for scanners that offer clear remediation advice or even code examples to fix the issue. Better yet, some dev-focused tools provide automated fixes or pull requests (Aikido’s AI Autofix, for example, can generate patches for certain issues).
- Speed and On-Demand Scans: In a dev environment, faster scans enable quick feedback. Tools that can scan incremental changes or specific URLs (instead of the whole app every time) help integrate into the iterative dev cycle.
- Cost (for individuals or small teams): Free or affordable options are attractive, especially in organizations without a dedicated security budget. Open-source tools or services with free tiers fit well here.
Top Tools for Developers:
- Aikido Security – Dev-Friendly All-in-One: Aikido is built with developers in mind. It integrates into code workflows (PR checks, pipeline fails on high vulnerabilities) so devs get immediate feedback. The platform’s “Start for Free” model and ease of setup (running in the cloud, no infra to manage) means a developer can add DAST to their project in minutes. It also consolidates findings with SAST, so you see everything in one place, reducing context-switching. For a developer, having a single dashboard to view and fix security issues is a huge time-saver. Plus, the auto-fix suggestions mean even those less familiar with security can confidently address the problems.
- OWASP ZAP – Open Source and Scriptable: ZAP is a great choice for developers because it’s free and highly flexible. You can run it in a daemon mode in CI, use the ZAP API to automate scans, or even use the ZAP HUD to interactively test your app during development. Many dev teams set up nightly ZAP scans of their dev environment and push the results into Slack or Jira for developers to tackle the next morning. The learning curve is moderate, but OWASP provides plenty of how-tos. And since it’s free, it’s easy to experiment with. ZAP’s community also means if you’re stuck, help is likely a Google search away.
- Burp Suite (Community/Pro) – Manual Testing Adjunct: For pure automation, Burp isn’t the first pick for devs, but the free Community Edition is a handy tool to have running while developing. Developers can proxy their local app traffic through Burp to see what's going on under the hood. Burp’s scanner in the Pro version can be used on-demand to double-check specific areas of an app (like “I’ve built a new OAuth login, let me scan just that part”). It’s also educational – using Burp teaches a developer a lot about web security. If budget allows, Burp Pro’s automated scan can be integrated into CI using their CLI, giving devs a powerful security gate.
- StackHawk – CI/CD Integrated DAST: (Honorable mention) StackHawk is a newer DAST tool specifically targeting developers and DevOps. It’s built on the ZAP engine but packaged in a way that’s pipeline-ready. You define test configs in a YAML file, and it runs headless in CI. While StackHawk is not in our main list above, it’s worth a mention for dev use-cases because of its tight focus on being “CI-friendly”. It also has a free tier for a single application, which is great for individual projects or open-source apps.
- Wapiti – Quick CLI checks: For developers who love command-line tools and maybe want to include a quick security check in their build, Wapiti is a good fit. You can run
wapiti
as part of your test suite (perhaps against a local test instance of the app). It’s not going to catch everything, but it’s fast and will flag obvious problems. Think of it as a linting tool for security in your CI: lightweight and no GUI needed.
Why these: These tools emphasize easy integration, immediacy of results, and affordability. They allow developers to “shift left” on security – identifying and fixing vulnerabilities during development, long before the code hits production. Using them, developers can iteratively improve security just as they do code quality with unit tests. The learning gained from interacting with these tools (especially interactive ones like ZAP or Burp) also upskills developers in security mindset, which is a hidden but valuable benefit.
The table below compares DAST tools best suited for developers who need fast feedback, easy CI/CD integration, and low-noise reports.
Best DAST Tools for Enterprise
Audience: Enterprises with large web application portfolios and dedicated security teams. They often require tools that can scale to hundreds of apps, provide role-based access, compliance reporting, and integration into enterprise workflows (ticketing systems, governance, etc.). Support and reliability are key, and budget is available for robust solutions.
Considerations for enterprise DAST tools:
- Scalability & Management: The tool should handle scanning many applications (possibly concurrently), with central management of scan schedules, results, and user permissions. Enterprise consoles or multi-user environments are important (e.g., HCL AppScan Enterprise or Invicti platform).
- Enterprise Integrations: Integration with systems like SIEMs, GRC platforms, defect trackers (Jira, ServiceNow), and identity management (SSO support) is often needed. Also, API access for custom integration into the enterprise’s DevSecOps toolchain.
- Compliance and Reporting: Enterprises often need to generate compliance documentation. Tools that can produce detailed reports for PCI, SOC2, ISO27001, etc., and track policy compliance over time add a lot of value. The ability to tag assets (by business unit, risk level, etc.) and get analytics (trends, SLAs on vuln remediation) is useful for management.
- Support and Training: Having a vendor that offers strong support (dedicated support engineers, professional services) and training is a factor. Enterprise tools come with SLAs for support issues. For open source tools, this is a gap – which is why large enterprises lean towards commercial options despite cost.
- Comprehensive Coverage: Enterprises can’t afford to miss things. The tool should ideally cover not just standard web vulns but also things like business logic testing, or provide ways to extend tests. Some enterprises use multiple DAST tools to cover gaps – but a single robust tool is preferred for efficiency.
Top Tools for Enterprise:
- Invicti (Netsparker) – Accuracy and Scale: Invicti’s platform is tailor-made for enterprise use. It offers multi-user support, asset tagging, and risk scoring across thousands of scans. Enterprises love the proof-based scanning that drastically reduces false positives – this improves the signal-to-noise when you have a massive number of findings. Invicti can also integrate with enterprise ticketing (assigning found issues to the right development team automatically via Jira integration, for example). Its dashboard provides an overview of the security posture of all applications, which management can use for metrics. For an enterprise, the upfront cost pays off in having a mature, low-noise solution that can be a backbone of their AppSec program.
- HCL AppScan (Standard/Enterprise) – Enterprise Legacy Power: Many large organizations (banks, insurance, government) have used AppScan for years (from IBM to HCL). AppScan Enterprise allows a centralized management server where multiple AppScan Standard scans can be orchestrated, and results aggregated. It supports role-based access, so development teams can log in and see findings for their apps only, while security teams get a bird’s-eye view. The compliance reporting is a big plus. Also, for enterprises concerned with data security, AppScan can be run entirely on-premises (no cloud dependency), which is sometimes non-negotiable in sectors like defense or healthcare.
- Micro Focus Fortify WebInspect – Deep Integration with SDLC: Enterprises already invested in Fortify’s ecosystem (for SAST, etc.) will find WebInspect fits naturally. WebInspect’s scans can publish into Fortify SSC, which acts as a centralized repository of both static and dynamic findings. This allows cross-correlation and unified tracking of remediation efforts. Fortify also offers additional products like Fortify Application Defender (RASP) which can use the results from WebInspect to instrument and protect apps at runtime – a synergy valued by enterprises layering their defenses. Also, the vendor (now OpenText) offers professional services and certified training for WebInspect, important for ramping up large teams.
- Qualys WAS – Cloud Scale and Asset Discovery: Large enterprises with distributed infrastructure appreciate Qualys for its cloud-based ease and its asset discovery capabilities. Qualys WAS can continuously discover new web apps in an environment (using things like network scans, domain name enumeration, etc.), which is great for enterprises that might not even have a full inventory of their web assets (a common issue). It then allows you to quickly onboard those discovered apps into scanning. Qualys’ scalability is proven – some enterprises run tens of thousands of scans a year on their platform. The multi-tenant aspect also works for enterprise setups (e.g., separate business units can have separated views).
- Tenable.io WAS – Unified Risk Management: For enterprises that want to unify app and network risk, Tenable.io’s integration of WAS with vulnerability management is appealing. CISOs can get a single risk score for an application that considers both its web vulns (from WAS) and server infra vulns (from Nessus). The platform approach also simplifies user management and reporting. Tenable’s enterprise support is strong, and they often help big clients with onboarding and tuning scans to minimize performance hits (important when scanning critical production apps in enterprise).
- Aikido Security – Enterprise DevSecOps Platform: While Aikido is relatively new compared to some legacy players, it offers an interesting value prop for enterprises looking to modernize AppSec. Because it combines multiple tools (SAST, DAST, Cloud config, etc.), it can reduce tool sprawl in an enterprise. The platform is cloud-based but offers on-prem options (for compliance). Enterprises get features like SSO integration, team management, and the ability to handle thousands of projects. One advantage is that developers actually enjoy using it (per the dev-focused design), which can increase adoption in enterprise settings where getting dev buy-in is half the battle. Aikido can be a good fit for enterprises embracing DevSecOps across large teams, ensuring security is integrated into every stage (code, build, deploy, monitor) in a unified way.
Why these: They meet enterprise requirements of scale, support, and integration. In large organizations, a DAST tool that can scan 500 apps and then generate an executive report showing “we reduced OWASP Top 10 vuln count by 20% this quarter” is gold. Tools like Invicti, Qualys, etc., provide those kinds of metrics and roll-ups. Also, enterprises often need to scan internal apps behind firewalls – tools with on-premise scanning engines (like Qualys scanners or on-site WebInspect installations) are necessary, which all above options provide.
Best DAST Tools for Startups
Audience: Startups and small companies often have limited security budget and personnel. They need cost-effective, easy-to-use tools that provide value quickly. Often, the focus is on achieving a baseline of security to satisfy customer or investor concerns (and maybe meet compliance if they deal with sensitive data), without derailing the rapid development pace.
Key needs for startups in a DAST tool:
- Affordability: Free or low-cost solutions, or tools with free tiers that cover small apps, are ideal. Startups might also consider open-source to avoid recurring costs.
- Simplicity: There may be no dedicated security engineer, so developers or DevOps will run the scans. The tool must be easy to set up (SaaS preferred to avoid infrastructure) and easy to interpret.
- Quick Wins: Startups benefit from tools that find the most critical issues quickly (e.g., common misconfigurations, glaring vulns) – essentially a sanity check. They might not need the most exhaustive scanner; something to catch the high-risk items is often enough early on.
- Integration with Dev Workflow: Startups often have modern, agile development. Tools that integrate with GitHub Actions or similar can help automate security without heavy process.
- Scalability (future-proofing): While not a top requirement, a tool that can grow with them (more apps, more scans) is a bonus, so they don’t have to switch tools as they scale. But early on, cost might override this.
Top Tools for Startups:
- OWASP ZAP – Free and Reliable: For a cash-strapped startup, it’s hard to beat free. ZAP can be the initial go-to scanner to run against your web app. Many startups use ZAP in a semi-automated fashion: e.g., as part of their nightly builds or just as a monthly check by a developer. The fact that it’s open-source also means if they do grow, their security team can deeply customize it. The learning investment in ZAP continues to pay off. Pros: no direct cost, large community, good effectiveness for common vulns. Cons: requires some hands-on effort and learning.
- Aikido Security – Free Tier & All-in-One: Aikido offers a free forever plan which is extremely attractive to startups. With it, a startup can get not only DAST but also SAST and other scanners in one platform – that’s a lot of value at no cost, up to a certain usage. For a young company, using Aikido means they don’t have to juggle multiple tools; they get an immediate security boost across their stack. Also, Aikido’s emphasis on automation and ease means even without a security specialist, the startup’s developers can manage it. As the startup grows, they can seamlessly upgrade within Aikido’s plans, which is nice future-proofing.
- Acunetix (by Invicti) – SMB-Friendly Option: Acunetix is commercial, but it’s specifically marketed for smaller organizations and is priced lower than enterprise tools. A startup that has a bit of budget and perhaps a compliance requirement might opt for Acunetix because it’s straightforward and supported. It can be installed locally or run from their cloud, and it will quickly scan the app and produce a polished report (useful if the startup needs to show a report to an enterprise client as part of due diligence). It’s basically a “DAST appliance” that just works. Some startups use a single Acunetix license in their dev team and run scans occasionally to ensure no obvious holes.
- Nessus Essentials – Free Vulnerability Scanner: A startup can leverage Nessus Essentials (free for 16 targets) to scan their web app host. While Nessus isn’t a focused web app tester, it will catch web server config issues (SSL problems, outdated software) and some common web vulns. It’s not comprehensive for the app itself, but as a quick check, it’s valuable. And if the startup’s product includes network services too, Nessus covers those. Essentially, it’s a nice “broad sweep” tool for overall security hygiene. Many startups use Nessus because the free version is sufficient for one web app and a few servers.
- Burp Suite Community – Learning and Manual Poking: If the founding team is technically inclined, having Burp Community on hand to manually poke at their app can be very educational. It’s free, and while the scanner is disabled in the community edition, you can still intercept traffic and use intruder to test some forms. Some startup developers use Burp to test critical functionalities (like login, payment forms) manually. This isn’t automated or scalable, but for a small app, a couple of hours with Burp could uncover serious mistakes (like improper authentication checks). It’s cost-effective in that it’s free, just requiring time.
Why these: They either cost nothing or fit into a startup’s budget easily, and they don’t require a full-time specialist to operate. The goal for a startup is to avoid being the low-hanging fruit – running these tools can catch the glaring issues (default credentials, open admin endpoints, SQL injections, etc.) and dramatically increase security posture with minimal investment. Additionally, showing that you use recognized tools like OWASP ZAP or Nessus can increase trust when that inevitable security questionnaire comes from a prospective customer.
Best Free DAST Tools
Audience: Anyone looking to improve their web app security without spending money. This includes hobbyist developers, students, small organizations, or even larger companies experimenting before purchasing a solution. “Free” in this context can mean completely open-source or free-tier versions of commercial products.
Free DAST options typically have some limitations (either in features, support, or scan depth), but they offer incredible value for basic needs.
Criteria/characteristics for the best free tools:
- No Cost, No Strings: Truly free to use (not just a short trial). Ideally open-source or community-supported.
- Effectiveness: Even if free, the tool should find a meaningful number of vulnerabilities. The baseline is covering OWASP Top 10 issues.
- Community Support: Free tools often rely on community forums, documentation, and updates. A vibrant community ensures the tool stays useful.
- Ease of Use vs. Learning Curve: Some free tools are turnkey, while others need skill. We’ll list a variety: some that “just run” and some that might need more expertise (for those willing to invest time over money).
Top Free DAST Tools:
- OWASP ZAP: It stands out as probably the most fully-featured free DAST tool. As discussed, ZAP can do a lot, and all for free. It’s effectively the go-to suggestion when someone asks, “I have no budget, how do I do DAST?” ZAP has an active community and even formal OWASP support. It’s continually updated and can be extended. For a free solution, it doesn’t get better than ZAP in terms of capability and community size.
- Nikto: Completely free and open, Nikto focuses on known issues. It’s very easy to run – basically a one-command scan – which makes it accessible. Nikto’s value is in its simplicity: you don’t configure much, you just run it and get output. It’s great for quick audits by people who might not be security experts (e.g., a sysadmin can run Nikto against a server as part of a checklist). Because it’s signature-based, it’ll miss custom issues, but as a free tool it provides a nice safety net.
- Wapiti: Wapiti’s free and open-source, and it’s surprisingly powerful, rivaling some commercial scanners in injection testing. It’s perhaps less known in the mainstream, but those in the open-source security community respect it. For someone willing to use a terminal and potentially script around it, Wapiti provides tremendous scanning capability at no cost. Its active development means it’s keeping pace with new vulnerability types, which is not always true of free tools.
- w3af: Also free and open-source, w3af is more complex but offers both scanning and exploitation. It’s like a free alternative to Burp Suite Pro (kind of). However, users should be aware it hasn’t been very active lately. Still, for a no-cost solution, w3af can dig deep and even exploit issues, which others don’t do. It’s best for users with some security knowledge who want a one-stop toolkit.
- Arachni: Arachni is free (open-source) and was a heavyweight in its time. It still works well for many scenarios. Given it’s not actively maintained, one should use it with caution on cutting-edge tech, but as a free scanner, it’s thorough on older web technologies. If you have an app that doesn’t involve the latest SPAs, Arachni can be very effective and it has a nice reporting interface. For the cost of zero, one gets a professional-looking scan report.
- Burp Suite Community Edition: While the full scanner is not enabled in the free edition, I include this because it does allow passive scanning and manual testing. It’s free and it’s a great training tool. Many security enthusiasts start with Burp Community to learn how vulnerabilities work, intercept traffic, etc. If you proxy your app through Burp Community while browsing, it will passively flag some issues (like missing security headers or reflective values that could hint at XSS). So technically it does some DAST work for free, albeit limited.
Note: Many commercial players offer free trials (like 14 days trial of Acunetix or a limited free scan from Qualys, etc.), but those are not sustainable solutions. Thus, I stick to tools that are free long-term, not time-limited.
Why these: They cover the basics (and more) without any financial barrier. Free tools are crucial for democratizing security – they allow anyone to test their applications. Companies with zero budget can still improve their security posture using these. It’s often recommended to run multiple free tools in combination, as each might catch things the others miss. For example, run Nikto + ZAP + Wapiti together – if all three agree an app is “clean,” you likely handled the obvious issues. All without spending a dime.
Best Open Source DAST Tools
Audience: Security enthusiasts, organizations committed to open-source solutions, or those who want full transparency and control over the tool. Open source tools are also favored by educational institutions and by companies with strict procurement rules that prefer community-audited software.
“Open source” overlaps with “free,” but here we specifically mean tools whose source code is available and that are typically maintained by a community (often under OWASP or similar organizations). The benefit is you can audit the scanner’s code, customize it, and trust that there’s no hidden black-box behavior.
Top open-source DAST tools (with a bit of repeat from above):
- OWASP ZAP: Open source champion. ZAP’s source is on GitHub, and it has numerous contributors. Many companies even fork ZAP to create custom scanning rules for their specific needs. Being under OWASP governance, it has credibility and a clear open development process. If you need an OSS DAST, ZAP is usually choice #1.
- w3af: Entirely open source (GPL). A user can read through how each plugin works, modify them or write new ones. This is great for researchers who want to add a check for a new vulnerability globally. It’s like having the building blocks of a scanner that you can reassemble. The open source nature of w3af also means you can integrate it into larger open-source security frameworks.
- Wapiti: Hosted on GitHub and actively updated by its maintainers, Wapiti invites contributions and bug reports from users. If you find your app triggers false positives or you discover a new vulnerability type, you can add to Wapiti’s modules. Open source also means you can integrate Wapiti into other open systems (like hooking it into an open source CI/CD pipeline).
- Nikto: One of the oldest open-source web scanners. Its signature database is openly editable, and people frequently contribute new checks. If, say, a new web app vulnerability in a popular framework is discovered, anyone can add a Nikto test for it and share it. The simplicity of Nikto’s code (mostly Perl scripts) means even those with modest coding skills can customize it for their environment. It’s truly community-driven in that sense.
- Arachni: Open source (though unmaintained now). Its codebase was well-written and some have forked it or reused parts of it in other projects. As open source, it serves as a learning reference too – new DAST developers can study Arachni’s design.
- OWASP ZAP’s Add-on Community (honorable mention): I highlight this because beyond ZAP’s core, the add-on marketplace is full of open source contributions. Tools like GraphQL Scanner add-on, SOAP scanner add-on, etc., are all open source. This ecosystem means if ZAP doesn’t do something today, an open source plugin might appear tomorrow to fill the gap. No closed-source tool has that agility driven by a global community.
Why open source? Security is often about trust. With open-source DAST, you can inspect exactly what tests are being done and how data is handled (important if scanning sensitive apps – you know the tool isn’t siphoning data away, for example, because you can see the code). It also means if the tool doesn’t perfectly fit your needs, you have the power to change it. Organizations that are willing to invest engineering effort rather than money can build very tailored DAST solutions out of these projects.
Best DAST Tools for DevSecOps
Audience: Teams practicing DevSecOps – that is, integrating security checks into continuous integration and continuous delivery pipelines, with a high degree of automation and collaboration between dev, sec, and ops. These teams want tools that can run headlessly, produce machine-readable output, and perhaps gate builds based on security criteria. They also often favor tools that can be “shifted left” (used early by devs) as well as continuously in post-production.
Important factors for DevSecOps DAST:
- CI/CD Integration: The tool should have a CLI or REST API, and ideally plugins for popular CI systems (Jenkins, GitLab CI, GitHub Actions, Azure DevOps, etc.). It should be easy to spin up as part of a pipeline (containerized versions help here).
- Automation-Friendly Output: Results in formats like JSON or SARIF that can be consumed by other systems for automated decision-making. For example, break the build if new high-severity vulns are found – this requires parsing scanner output automatically.
- Incremental or Quick Scans: Full DAST scans can be slow, which is a challenge for CI. Tools that offer faster modes or allow targeting specific components (maybe via tagging important endpoints) are useful. Another approach is integration with test suites – e.g., attacking the app while integration tests run (some advanced setups do this).
- Environment Flexibility: DevSecOps might spin up ephemeral test environments (e.g., deploying a branch of an app to a test server, scanning it, then tearing it down). DAST tools that can easily point to dynamic URLs and handle ever-changing environments without a lot of manual setup shine here.
- Feedback Loops: A DevSecOps ideal is immediate feedback to developers. So, a DAST tool that can comment on a pull request, or open tickets automatically, or ping in chat with results fosters that fast feedback culture.
Top Tools / Approaches for DevSecOps:
- Aikido Security – Pipeline Automation: Aikido was designed to embed into CI pipelines (with its CI/CD integration feature). You can configure Aikido scans to run on each merge or deployment. Its results can be set to fail builds if severity thresholds are crossed. The fact that it also does SAST means devs get a one-two punch of static and dynamic analysis in CI, all managed from one platform. Also, Aikido’s cloud nature means you don’t have to manage scanning infrastructure in your CI runners; you just call out to Aikido’s service. This reduces the friction of adding DAST to pipelines.
- OWASP ZAP (Dockerized) – The DevOps Workhorse: ZAP provides an official Docker image and even a config-able baseline scan script. This is heavily used in DevSecOps. For example, you can have a GitHub Action that runs
owasp/zap-baseline-scan
against a deployed test site for 5 minutes and reports the findings. ZAP’s API also allows a lot of custom automation, and the community has written wrappers (like Python scripts) that integrate ZAP with CI. Since it’s free, you can run it in as many pipelines as needed. Many tutorials exist on “ZAP in Jenkins” or similar, indicating it’s a common pattern. - StackHawk – Purpose-built for CI: StackHawk (though commercial) is basically DAST for DevOps. It integrates with pipelines using a config-as-code approach. For DevSecOps teams that can budget for it, StackHawk smooths out some rough edges of using ZAP in CI (StackHawk is built on ZAP but has a nicer developer UX and support). It’s worth noting because DevSecOps is exactly its target use case. It outputs in CI-friendly formats and the company emphasizes making DAST not slow down CI (with tuning guidance).
- Invicti/Acunetix – CI plugins: Enterprise DevSecOps shops using Invicti have access to its integration capabilities. Invicti can run in a headless mode and has plugins for Jenkins, etc. It can mark scans as passed/failed based on policy (like no critical vulns). Invicti’s advantage is you get thorough scanning with the proof-based accuracy, but the challenge is runtime – full Invicti scans might be too slow for every build. Many solve this by doing a nightly full scan and a quick targeted scan on each build (targeted at changed components or using smoke tests + DAST).
- Burp Suite Enterprise – Pipeline Integration: Burp Suite Enterprise Edition (different from Burp Pro) is designed to run scans on a schedule or trigger via CI. It has a REST API and CI plugins. A DevSecOps team might use it to schedule scans after deployments and then feed results into JIRA. While not as commonly plugged into CI as ZAP (due to cost), it’s used in some DevSecOps setups in companies that standardized on Burp.
- Tenable.io WAS – Cloud hooks: If your pipeline can deploy a test environment accessible to Tenable’s cloud scanners, you can trigger a scan via API and poll for results. Some DevSecOps teams do this for nightly builds. It’s not as instantaneous as a local ZAP scan, but it offloads the scanning to a cloud service.
In summary, automation is king here. Tools that weren’t built for automation can still be used in pipelines (via creative scripting), but those that acknowledge DevSecOps with features and integrations will save time. The above options are either inherently automation-friendly (ZAP, Aikido, StackHawk) or have evolved to support it because of market demand (Invicti, Burp Enterprise).
DevSecOps teams also often use multiple stages of DAST: a quick lightweight scan in CI (to catch obvious stuff in minutes) and a deeper scan post-deployment (which might take longer but doesn’t block developers). The tools chosen need to support that strategy.
Best DAST Tools for API Security
Audience: Teams that specifically need to test web APIs (REST, SOAP, GraphQL) for vulnerabilities. This includes backend developers, API platform engineers, and security testers focusing on microservices. API security testing is slightly different from web UI testing – there’s no browser interface, so you need tools that can parse API schemas, handle JSON/XML payloads, and understand things like authentication tokens and multi-step API calls.
Key capabilities for API-focused DAST:
- API Specification Import: The tool should import Swagger/OpenAPI or Postman collections to know what endpoints exist and their formats. This saves time and ensures coverage of all API endpoints, even those not easily discoverable.
- GraphQL Support: GraphQL APIs are now common; testing them requires special handling (introspection queries, nested queries). A good API DAST should have modules for GraphQL (e.g., checking for GraphQL-specific vulns like deeply nested query denial of service).
- SOAP and Legacy API Support: Still relevant in enterprises – tools that can test SOAP services by importing WSDL or recording SOAP calls. Also, handling things like gRPC might be considered (though DAST support for gRPC is still nascent; some tools convert gRPC to REST-like testing via proxies).
- Authentication and Tokens: API testing needs to handle API keys, OAuth tokens, JWTs, etc. The tool should make it easy to supply these (maybe via a config file or login script) so it can test authorized endpoints. Bonus if it can also test authorization logic, e.g., IDOR (Insecure Direct Object References) by manipulating IDs.
- Handling Non-HTML Responses: APIs return JSON or XML. The scanner must not expect HTML pages; it should parse JSON and still find issues (like XSS in JSON context, or SQL errors in API responses). Some older scanners only look at HTML responses, which isn’t sufficient for APIs.
- Rate Limiting Awareness: Hitting APIs too hard can trigger rate limits or even get IP blocked. API-focused scanners might include settings to respect rate limits or throttle appropriately, to avoid disrupting the service (important if testing production APIs).
Top Tools for API Security (DAST):
- Invicti (and Acunetix) – API Discovery and Testing: Invicti is strong in API scanning. It can import API definitions (REST, SOAP, GraphQL) and has specialized checks for them. For instance, it can detect GraphQL vulnerabilities and test lots of auto-generated queries. It also handles auth well. If an organization has numerous APIs (microservices), Invicti can scan them systematically. Acunetix, its sibling, shares this capability and is more accessible to smaller teams.
- Qualys WAS – API & OpenAPI v3 support: Qualys WAS specifically advertises detecting “drift from OpenAPI spec” which implies it not only tests APIs but also finds undocumented endpoints by comparing observed endpoints vs. the spec. This is valuable for API security because unlisted endpoints can be a security blind spot. Qualys also covers SOAP APIs and can be fed WSDLs. It's a solid choice for an enterprise with many APIs, especially since it integrates with their overall platform.
- OWASP ZAP – With Add-ons for APIs: ZAP by itself can fuzz and test JSON endpoints, but it truly shines for APIs when used with add-ons. There’s an OpenAPI add-on to import Swagger files and a GraphQL add-on as well. Using these, ZAP can automatically create requests for each API operation and then actively scan them. Being open source, it's one of the few free ways to test APIs thoroughly. You might need to tweak things (like provide auth tokens via scripts), but many community guides exist.
- Burp Suite – Great for Manual API Testing: Burp’s scanner can be used on APIs, but often testing APIs with Burp involves manual or semi-automated effort. You can proxy mobile app traffic or Postman requests through Burp to capture the API calls, then use Burp Scanner on those. Burp also has an extension called “Upload Scanner” that can fuzz file upload APIs, etc. For GraphQL, there are Burp extensions to assist. So, while not an out-of-the-box automated API scanner, Burp is a powerful platform for API testing if one is willing to drive it. The Professional edition’s scanning capabilities will indeed test JSON responses and such for vulns just as it does HTML.
- Postman + Security Collections – (Augmenting DAST): Postman itself is not a DAST, but there are collections like “API Security Audit” collections that people have created which can act as rudimentary DAST checks (e.g., sending common SQL injection strings at each endpoint). A security-minded developer could write Postman tests to do a basic fuzz of their API endpoints. This approach is free (Postman has a free tier) and can be integrated into CI via Newman (Postman’s CLI). It's not as comprehensive as a full scanner, but it's a growing approach in the DevSecOps world for API security testing.
- Aikido Security – API scanning built-in: Aikido’s platform includes API scanning where you can feed your API endpoints (or let it discover them alongside a web scan). It particularly supports REST and GraphQL. For a team already using Aikido for web, having API scanning in the same place is convenient. It will attempt things like unauthorized access tests (by repeating requests without auth to see if data leaks) which is a common API issue. This consolidation means less context-switching – developers see API and web vulns in one dashboard.
Why these: API endpoints often hold sensitive data and are prone to issues like auth bypass, excessive data exposure, etc. Traditional DAST tools historically focused on web pages, but the ones listed have kept up with the API-first trend. Using them ensures your backend APIs are as tested as your front-end. Given how many breaches now involve APIs (remember the Facebook user data leak via an API, or the T-Mobile API issues), focusing on API security is critical. Tools that can simulate malicious API consumption are how you uncover those flaws.
Best DAST Tools for Web Applications
Audience: This might sound broad (since most DAST is for web apps), but here we interpret it as organizations specifically focused on testing traditional web applications (websites, portals, e-commerce sites) – possibly those with rich user interfaces. They want the tools that perform best in finding web app vulns in these environments. This category is basically asking: if your primary concern is securing web apps (with browsers, forms, user accounts, etc.), which tools are the most effective overall?
Important aspects for pure web app scanning (as opposed to APIs or other niches):
- Crawling and Coverage: A web app scanner must effectively crawl all links, including those generated by scripts or user events. Tools with better crawling algorithms (headless browser, handling of SPAs) will cover more of the app.
- Session Management: Web apps often have complex login and state (shopping cart, multi-step workflows). The best web app DAST tools can handle those via recorded macros or script logic.
- Vulnerability Depth: For web apps, things like XSS, SQLi, CSRF, file inclusion, etc., are key. Some tools have more comprehensive checks for XSS (reflected, stored, DOM-based) than others, for example. How well a tool finds stored XSS (which might involve one page to submit, another to trigger) can separate the great from the good.
- False Positive Handling: In a large web app, you might get hundreds of findings – tools that verify or clearly prioritize exploitability help focus on real issues.
- Client-Side Security Checks: Modern web apps might have issues like insecure use of client-side storage, or vulnerabilities in third-party scripts. Some DAST tools now flag if your site is loading a script with known vuln or if Content Security Policy is missing. These are more “web app specific” checks beyond the raw vulns.
Top Tools for Web Applications:
- Invicti (Netsparker): As a top-tier web app DAST, Invicti’s crawling and vulnerability detection on typical web apps is excellent. It’s known to find XSS and SQLi very reliably, even in complex scenarios. Its verification of issues like XSS (e.g., it might insert a safe payload and then detect it executed) gives confidence. For broad coverage and depth, Invicti is often rated highly in web vuln benchmarks.
- Burp Suite Pro: For hands-on web app testing, Burp Pro is unparalleled. Its scanner, combined with the ability to manually navigate the tricky parts and then re-scan, means it can handle weird web app logic. Burp’s advantage is that if the automated crawl fails somewhere, a human can step in, push past the hurdle, and let Burp continue. This interactive testing model often results in more issues found in complicated apps. Burp also has numerous scan tuning options for performance vs. thoroughness, which helps optimize for large web apps.
- Acunetix: Acunetix has always marketed itself as focusing on web technologies (including lots of CMS-specific checks, WordPress, Drupal, etc.). For typical websites, especially those using off-the-shelf platforms, Acunetix shines by identifying known vulnerabilities and misconfigurations. It’s a solid all-around web scanner and tends to have a lower learning curve, which means you can throw it at a web app and get good results without much tweaking.
- OWASP ZAP: It’s free but in skilled hands can perform at the level of commercial tools for many web apps. ZAP’s active scan has a wide range of attacks. If configured well (with context like logged-in session tokens, etc.), it can find a lot. ZAP also benefits from community rules; for example, someone may contribute a script that specifically tests a common e-commerce vulnerability and anyone can use it. For organizations that can’t afford commercial tools, ZAP is the best bet for web app security.
- HCL AppScan Standard: It has a long track record of web app scanning. It can be configured deeply for tricky apps (like customizing injection strings to avoid breaking certain pages, or pausing between certain steps). AppScan’s heuristic engine sometimes finds less obvious logic issues too. For pure web assessments, it’s a veteran tool used by many professional security testers (especially those who came from the IBM AppScan days). They have a large knowledge base of vulnerabilities and their manifestations in web apps, which translates into thorough test cases in the scanner.
Why these: They offer the best chance of finding a wide variety of vulnerabilities in typical web applications. A web application can be a sprawling thing with various features; these tools are proven on scanning entire websites end-to-end. Tools like Invicti and Burp are often used in tandem: one for breadth, one for depth. Acunetix or AppScan, in the hands of an analyst, provide a structured approach to scanning that many security teams trust for their regular assessments of corporate web apps. And ZAP, being open source, democratizes that capability.
In short, if your goal is “I have this web portal, I want to find as many security issues in it as possible,” the above tools are among the first you’d consider.
Best DAST Tools for REST APIs
Audience: This is a narrower focus on RESTful APIs (which could be considered a subset of API Security above, but here specifically REST). These are likely teams developing REST APIs (JSON over HTTP, stateless design), including mobile app backends or SPA backends, who want to ensure those APIs are not vulnerable.
Focus areas for REST API DAST:
- Swagger/OpenAPI integration: Very important for REST. Tools that can ingest a Swagger spec for a REST API can enumerate all endpoints, methods, and expected parameters, making the scanning more effective.
- REST-specific vulns: Testing for things like improper HTTP verb handling (e.g., GET vs POST confusion), lack of rate limiting, and typical REST misconfigurations (like HTTP PUT allowed where it shouldn’t be, or methods that should be idempotent but are not).
- Parameter fuzzing: REST endpoints often take JSON bodies. The scanner should try fuzzing JSON parameters with injection payloads, nested JSON objects, etc. Also, testing query parameters in URLs for REST endpoints (like
/users?filter=<script>
). - Authentication/Authorization: Many REST APIs use tokens (Bearer tokens). Tools need to handle attaching those to every request. Additionally, testing authZ on REST (like changing an ID in the URL to another user’s ID) is something some DAST tools attempt (though true authorization logic testing might go beyond DAST).
- CSRF in APIs: Many think APIs aren’t affected by CSRF if they don’t use cookies for auth, but some do (or some allow both cookie and token). Scanners could check if state-changing endpoints have CSRF protections when cookies are used, for example.
Top Tools for REST API DAST:
- OWASP ZAP with OpenAPI Add-on: For a pure REST API (say you have a Swagger JSON), using ZAP’s OpenAPI add-on will import all the endpoints. ZAP can then attack each one with relevant injections. You might need to write a script to handle auth headers, but ZAP’s scripting makes that doable. Being open source, it’s probably the first thing many try on a REST API because you can automate it. The community has also share example scripts specifically for API scanning.
- Postman + OWASP ZAP Synergy: One interesting free approach is using Postman to drive the authentication and normal use of the API (maybe via a collection of endpoints), while proxying Postman through ZAP. In doing so, ZAP observes the API and then you can initiate an active scan from ZAP on those observed endpoints. This combo can effectively test REST endpoints that require specific sequences or non-trivial authentication steps managed by Postman’s scripting. Many practitioners use this method because Postman is great for hitting all the endpoints properly (with correct data), and ZAP can then do the security testing part.
- Invicti/Acunetix: Both have strong support for REST. For example, they can take a Swagger file and do comprehensive testing, including detection of things like RESTful resource-level access issues (like testing if
GET /users/123
can fetch another user’s data by changing the ID, i.e., broken object level authorization). They also test content negotiation issues (like if the API supports XML input, they might try XXE through that) – often overlooked in REST APIs. These products keep up with the latest API security issues (like the OWASP API Top 10) and incorporate checks accordingly. - Burp Suite Pro: With Burp, testing REST APIs usually means feeding it requests (via Repeater or Spider) and then letting Scanner do its thing. If you have a large REST API, you can import a Swagger into Burp via an extension (there’s one in BApp Store) which will create Burp requests for each operation. Then you can launch the scanner on those. Burp’s advantage is if something needs fine-tuning (like adjusting a particular parameter format), you can manually do so and resend. The manual control ensures thorough coverage, though it’s more labor intensive than an automated tool.
- Wapiti: Wapiti has decent support for REST (as it does for any HTTP interface). It will fuzz JSON payloads and URL parameters. It might not parse a Swagger file automatically, but if you provide it with some entry URLs or let it spider a documentation page, it can still find endpoints. If one wanted a completely open-source pipeline for REST API scanning, Wapiti combined with a script to feed endpoints from a Swagger is a viable solution.
- Tenable.io WAS: Tenable’s solution, again, can import Swagger. It will then test each endpoint. They highlight in their docs how to test APIs, including adding custom headers or auth tokens in the scan settings. Tenable likely also uses their vulnerability repository to check for known misconfigurations in API servers. For example, it might check if your API server has directory listing enabled on certain paths or if any known vulnerable API frameworks are detected by their signatures.
Why these: REST APIs are everywhere (any modern web/mobile app has one). Injections in REST APIs can be just as devastating (e.g., an SQL injection in a REST endpoint is as bad as one in a web form). The tools above have proven capabilities in testing REST specifically. As evidence, many tools now align with OWASP API Security Top 10 – which is heavily about REST. Tools like Invicti and Qualys WAS explicitly mention coverage of those (like BOLA – Broken Object Level Authorization – which is #1 on API Top 10, some scanners attempt to detect by ID fuzzing).
Using these tools on REST APIs helps catch issues that static code analysis might not (especially configuration issues or mistakes in access control). They simulate real client calls, which is how attackers approach APIs.
Best DAST Tools for Mobile Apps
Audience: When we talk about mobile apps in the context of DAST, we’re mostly concerned with the backend services that mobile apps communicate with, as well as any webviews or embedded browsers in the mobile app. Pure mobile app binary security (like checking the APK for hardcoded keys) is a different domain (mobile SAST maybe), but DAST for mobile means testing the mobile app’s server-side interfaces and possibly the network communication. The audience could be mobile developers or security testers ensuring that the mobile client-server interaction is secure.
Key aspects:
- Testing API endpoints used by mobile: Many mobile apps use REST/GraphQL APIs – which loops us back to API scanning. However, the difference is you might not have documentation for these if it’s an internal API. So intercepting mobile traffic is step one.
- Handling authentication flows: Mobile apps might use OAuth flows, or custom auth with tokens. A DAST tool for mobile needs to capture and reuse those tokens. Often the easiest way is proxying the mobile app and capturing an authenticated session.
- Testing webviews: Some mobile apps are hybrid or have webview components. These can be tested like normal web apps if you can get the URLs. E.g., a banking app might have an FAQ section that’s basically a webview of a web page – that should be scanned for XSS, etc., because if vulnerable it could be an attack vector through the app.
- Checking for insecure protocols: A DAST examining mobile traffic might notice if the app calls an HTTP URL instead of HTTPS, or accepts invalid SSL certs (some tools can test by MITM with an invalid cert to see if the app still connects).
- Workflows and state: Some mobile interactions are stateful sequences (add item to cart, then purchase). Simulating those might require either scripting the mobile app or replicating the calls via an automated script. This is complex, so tools that can record and play back such sequences help.
Top Tools/Methods for Mobile App DAST:
- Burp Suite – Mobile Testing Standard: Burp is widely used to test mobile apps. You run Burp’s proxy on your PC, configure the mobile device to use that proxy (and install Burp’s CA certificate on the device so HTTPS can be intercepted). Then as you use the mobile app, Burp captures all API calls. From there, you can analyze and active-scan them. Burp can also highlight if the app is doing something like certificate pinning (in which case you’ll see connection failures in Burp). Many mobile-specific issues (like improper cert validation) can be assessed with Burp by seeing what you can intercept or manipulate. Burp’s ability to repeat and modify requests is crucial for testing server-side trust of mobile input.
- OWASP ZAP – Mobile Proxy and Scan: Similarly, ZAP can proxy mobile traffic. It might require some manual effort to set up on the device, but once that’s done, you treat it like a normal web scan of the captured endpoints. ZAP doesn’t have mobile-specific features out of the box, but its general web and API scanning work fine for mobile backends. It's free, which is great for individual researchers testing Android apps.
- HCL AppScan with Mobile Analyzer: AppScan Standard has features to facilitate mobile testing. It can observe a mobile app’s traffic (if you run the app through a proxy or emulator) and then run tests. Also, IBM (and now HCL) offered AppScan Mobile Analyzer which did some introspection on mobile app binaries and some dynamic analysis. But focusing on DAST, AppScan can certainly test the web endpoints that a mobile app hits, and even offers a client to automate a mobile emulator, though that’s advanced usage.
- Aikido Security – Full AppSec Platform (Mobile included): While Aikido is not a mobile testing tool per se, it does cover mobile app security in that it scans the APIs (through its API scanning) and also can do static analysis on mobile code (if a company has the source). For example, if you have a mobile backend, you can feed its URL to Aikido’s DAST and get results. If you have the mobile code, Aikido’s SAST might catch things like insecure random number generation or hardcoded secrets. The combination is useful for mobile teams who want a single platform for both their app code and their app’s web services.
- Postman for Mobile API + ZAP: Similar to earlier mention, if you can capture the mobile API calls (via proxy or by reverse engineering the app to get endpoints), you can recreate those in Postman and test with ZAP or manually. There’s also an OWASP project called MobSF (Mobile Security Framework) which performs some dynamic analysis by running an emulator. MobSF primarily does static analysis, but it’s worth mention as an open-source mobile security tool; for DAST it can do some basic API fuzzing if you provide endpoints.
- Nessus / Nexpose etc. – environment checks: Although not directly testing the app, running a vulnerability scan on the servers hosting the mobile backend or checking SSL configurations (e.g., with Qualys SSL Labs or Nessus) is often part of mobile app testing. This ensures the servers the app talks to are configured properly (no old TLS versions, etc.). I mention this because in mobile engagements, tools like Nessus often complement the DAST by covering server-side issues beyond the app logic.
Why these: Mobile apps introduce unique challenges like certificate pinning, which can hinder DAST. But the above approaches are what security pros use to get inside the mobile-app-to-server conversation. Burp Suite is basically the de facto tool for mobile app pentesting because of its flexibility. ZAP can achieve much of the same with a bit more setup but at no cost. These allow you to find issues like: does the API trust user-supplied IDs (leading to data exposure)? Does the mobile app fail to validate SSL (allowing man-in-the-middle)? Are there hidden endpoints the app calls that aren’t obvious?
By using DAST on mobile backends, one can simulate what an attacker would do if they tore apart the mobile app and started sending crafted API requests. This is critical; many mobile breaches (think of Uber’s API leak or Snapchat’s past API issues) come from someone reversing the mobile app and abusing the API. DAST tools applied in the ways above can often catch those weaknesses before an attacker does.
Conclusion
Web application security in 2025 demands a proactive approach – attackers are constantly probing our websites, APIs, and mobile apps for weaknesses. Dynamic Application Security Testing (DAST) tools are a cornerstone of that proactive defense, offering a hacker’s-eye view of your application’s vulnerabilities. By dynamically simulating attacks, DAST tools help you identify and fix issues that static code reviews might overlook, from SQL injections in a forgotten form to misconfigured servers accepting weak ciphers.
Ready to take your application security to the next level? Get Started for Free with Aikido’s all-in-one platform.

Launching Opengrep | Why we forked Semgrep
TL;DR: We’re launching Opengrep, a fork of SemgrepCE, in response to its open-source clampdown.
We are the initiators of Opengrep. Let’s get into it: Last month, Semgrep announced major changes to its OSS project—strategically timed for a Friday, of course ;)
Since 2017, Semgrep has been a cornerstone of the open-source security community, offering a code analysis engine and rule repository alongside its SaaS product. But their recent moves raise the question: what does “open” really mean?
Key changes include locking community-contributed rules under a restrictive license and migrating critical features like tracking ignores, LOC, fingerprints, and essential metavariables away from the open project.
This isn’t surprising—Semgrep has been quietly quitting the open-source engine for some time. The rebranding from “Semgrep OSS” to “Semgrep Community Edition” feels like the final nail in the coffin.
Why?
Perhaps pressure from VCs, viewing open-source contributions as “cannibalizing” SaaS revenue, or protecting against competition? Semgrep claims the move was to stop vendors from using the rules and engine in competing SaaS offerings. Yet, just yesterday with their “AI” announcement, the founder declared, “the original Semgrep engine is becoming obsolete.”
Whatever the case, while we respect a competitive spirit, this open-source clampdown does little to stop rival organizations. More than anything, this move undermines community trust—not just in Semgrep, but across open-source projects.
“This sort of change also harms all similar open-source projects. Every company and every developer now needs to think twice before adopting and investing in an open-source project in case the creator suddenly decides to change the license”... or kneecap the functionality (Opentofu).
This pattern is familiar: Elasticsearch’s license shift led AWS to create OpenSearch. The Opentofu movement arose after HashiCorp’s Terraform rugpull. Vendor-led open-source often prioritize commercial interests over community to make it to the “big leagues.” And that sucks.
So, we’re taking action.
We’ve united with 10 direct competitors to launch Opengrep—a coordinated, industry-wide stand to keep a great open-source project alive and make secure software development vendor-neutral, shared standard.
I’m joined by Nir Valtman (CEO, Arnica), Ali Mesdaq (CEO, Amplify Security), Varun Badhwar (CEO, Endor Labs), Aviram Shmueli (CIO, Jit), Pavel Furman (CTO, Kodem), Liav Caspi (CTO, Legit), Eitan Worcel (CEO, Mobb), and Yoav Alon (CTO, Orca Security).

What can you expect with Opengrep?
Performance improvements, unlocking pro-only features, extended language supports, migrating critical features back to the engine, and new advancements: windows compatibility, cross-file analysis, the roadmap is long.
Together, we’re pooling committed capital and OCAML development resources to advance and commoditize static application security testing.
Because let’s face it—there are more interesting things to build. Finding is one thing... let’s focus on the future, on how we can find and fix security vulnerabilities fast automatically. Let’s focus on getting devs back to building.
Want to learn more about Opengrep?
Read the Opengrep Manifesto. Leverage and contribute to Opengrep today.
To contribute or join as a sponsor, open an issue on GitHub.
For community & contributors, join the open roadmap session on 20th February.
Follow along on X. Linkedin.

“Ensure the future of SAST is Open” On Opengrep with Mackenzie Jackson