Skip to content

AikidoSec/firewall-tester-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

474 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firewall Tester Action

This is an internal validation framework used to validate that firewall agents work correctly.
It runs QA tests against firewall agents in a Dockerized environment and checks expected behaviors like startup events, heartbeats, runtime protection.

🚀 Usage

jobs:
  run-firewall-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Run Firewall QA Tests
        uses: AikidoSec/firewall-tester-action@v1
        with:
          dockerfile_path: ./test-app-dockerfiles/Dockerfile.hono

🧩 Inputs

Name Description
dockerfile_path Path to the Dockerfile with the Aikido agent installed (required)
extra_args Extra arguments to pass to the docker run command (--env, -e, and --env-file only are allowed)
extra_build_args Extra arguments to pass to the docker build command (e.g. --build-arg APP_VERSION=2.0.1)
app_port The port exposed by the application during Docker runtime
max_parallel_tests Maximum number of tests to run in parallel (default: 5)
config_update_delay Delay (in seconds) after updating the config to ensure it's applied (default: 60)
skip_tests Comma-separated list of tests to skip (e.g. test_allowed_ip,test_sql_injection)
test_timeout Timeout (in seconds) for each test (default: 60)
sleep_before_test Number of seconds to wait before starting the test (default: 1)

Running locally

You'll need Docker, Node.js >= 20, and Python 3.

Clone the demo app you want to test into ./zen-demo/:

git clone git@github.com:Aikido-demo-apps/zen-demo-nodejs.git zen-demo/zen-demo-nodejs
# or whichever language you're working on

Then install dependencies:

npm install

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run tests for a language:

npm run local-action-nodejs
npm run local-action-php
npm run local-action-java
npm run local-action-python
npm run local-action-ruby
npm run local-action-go
npm run local-action-dotnet

To run a single test, pass the name after --:

npm run local-action-nodejs -- test_sql_injection
npm run local-action-php -- test_shell_injection,test_path_traversal

Each language has a corresponding .env.example.<lang> file where you can adjust the Dockerfile path, parallelism, timeouts, etc.

About

This repository holds validation testing actions for Zen firewall

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors