Prowler ist die weltweit am weitesten verbreitete Open-Source-Cloud-Sicherheitsplattform, die Sicherheit und Compliance in jeder Cloud-Umgebung automatisiert. Verbinde jetzt deine Agenten und baue auf dem Agentic Cloud Defender auf.
<p align="center">
<img align="center" alt="Prowler logo" src="https://raw.githubusercontent.com/prowler-cloud/prowler/master/docs/img/prowler-logo-black.png#gh-light-mode-only" width="50%" height="50%">
<img align="center" alt="Prowler logo" src="https://raw.githubusercontent.com/prowler-cloud/prowler/master/docs/img/prowler-logo-white.png#gh-dark-mode-only" width="50%" height="50%">
</p>
<p align="center">
<b><i>Prowler</b> ist die Open-Cloud-Security-Plattform, der Tausende vertrauen, um Sicherheit und Compliance in jeder Cloud-Umgebung zu automatisieren. Mit Tausenden einsatzbereiten Checks und Compliance-Frameworks bietet Prowler Echtzeit-, anpassbare Überwachung und nahtlose Integrationen und macht Cloud-Sicherheit für Organisationen jeder Größe einfach, skalierbar und kosteneffizient.
</p>
<p align="center">
<b>Der agentische Cloud-Verteidiger</i></b>
</p>
<p align="center">
<a href="https://cloud.prowler.com/sign-up">Prowler Cloud ausprobieren</a>
</p>
<p align="center">
<a href="https://goto.prowler.com/slack"><img width="30" height="30" alt="Prowler community on Slack" src="https://assets.kitploit.com/production/public/readmes/2538/6815b86accf315cdf23afa1d72f1d9f88f899835d8ecddcd84f8479de05471c1.png"></a>
<br>
<a href="https://goto.prowler.com/slack">Tritt unserer Prowler-Community bei!</a>
</p>
<hr>
<p align="center">
<a href="https://goto.prowler.com/slack"><img alt="Slack Shield" src="https://img.shields.io/badge/slack-prowler-brightgreen.svg?logo=slack"></a>
<a href="https://pypi.org/project/prowler/"><img alt="Python Version" src="https://img.shields.io/pypi/v/prowler.svg"></a>
<a href="https://pypi.python.org/pypi/prowler/"><img alt="Python Version" src="https://img.shields.io/pypi/pyversions/prowler.svg"></a>
<a href="https://pypistats.org/packages/prowler"><img alt="PyPI Downloads" src="https://img.shields.io/pypi/dw/prowler.svg?label=downloads"></a>
<a href="https://hub.docker.com/r/toniblyx/prowler"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/toniblyx/prowler"></a>
<a href="https://gallery.ecr.aws/prowler-cloud/prowler"><img width="120" height="19" alt="AWS ECR Gallery" src="https://assets.kitploit.com/production/public/readmes/2538/303a8488b665aa89d4361d05140d3c00466f7bf8caef7bd602e2ca23fa11ecaa.png"></a>
<a href="https://codecov.io/gh/prowler-cloud/prowler"><img alt="Codecov coverage" src="https://codecov.io/gh/prowler-cloud/prowler/graph/badge.svg?token=OflBGsdpDl"/></a>
<a href="https://insights.linuxfoundation.org/project/prowler-cloud-prowler"><img alt="Linux Foundation insights health score" src="https://insights.linuxfoundation.org/api/badge/health-score?project=prowler-cloud-prowler"/></a>
</p>
<p align="center">
<a href="https://github.com/prowler-cloud/prowler/releases"><img alt="Version" src="https://img.shields.io/github/v/release/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler/releases"><img alt="Version" src="https://img.shields.io/github/release-date/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler"><img alt="Contributors" src="https://img.shields.io/github/contributors-anon/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler/issues"><img alt="Issues" src="https://img.shields.io/github/issues/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler"><img alt="License" src="https://img.shields.io/github/license/prowler-cloud/prowler"></a>
<a href="https://twitter.com/ToniBlyx"><img alt="Twitter" src="https://img.shields.io/twitter/follow/toniblyx?style=social"></a>
<a href="https://twitter.com/prowlercloud"><img alt="Twitter" src="https://img.shields.io/twitter/follow/prowlercloud?style=social"></a>
</p>
<hr>
<p align="center">
<img align="center" alt="Prowler Cloud demo" src="https://assets.kitploit.com/production/public/readmes/2538/043a71fa35a004ac2df2e07065732f30229319ec9b6460dd27eb71b91335963a.gif" width="100%" height="100%">
</p>
# Beschreibung
**Prowler** ist die weltweit am häufigsten genutzte _Open-Source-Cloud-Sicherheitsplattform_, die Sicherheit und Compliance über **jede Cloud-Umgebung** hinweg automatisiert. Mit Tausenden einsatzbereiten Sicherheitsprüfungen, Anleitungen zur Behebung und Compliance-Frameworks ist Prowler darauf ausgelegt, _„jede Cloud mit KI-Geschwindigkeit abzusichern“_. Prowler liefert **KI-gesteuerte**, **anpassbare** und **benutzerfreundliche** Bewertungen, Dashboards, Berichte und Integrationen und macht Cloud-Sicherheit für Organisationen jeder Größe **einfach**, **skalierbar** und **kosteneffizient**.
Prowler enthält Hunderte integrierte Kontrollen, um die Einhaltung von Standards und Frameworks sicherzustellen, darunter:
- **Prowler ThreatScore:** Gewichtete Risikopriorisierungsbewertung, die Ihnen hilft, sich zuerst auf die kritischsten Sicherheitsbefunde zu konzentrieren
- **Branchenstandards:** CIS, NIST 800, NIST CSF, CISA und MITRE ATT&CK
- **Regulatorische Compliance und Governance:** RBI, FedRAMP, PCI-DSS und NIS2
- **Frameworks für sensible Daten und Datenschutz:** GDPR, HIPAA und FFIEC
- **Frameworks für organisatorische Governance und Qualitätskontrolle:** SOC2, GXP und ISO 27001
- **Cloud-spezifische Frameworks:** AWS Foundational Technical Review (FTR), AWS Well-Architected Framework und BSI C5
- **Nationale Sicherheitsstandards:** ENS (spanisches nationales Sicherheitsschema) und KISA ISMS-P (koreanisch)
- **Benutzerdefinierte Sicherheits-Frameworks:** Auf Ihre Bedürfnisse zugeschnitten
## Prowler Cloud & Prowler Local Server
[Prowler Cloud](https://cloud.prowler.com/sign-up) und Prowler Local Server, die selbst gehostete Open-Source-Version, sind Webanwendungen, die das Ausführen von Prowler über Ihre Cloud-Provider-Konten hinweg vereinfachen. Sie bieten eine benutzerfreundliche Oberfläche zur Visualisierung der Ergebnisse und zur Optimierung Ihrer Sicherheitsbewertungen.



>Weitere Details finden Sie in der [Dokumentation zu Prowler Local Server](https://docs.prowler.com/getting-started/installation/prowler-app)
## Prowler CLI
```console
prowler <provider>
```

## Prowler Lokales Dashboard
```console
prowler dashboard
```

## Attack Paths
Attack Paths erweitert automatisch jeden abgeschlossenen AWS-Scan um einen Graphen, der Cartographys Cloud-Inventar mit Prowler-Findings kombiniert. Die Funktion läuft im API-Worker nach jedem Scan.
Zwei Graph-Backends werden als langlebige Senke unterstützt:
- **Neo4j** (Standard; die Docker-Compose-Dateien enthalten bereits einen `neo4j`-Dienst).
- **Amazon Neptune** (cloud-verwaltet; Opt-in).
Wählen Sie die Senke mit `ATTACK_PATHS_SINK_DATABASE` (`neo4j` oder `neptune`; Standard `neo4j`).
> Hinweis: Die Cartography-Ingestion verwendet immer eine temporäre Neo4j-Datenbank, unabhängig von der konfigurierten Senke. Die unten aufgeführten `NEO4J_*`-Variablen müssen auch dann gesetzt bleiben, wenn `ATTACK_PATHS_SINK_DATABASE=neptune` gilt.
### Neo4j-Senke
| Variable | Beschreibung | Standard |
| --- | --- | --- |
| `NEO4J_HOST` | Hostname, der von den API-Containern verwendet wird. | `neo4j` |
| `NEO4J_PORT` | Von Neo4j bereitgestellter Bolt-Port. | `7687` |
| `NEO4J_USER` / `NEO4J_PASSWORD` | Anmeldedaten mit Rechten zum Erstellen mandantenspezifischer Datenbanken. | `neo4j` / `neo4j_password` |
### Neptune-Senke
| Variable | Beschreibung | Standard |
| --- | --- | --- |
| `NEPTUNE_WRITER_ENDPOINT` | Bolt-Host für die Neptune-Writer-Instanz. Erforderlich, wenn die Senke `neptune` ist. | _leer_ |
| `NEPTUNE_READER_ENDPOINT` | Optionaler Reader-Endpunkt für schreibgeschützte Abfragen. Fällt auf den Writer zurück, wenn nicht gesetzt. | _leer_ |
| `NEPTUNE_PORT` | Von Neptune bereitgestellter Bolt-Port. | `8182` |
| `AWS_REGION` | Region, in der sich der Neptune-Cluster befindet. Erforderlich, wenn die Senke `neptune` ist. | _leer_ |
Neptune authentifiziert sich mit SigV4 über die standardmäßige boto3-Anmeldedatenkette. Die IAM-Rolle des Workers (oder `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`) liefert die Anmeldedaten. Es gibt keine Neptune-Passwortvariable.
Jeder AWS-Provider-Scan stellt automatisch einen Attack-Paths-Ingestion-Job in die Warteschlange. Weitere Cloud-Provider werden in zukünftigen Iterationen hinzugefügt.
# Prowler auf einen Blick
> [!Tip]
> Die genauesten und aktuellsten Informationen zu Checks, Diensten, Frameworks und Kategorien finden Sie im [**Prowler Hub**](https://hub.prowler.com).
| Provider | Checks | Dienste | [Compliance-Frameworks](https://docs.prowler.com/user-guide/compliance/tutorials/compliance) | [Kategorien](https://docs.prowler.com/user-guide/cli/tutorials/misc#categories) | Support | Schnittstelle |
|---|---|---|---|---|---|---|
| AWS | 639 | 86 | 47 | 19 | Offiziell | UI, API, CLI |
| Azure | 191 | 22 | 21 | 16 | Offiziell | UI, API, CLI |
| GCP | 109 | 20 | 19 | 12 | Offiziell | UI, API, CLI |
| Kubernetes | 92 | 7 | 8 | 11 | Offiziell | UI, API, CLI |
| GitHub | 24 | 3 | 2 | 5 | Offiziell | UI, API, CLI |
| M365 | 143 | 10 | 6 | 10 | Offiziell | UI, API, CLI |
| OCI | 52 | 14 | 5 | 10 | Offiziell | UI, API, CLI |
| Alibaba Cloud | 63 | 9 | 6 | 9 | Offiziell | UI, API, CLI |
| Cloudflare | 29 | 3 | 2 | 5 | Offiziell | UI, API, CLI |
| IaC | [Siehe `trivy`-Dokumentation.](https://trivy.dev/latest/docs/coverage/iac/) | N/A | N/A | N/A | Offiziell | UI, API, CLI |
| MongoDB Atlas | 10 | 3 | 1 | 8 | Offiziell | UI, API, CLI |
| LLM | [Siehe `promptfoo`-Dokumentation.](https://www.promptfoo.dev/docs/red-team/plugins/) | N/A | N/A | N/A | Offiziell | CLI |
| Image | N/A | N/A | N/A | N/A | Offiziell | UI, API, CLI |
| Google Workspace | 65 | 11 | 3 | 6 | Offiziell | UI, API, CLI |
| OpenStack | 34 | 5 | 1 | 9 | Offiziell | UI, API, CLI |
| Vercel | 26 | 6 | 1 | 8 | Offiziell | UI, API, CLI |
| Okta | 29 | 8 | 2 | 2 | Offiziell | UI, API, CLI |
| Linode [Kontaktieren Sie uns](https://prowler.com/contact) | 10 | 3 | 1 | 4 | Inoffiziell | CLI |
| Huawei Cloud [Kontaktieren Sie uns](https://prowler.com/contact) | 25 | 10 | 1 | 6 | Inoffiziell | CLI |
| E2E Networks [Kontaktieren Sie uns](https://prowler.com/contact) | 27 | 6 | 0 | 2 | Inoffiziell | CLI |
| Scaleway [Kontaktieren Sie uns](https://prowler.com/contact) | 1 | 1 | 1 | 1 | Inoffiziell | CLI |
| StackIT [Kontaktieren Sie uns](https://prowler.com/contact) | 8 | 2 | 1 | 3 | Inoffiziell | CLI |
| NHN | 6 | 2 | 2 | 0 | Inoffiziell | CLI |
> [!Note]
> Die Zahlen in der Tabelle werden regelmäßig aktualisiert.
> [!Note]
> Verwende die folgenden Befehle, um die verfügbaren Checks, Dienste, Compliance-Frameworks und Kategorien von Prowler aufzulisten:
> - `prowler <provider> --list-checks`
> - `prowler <provider> --list-services`
> - `prowler <provider> --list-compliance`
> - `prowler <provider> --list-categories`
# 💻 Installation
## Prowler Local Server
Prowler Local Server bietet flexible Installationsmethoden, die auf verschiedene Umgebungen zugeschnitten sind:
> Eine ausführliche Anleitung zur Verwendung von Prowler Local Server findest du im [Nutzungshandbuch](https://docs.prowler.com/user-guide/tutorials/prowler-app).
### Docker Compose
#### Voraussetzungen
- `Docker Compose` installiert: https://docs.docker.com/compose/install/.
#### Befehle
_macOS/Linux:_
``` console
VERSION=$(curl -s https://api.github.com/repos/prowler-cloud/prowler/releases/latest | jq -r .tag_name)
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/docker-compose.yml"
# Environment variables can be customized in the .env file. Using default values in production environments is not recommended.
curl -sLO "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/${VERSION}/.env"
docker compose up -d
```
_Windows PowerShell:_
``` powershell
$VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/prowler-cloud/prowler/releases/latest").tag_name
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/$VERSION/docker-compose.yml" -OutFile "docker-compose.yml"
# Environment variables can be customized in the .env file. Using default values in production environments is not recommended.
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/prowler-cloud/prowler/refs/tags/$VERSION/.env" -OutFile ".env"
docker compose up -d
```
> [!WARNING]
> 🔒 Für eine sichere Einrichtung generiert die API automatisch ein eindeutiges Schlüsselpaar, `DJANGO_TOKEN_SIGNING_KEY` und `DJANGO_TOKEN_VERIFYING_KEY`, und speichert es in `~/.config/prowler-api` (Nicht-Container) oder im gebundenen Docker-Volume in `_data/api` (Container). Committen oder verwenden Sie niemals statische/Standard-Schlüssel erneut. Um Schlüssel zu rotieren, löschen Sie die gespeicherten Schlüsseldateien und starten Sie die API neu.
Sobald konfiguriert, greifen Sie auf den Prowler Local Server unter http://localhost:3000 zu. Registrieren Sie sich mit Ihrer E-Mail und Ihrem Passwort, um zu beginnen.
### Häufige Probleme bei der Docker-Pull-Installation
> [!Note]
Wenn Sie die AWS-Rollenübernahme verwenden möchten (z. B. mit der Option „Connect assuming IAM Role"), müssen Sie möglicherweise Ihr lokales `.aws`-Verzeichnis als Volume in den Container einbinden (z. B. `- "${HOME}/.aws:/home/prowler/.aws:ro"`). Es gibt mehrere Möglichkeiten, Anmeldeinformationen für Docker-Container zu konfigurieren. Weitere Details und Beispiele finden Sie im Abschnitt [Troubleshooting](https://github.com/prowler-cloud/prowler/blob/master/docs/troubleshooting.mdx).
Weitere Informationen finden Sie im Abschnitt [Troubleshooting](https://github.com/prowler-cloud/prowler/blob/master/docs/troubleshooting.mdx).
### Von GitHub
#### Voraussetzungen
- `git` installiert.
- `uv` installiert: [uv installation](https://docs.astral.sh/uv/getting-started/installation/).
- `pnpm` installiert: [pnpm installation](https://pnpm.io/installation).
- `Docker Compose` installiert: https://docs.docker.com/compose/install/.
#### Befehle zum Ausführen der API
``` console
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
uv sync
source .venv/bin/activate
set -a
source .env
docker compose up postgres valkey -d
cd src/backend
python manage.py migrate --database admin
gunicorn -c config/guniconf.py config.wsgi:application
```
> Nach Abschluss der Einrichtung ist die API-Dokumentation unter http://localhost:8080/api/v1/docs erreichbar.
#### Befehle zum Ausführen des API Workers
``` console
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
uv sync
source .venv/bin/activate
set -a
source .env
cd src/backend
python -m celery -A config.celery worker -l info -E
```
#### Befehle zum Ausführen des API-Schedulers
``` console
git clone https://github.com/prowler-cloud/prowler
cd prowler/api
uv sync
source .venv/bin/activate
set -a
source .env
cd src/backend
python -m celery -A config.celery beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
```
#### Befehle zum Ausführen der UI
``` console
git clone https://github.com/prowler-cloud/prowler
cd prowler/ui
pnpm install
pnpm run build
pnpm start
```
> Nach der Konfiguration ist der Prowler Local Server unter http://localhost:3000 erreichbar. Melden Sie sich mit Ihrer E-Mail-Adresse und Ihrem Passwort an, um zu beginnen.
#### Einrichtung der Pre-commit-Hooks
Einige Pre-commit-Hooks erfordern Tools, die auf Ihrem System installiert sind:
1. **Installieren Sie [TruffleHog](https://github.com/trufflesecurity/trufflehog#install)** (Secret-Scanning) — siehe die [offiziellen Installationsoptionen](https://github.com/trufflesecurity/trufflehog#install).
2. **Installieren Sie [Hadolint](https://github.com/hadolint/hadolint#install)** (Dockerfile-Linting) — siehe die [offiziellen Installationsoptionen](https://github.com/hadolint/hadolint#install).
## Prowler CLI
### Pip-Paket
Die Prowler CLI ist als Projekt in [PyPI](https://pypi.org/project/prowler-cloud/) verfügbar. Folglich kann sie mit pip mit Python >=3.10, <3.13 installiert werden:
```console
pip install prowler
prowler -v
```
>Weitere Hinweise finden Sie unter [https://docs.prowler.com](https://docs.prowler.com/getting-started/installation/prowler-cli)
### Container
#### Verfügbare Versionen der Prowler CLI
Je nach Ihren Anforderungen sind die folgenden Versionen der Prowler CLI verfügbar:
- `latest`: Synchronisiert mit dem `master`-Branch. Beachten Sie, dass diese Version nicht stabil ist.
- `v4-latest`: Synchronisiert mit dem `v4`-Branch. Beachten Sie, dass diese Version nicht stabil ist.
- `v3-latest`: Synchronisiert mit dem `v3`-Branch. Beachten Sie, dass diese Version nicht stabil ist.
- `<x.y.z>` (Release): Stabile Releases, die bestimmten Versionen entsprechen. Siehe die [vollständige Liste der Prowler-Releases](https://github.com/prowler-cloud/prowler/releases).
- `stable`: Verweist immer auf das neueste Release.
- `v4-stable`: Verweist immer auf das neueste Release für v4.
- `v3-stable`: Verweist immer auf das neueste Release für v3.
Die Container-Images sind hier verfügbar:
- Prowler CLI:
- [DockerHub](https://hub.docker.com/r/prowlercloud/prowler/tags)
- [AWS Public ECR](https://gallery.ecr.aws/prowler-cloud/prowler)
- Prowler Local Server:
- [DockerHub - Prowler UI](https://hub.docker.com/r/prowlercloud/prowler-ui/tags)
- [DockerHub - Prowler API](https://hub.docker.com/r/prowlercloud/prowler-api/tags)
### Von GitHub
Python >=3.10, <3.13 ist erforderlich, zusammen mit [uv](https://docs.astral.sh/uv/):
``` console
git clone https://github.com/prowler-cloud/prowler
cd prowler
uv sync
source .venv/bin/activate
python prowler-cli.py -v
```
> [!IMPORTANT]
> Um Prowler unter Windows zu klonen, konfigurieren Sie Git so, dass lange Dateipfade unterstützt werden, indem Sie den folgenden Befehl ausführen: `git config core.longpaths true`.
# 🛡️ GitHub Action
Die offizielle **Prowler GitHub Action** führt Prowler-Scans in Ihren GitHub-Workflows mit dem offiziellen Docker-Image [`prowlercloud/prowler`](https://hub.docker.com/r/prowlercloud/prowler) aus. Scans laufen auf jedem [unterstützten Provider](https://docs.prowler.com/user-guide/providers/), mit optionalem [`--push-to-cloud`](https://docs.prowler.com/user-guide/tutorials/prowler-import-findings), um Findings an Prowler Cloud zu senden, und optionalem SARIF-Upload, damit Findings im Tab **Security → Code scanning** des Repos und als Inline-Anmerkungen in Pull Requests angezeigt werden.
```yaml
name: Prowler IaC Scan
on:
pull_request:
permissions:
contents: read
security-events: write
actions: read
jobs:
prowler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: prowler-cloud/[email protected]
with:
provider: iac
output-formats: sarif json-ocsf
upload-sarif: true
flags: --severity critical high
```
Vollständige Konfiguration, Authentifizierung pro Anbieter und SARIF-Beispiele: [Prowler GitHub Action tutorial](https://github.com/prowler-cloud/prowler/blob/master/docs/user-guide/tutorials/prowler-app-github-action.mdx). Marketplace-Eintrag: [Prowler Security Scan](https://github.com/marketplace/actions/prowler-security-scan).
# ✏️ High-Level-Architektur
## Prowler Local Server
Der **Prowler Local Server** besteht aus vier Schlüsselkomponenten:
- **Prowler UI**: Eine webbasierte Oberfläche, die mit Next.js erstellt wurde und eine benutzerfreundliche Erfahrung für die Ausführung von Prowler-Scans und die Visualisierung von Ergebnissen bietet.
- **Prowler API**: Ein Backend-Dienst, der mit Django REST Framework entwickelt wurde und für die Ausführung von Prowler-Scans und die Speicherung der generierten Ergebnisse verantwortlich ist.
- **Prowler SDK**: Ein Python-SDK, das entwickelt wurde, um die Funktionalität der Prowler CLI für erweiterte Fähigkeiten zu erweitern.
- **Prowler MCP Server**: Ein Model Context Protocol-Server, der KI-Tools für Lighthouse bereitstellt, den KI-gestützten Sicherheitsassistenten. Dies ist eine kritische Abhängigkeit für die Lighthouse-Funktionalität.
```mermaid
flowchart TB
user([User / Security Team])
cli([Prowler CLI])
subgraph APP["Prowler Local Server"]
ui["Prowler UI<br/>(Next.js)"]
api["Prowler API<br/>(Django REST Framework)"]
worker["API Worker<br/>(Celery)"]
beat["API Scheduler<br/>(Celery Beat)"]
mcp["Prowler MCP Server<br/>(Lighthouse AI tools)"]
end
sdk["Prowler SDK<br/>(Python)"]
subgraph DATA["Data Layer"]
pg[("PostgreSQL")]
valkey[("Valkey / Redis")]
neo4j[("Neo4j")]
end
providers["Providers"]
user --> ui
user --> cli
ui -->|REST| api
ui -->|MCP HTTP| mcp
mcp -->|REST| api
api --> pg
api --> valkey
beat -->|enqueue jobs| valkey
valkey -->|dispatch| worker
worker --> pg
worker -->|Attack Paths| neo4j
worker -->|invokes| sdk
cli --> sdk
sdk --> providers
```
<!-- Diagrammquelle: docs/images/products/prowler-app-architecture.mmd — diesen Inline-Block, die Docs-Seite getting-started/products/prowler-app.mdx und die .mmd-Datei synchron halten. -->
## Prowler CLI
### Prowler ausführen
Prowler kann in verschiedenen Umgebungen ausgeführt werden und bietet die Flexibilität, Ihren Anforderungen gerecht zu werden. Es kann ausgeführt werden von:
- Ihrem eigenen Arbeitsplatz
- Einem Kubernetes Job
- Google Compute Engine
- Azure Virtual Machines (VMs)
- Amazon EC2-Instanzen
- AWS Fargate oder anderen Container-Plattformen
- CloudShell
Und vielen weiteren Umgebungen.

# 🤖 KI-Skills für die Entwicklung
Prowler enthält einen umfassenden Satz von **KI-Skills**, die KI-Codierungsassistenten dabei helfen, die Codemuster und Konventionen der Prowler-Codebasis zu verstehen.
## Was sind KI-Skills?
Skills sind strukturierte Anweisungen, die KI-Assistenten den Kontext vermitteln, den sie benötigen, um Code zu schreiben, der den Standards von Prowler entspricht. Sie umfassen:
- **Codemuster** für jede Komponente (SDK, API, UI, MCP Server)
- **Testkonventionen** (pytest, Playwright)
- **Architekturrichtlinien** (Clean Architecture, RLS-Muster)
- **Frameworkspezifische Regeln** (React 19, Next.js 15, Django DRF, Tailwind 4)
## Verfügbare Skills
| Kategorie | Skills |
|----------|--------|
| **Generisch** | `typescript`, `react-19`, `nextjs-15`, `tailwind-4`, `playwright`, `pytest`, `django-drf`, `zod-4`, `zustand-5`, `ai-sdk-5` |
| **Prowler** | `prowler`, `prowler-api`, `prowler-ui`, `prowler-mcp`, `prowler-sdk-check`, `prowler-test-ui`, `prowler-test-api`, `prowler-test-sdk`, `prowler-compliance`, `prowler-provider`, `prowler-pr`, `prowler-docs` |
## Einrichtung
```bash
./skills/setup.sh
```
Dies konfiguriert Skills für KI-Coding-Assistenten, die dem [agentskills.io](https://agentskills.io)-Standard folgen:
| Tool | Konfiguration |
|------|---------------|
| **Claude Code** | `.claude/skills/` (Symlink) |
| **OpenCode** | `.claude/skills/` (Symlink) |
| **Codex (OpenAI)** | `.codex/skills/` (Symlink) |
| **GitHub Copilot** | `.github/skills/` (Symlink) |
| **Gemini CLI** | `.gemini/skills/` (Symlink) |
> **Hinweis:** Starten Sie Ihren KI-Coding-Assistenten nach dem Ausführen des Setups neu, um die Skills zu laden.
> Gemini CLI erfordert aktivierte `experimental.skills` in den Einstellungen.
# 📖 Dokumentation
Installationsanweisungen, Nutzungsdetails, Tutorials und den Developer Guide finden Sie unter https://docs.prowler.com/
# 📃 Lizenz
Prowler ist unter der Apache License 2.0 lizenziert.
Eine Kopie der Lizenz ist verfügbar unter <http://www.apache.org/licenses/LICENSE-2.0>