Introduction
Zen is used by customers to protection against common web application attacks, such as path traversal, SQL injection and shell injection. It's different than a traditional WAF, since it lives inside your app and thus has full context of the called code and the user's input. This allows us to dramatically lower the amount of false positives, as our detection only kicks in when a relevant sink is called.
Zen is open-source and currently only available for Node.js. The source is available at: https://github.com/AikidoSec/firewall-node.
The current version of Zen is compatible with any Express-powered apps. Any bypass in other apps (lambda, NextJs, Hono, Google functions,..) are currently out-of-scope.
Focus
We are interested in submissions related to:
- Vulnerability in the firewall component itself
Beyond bypasses, there's also the risk of introducing security vulnerabilities in the user's app via our own firewall library. We encourage any research into this area as well, and have also assigned a separate tier for this (Tier 1).
- Bypasses in the detection of vulnerabilities
Zen hooks into several sinks, and when a sink is called, our detection kicks in. Together with the user input, we evaluate whether the user is exploiting a vulnerability.
Some examples of bypasses would be a missing sink, or a fundamental flaw in the way we perform the detection (e.g. universal bypass in the SQL injection module). Issues within this category will be awarded according to Tier 2.
- False positives while user input is safely passed to sink
Any false positives you encounter with our vulnerability detection, such as flagging a shell injection while it is safely encapsulated in the sink. Issues will be awarded in Tier 3. See Severity Assessment for more details.
Feedback
Would you like to help us improve our program or have some feedback to share, please send your anonymous feedback here:
Program feedback link
Please note this form will be checked periodically and should not be used for submission or support queries.