Erster Scan in 2 Minuten.
Installieren Sie die Open-Source-CLI von WOMBATpass, laden Sie die Wombat-Controls herunter und scannen Sie eine Beispiel-Terraform-Datei. Keine Cloud-Zugangsdaten, keine Blackbox — nur statische Analyse Ihres Infrastructure-as-Code.
Lieber ein Einzeiler? Das Installationsskript richtet CLI und Controls für Sie ein.
$curl -fsSL https://wombat-cli.dev/install.sh | sh
$irm https://wombat-cli.dev/install.ps1 | iex
Ein klarer Weg für jeden Anwendungsfall.
Starten Sie mit dem 2-Minuten-Quickstart der CLI. Wechseln Sie den Tab, sobald Sie bereit für Dashboard, CI oder manuelles Setup sind.
Ihr erstes Ergebnis in 2 Minuten.
Folgen Sie den vier Schritten unten. Jeder Befehl ist so gestaltet, dass Sie schon beim ersten Versuch ein verlässliches, lesbares Ergebnis erhalten.
CLI installieren
WOMBATpass ist auf PyPI veröffentlicht als wafpass-core. Python 3.11+ wird empfohlen.
$pip install wafpass-core
$wombat --version
Controls herunterladen
Der Wombat-Controls-Katalog enthält die über 100 Regeln, mit denen WOMBATpass Ihren Code bewertet.
$git clone https://github.com/WAF2p/framework.git controls-src
$cp -r controls-src/modules/controls/controls ./controls
Empfohlen: Klonen Sie das Controls-Repository. Alternativ: Laden Sie das Controls-ZIP von der WOMBATpass-Seite herunter und entpacken Sie es nach controls/.
Beispiel-Terraform-Datei speichern
Legen Sie eine minimale main.tfan. Dieses Beispiel lässt bewusst einen öffentlichen S3-Bucket offen, damit WOMBATpass etwas zu melden hat.
provider "aws" {
region = "eu-central-1"
}
resource "aws_s3_bucket" "public" {
bucket = "wafpp-first-check-demo"
}
resource "aws_s3_bucket_public_access_block" "public" {
bucket = aws_s3_bucket.public.id
block_public_acls = false
block_public_policy = false
ignore_public_acls = false
restrict_public_buckets = false
}
Ersten Check ausführen
Richten Sie WOMBATpass auf das aktuelle Verzeichnis und geben Sie die JSON-Zusammenfassung aus.
$wombat check . --output json | jq '.summary'
Die Ausgabe sollte etwa so aussehen:
{
"total_controls": 100,
"passed": 98,
"failed": 2,
"pillars": {
"security": { "passed": 18, "failed": 2 }
}
}
Teilen: Dieses JSON in eine WOMBATpass Score-Karte verwandeln →
Dasselbe Ergebnis, visualisiert — wenn Sie später das Dashboard hinzufügen:
Das volle Dashboard lokal betreiben.
Das Monorepo WAF2p/pass liefert eine einheitliche docker-compose.ymlmit. Sie startet CLI, Server, Dashboard, PostgreSQL und Keycloak mit einem einzigen Befehl.
$git clone https://github.com/WAF2p/pass.git
$cd pass
$cp .env.example .env
$# Edit .env, set POSTGRES_PASSWORD, WAFPASS_JWT_SECRET, etc.
$docker compose up -d
| Dienst | URL | Beschreibung |
|---|---|---|
| wafpass-dashboard | http://localhost:3000 | React-Dashboard |
| wafpass-server | http://localhost:8000 | FastAPI REST API |
| Keycloak (SSO) | http://localhost:8080 | Identity Provider (admin / admin) |
| postgres | localhost:5432 | PostgreSQL-Datenbank |
Sobald die Container gesund sind, befüllen Sie Ihre erste Dashboard-Ansicht mit dem Demo-Befehl oder indem Sie ein Scan-Ergebnis hochladen:
$wombat demo # creates sample data and opens the dashboard
$open http://localhost:3000
Vollständige docker-compose.yml anzeigen
services:
# ── PostgreSQL ────────────────────────────────────────────
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-wafpass}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-wafpass}
POSTGRES_DB: ${POSTGRES_DB:-wafpass}
volumes:
- postgres_data:/var/lib/postgresql/data
- ./keycloak/init.sql:/docker-entrypoint-initdb.d/01-keycloak-db.sql:ro
ports:
- "${POSTGRES_PORT:-5432}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-wafpass} -d ${POSTGRES_DB:-wafpass}"]
interval: 5s
timeout: 5s
retries: 10
# ── wafpass-server ────────────────────────────────────────
wafpass-server:
build:
context: .
dockerfile: wafpass-server/Dockerfile
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
DATABASE_URL: postgresql+asyncpg://${POSTGRES_USER:-wafpass}:${POSTGRES_PASSWORD:-wafpass}@postgres:5432/${POSTGRES_DB:-wafpass}
WAFPASS_ENV: ${WAFPASS_ENV:-local}
CORS_ORIGINS: ${API_URL:-http://localhost:3000},http://wafpass-dashboard,http://cloud.waf2p
WAFPASS_CONTROLS_DIR: ${WAFPASS_CONTROLS_DIR:-/app/controls}
WAFPASS_JWT_SECRET: ${WAFPASS_JWT_SECRET:-change-me-in-production}
WAFPASS_JWT_EXPIRE_MINUTES: ${WAFPASS_JWT_EXPIRE_MINUTES:-60}
WAFPASS_JWT_REFRESH_DAYS: ${WAFPASS_JWT_REFRESH_DAYS:-7}
WAFPASS_ADMIN_USERNAME: ${WAFPASS_ADMIN_USERNAME:-admin}
WAFPASS_ADMIN_PASSWORD: ${WAFPASS_ADMIN_PASSWORD:-admin}
WAFPASS_ADMIN_ROLE: ${WAFPASS_ADMIN_ROLE:-admin}
WAFPASS_API_KEY: ${WAFPASS_API_KEY:-key}
ports:
- "8000:8000"
# ── Keycloak (SSO / IdP — dev mode) ──────────────────────
keycloak:
image: quay.io/keycloak/keycloak:26.1
command: start-dev
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/${KEYCLOAK_DB:-keycloak}
KC_DB_USERNAME: ${KEYCLOAK_DB_USER:-keycloak}
KC_DB_PASSWORD: ${KEYCLOAK_DB_PASSWORD:-keycloak}
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN_USER:-admin}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin}
KC_HTTP_ENABLED: "true"
KC_HOSTNAME_STRICT: "false"
KC_HEALTH_ENABLED: "true"
ports:
- "${KEYCLOAK_PORT:-8080}:8080"
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:8080/health/ready || exit 1"]
interval: 15s
timeout: 5s
retries: 20
start_period: 60s
# ── wafpass-dashboard ─────────────────────────────────────
wafpass-dashboard:
build:
context: ./wafpass-dashboard
dockerfile: Dockerfile
restart: unless-stopped
depends_on:
- wafpass-server
ports:
- "3000:80"
volumes:
postgres_data:
In CI / Pre-Commit einbinden.
Stoppen Sie nicht konforme Infrastruktur, bevor sie Ihren Main-Branch erreicht. WOMBATpass arbeitet ausschließlich mit den Dateien im Repository — CI-Checks sind schnell und brauchen keine Cloud-Secrets.
Pre-Commit-Hook installieren
Führen Sie das Installationsskript aus dem WOMBATpass-Repository einmal pro Klon aus. Danach wird jeder git commit automatisch geprüft.
$bash hooks/install.sh # macOS / Linux / Git Bash
$.\hooks\install.ps1 # Windows PowerShell
WOMBATpass zu GitHub Actions hinzufügen
Nutzen Sie die offizielle WOMBATpass GitHub Action, um Pull Requests mit Fehlkonfigurationen scheitern zu lassen. Funktioniert mit öffentlichen und privaten Repositories.
WOMBATpass Action einrichtenFortgeschrittenes / manuelles Setup.
Installieren Sie nur die Komponenten, die Sie brauchen. Starten Sie mit der CLI für CI/CD und ergänzen Sie Server und Dashboard, wenn Sie Persistenz und visuelle Analyse benötigen.
wafpass-CLI installieren
Zentrale Prüf-Engine: IaC parsen, Controls bewerten, Berichte erzeugen.
Über PyPI (empfohlen)
$pip install wafpass-core
$uv add wafpass-core # recommended for Python projects
Aus dem Quellcode
$git clone https://github.com/WAF2p/pass.git
$cd pass
$uv pip install -e . # recommended
$pip install -e ".[pdf]" # with PDF report support
macOS (Apple M-series)
$brew install git python uv
$git clone https://github.com/WAF2p/pass.git && cd pass
$uv pip install -e .
$wombat --version # verify installation
wafpass-server installieren
FastAPI-Persistenzschicht: speichert Runs, Waiver, Secret-Findings und Audit-Ereignisse.
Über PyPI (empfohlen)
$pip install wafpass-server
$uv add wafpass-server # recommended for Python projects
Konfigurieren & starten
$cp .env.example .env # set DATABASE_URL and JWT secret
$alembic upgrade head # apply database migrations
$uvicorn wafpass_server.main:app --reload --port 8000
API-Dokumentation verfügbar unter http://localhost:8000/api/docs
wafpass-dashboard installieren
React-Web-Dashboard: über 22 Compliance-Ansichten, Nachweis-Export, RBAC.
$git clone https://github.com/WAF2p/wafpass-dashboard.git
$cd wafpass-dashboard
$npm install
$cp .env.example .env.local # set VITE_API_URL
$npm run dev # dev server at http://localhost:5173
Häufige Probleme & Lösungen.
Schnelle Antworten, falls etwas beim ersten Versuch nicht klappt.
Controls nicht gefunden
Wenn wombat check „controls directory not found“ meldet, zeigt die CLI automatisch eine Download-Anleitung an. Achten Sie darauf, dass der Ordner controls/ neben dem Verzeichnis liegt, in dem Sie scannen.
Port bereits belegt
Verwenden Sie einen anderen Port für Server oder Dashboard:
$uvicorn wafpass_server.main:app --port 8001
$npm run dev -- --port 5174
Fehler bei der Datenbankverbindung
Prüfen Sie, ob PostgreSQL läuft und Ihre DATABASE_URL korrekt ist:
$psql $DATABASE_URL -c "SELECT 1"
Docker-Build schlägt fehl
Beim Bauen aus dem Quellcode müssen alle drei Repositories nebeneinander im selben übergeordneten Verzeichnis geklont sein:
$ls -1
pass/
wafpass-server/
wafpass-dashboard/
Ihr erster Check ist gelaufen. Wie geht es weiter?
Wählen Sie den nächsten Schritt passend zu Ihrer Rolle: Framework-Wissen vertiefen, WOMBATpass in CI/CD einbinden oder das volle visuelle Dashboard erkunden.
Die 8 Säulen erkunden
Verstehen Sie das Wombat-Framework und die Controls hinter jeder Säule.
Mehr erfahren →Zu GitHub Actions hinzufügen
Stoppen Sie nicht konforme Merges, bevor sie Ihren Main-Branch erreichen.
Action einrichten →Dokumentation lesen
CLI-Referenz, Server-API, Konfiguration und fortgeschrittene Nutzung.
Dokumentation öffnen →