From 4dda2998f95b9003481898b59d3d5d1a457eae73 Mon Sep 17 00:00:00 2001 From: Viyat Bhalodia Date: Sun, 15 Feb 2026 00:43:34 -0800 Subject: [PATCH 1/4] ci: add github actions scripts and docker build checks --- .github/workflows/main.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..bdf210e --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,38 @@ +name: CI + +on: + push: + pull_request: + +jobs: + scripts: + name: Scripts + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Validate shell script syntax + shell: bash + run: | + set -euo pipefail + shopt -s nullglob + scripts=( *.sh ) + if [ ${#scripts[@]} -eq 0 ]; then + echo "No shell scripts found" + exit 0 + fi + + for script in "${scripts[@]}"; do + echo "Checking ${script}" + bash -n "${script}" + done + + docker-build: + name: Docker Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: docker/setup-buildx-action@v3 + + - name: Build image + run: docker build --build-arg OWTF_VERSION=develop -t owtf-docker:ci . From 5e94309c9df06dee81c8a7e88d218b429c9434ec Mon Sep 17 00:00:00 2001 From: Viyat Bhalodia Date: Sun, 15 Feb 2026 00:53:23 -0800 Subject: [PATCH 2/4] docker: remove deprecated apt-key step and install wget --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a4e86b8..70a3d44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,9 @@ FROM kalilinux/kali-rolling MAINTAINER @viyatb viyat.bhalodia@owasp.org, @alexandrasandulescu alecsandra.sandulescu@gmail.com # Kali signatures preventive update -RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y gnupg -RUN wget -q -O - archive.kali.org/archive-key.asc | apt-key add +RUN apt-get update \ + && apt-get dist-upgrade -y \ + && apt-get install -y --no-install-recommends ca-certificates gnupg wget kali-archive-keyring # install required packages from Kali repos COPY packages.sh / From d827ed0b62457c95bbfbb453f05d6e3b1bb0c5a4 Mon Sep 17 00:00:00 2001 From: Viyat Bhalodia Date: Sun, 15 Feb 2026 00:59:17 -0800 Subject: [PATCH 3/4] docker: skip unavailable optional packages during build --- optional_tools.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/optional_tools.sh b/optional_tools.sh index 1b74542..57a8019 100644 --- a/optional_tools.sh +++ b/optional_tools.sh @@ -14,7 +14,13 @@ PACKAGES="theharvester \ o-saft" if [ "$1" = "--download-only" ]; then - apt-get install -d -y $PACKAGES + install_args="-d -y" else - apt-get install -y $PACKAGES + install_args="-y" fi + +for package in $PACKAGES; do + if ! apt-get install $install_args "$package"; then + echo "[!] Skipping unavailable optional package: $package" + fi +done From 159a563a312e710a88d63c024ef8faf15dc91f4d Mon Sep 17 00:00:00 2001 From: Viyat Bhalodia Date: Sun, 15 Feb 2026 01:04:36 -0800 Subject: [PATCH 4/4] docker: allow pip install under kali external package policy --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 70a3d44..59a542b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,8 +37,8 @@ ENV SHELL /bin/bash WORKDIR /owtf # core installation -RUN python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel \ - && python3 -m pip install --no-cache-dir -e . +RUN python3 -m pip install --no-cache-dir --break-system-packages --upgrade pip setuptools wheel \ + && python3 -m pip install --no-cache-dir --break-system-packages -e . # expose ports EXPOSE 8010 8009 8008