
KI-gestützte offensive Sicherheitstests mit autonomen Agenten, direkt in deinem Terminal.
<h1 align="center">Pensar Apex</h1> <p align="center"> KI-gestütztes Penetrationstesting mit autonomen Agenten — direkt in deinem Terminal. Führe Blackbox- und Whitebox-Pentests durch, die erkunden, Schlussfolgerungen ziehen und echte Schwachstellen aufdecken. </p> <p align="center"> Möchtest du es aus der Cloud ausführen oder in deine CI/CD integrieren? Siehe <a href="https://docs.pensar.dev/console">Pensar Console</a>. </p> <p align="center"> <a href="https://www.npmjs.com/package/@pensar/apex"><img src="https://img.shields.io/npm/v/@pensar/apex?label=latest" alt="npm version"></a> <a href="https://www.npmjs.com/package/@pensar/apex"><img src="https://img.shields.io/npm/v/@pensar/apex/canary?label=prerelease&color=yellow" alt="npm prerelease version"></a> <!-- <a href="https://www.npmjs.com/package/@pensar/apex"><img src="https://img.shields.io/npm/dm/@pensar/apex" alt="npm downloads"></a> --> <a href="https://github.com/pensarai/apex/blob/canary/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="Apache 2.0 License"></a> <a href="https://docs.pensar.dev/apex"><img src="https://img.shields.io/badge/docs-docs.pensar.dev/apex-purple?logo=readthedocs&logoColor=white" alt="Documentation"></a> <a href="https://discord.gg/pensar"><img src="https://img.shields.io/badge/Discord-Join%20Us-5865F2?logo=discord&logoColor=white" alt="Discord"></a> </p> <!-- <p align="center"> <img src="https://raw.githubusercontent.com/pensarai/apex/canary/screenshot.png" alt="Pensar Apex Screenshot" width="800"> </p> --> ## Anwendungsfälle ### Entwickler - Führe `/pentest` vor dem Mergen eines PRs aus — erkenne Schwachstellen so selbstverständlich wie das Ausführen von Tests - Erhalte umsetzbare Ergebnisse mit Schweregradbewertungen, Belegen und vorgeschlagenen Korrekturen — kein Sicherheitshintergrund erforderlich - Integriere es über Headless-CLI-Befehle oder Pensar Console in CI/CD ### Sicherheitsingenieure - Setze agentengesteuertes Swarm-Testing über große Angriffsflächen hinweg ein - Nutze den `/operator`-Modus für manuelle Untersuchungen, Exploit-Verkettung und Validierung - Automatisiere repetitive Testing-Workflows mit persistentem Gedächtnis, das sich über Einsätze hinweg ansammelt - Skaliere über Teams und Projekte hinweg durch Pensar Console ## Installation | Methode | Befehl | | ------------------------------- | ---------------------------------------------------- | | **Schnellinstallation** (macOS/Linux) | `curl -fsSL https://pensarai.com/install.sh \| bash` | | **Homebrew** | `brew tap pensarai/tap && brew install apex` | | **npm** | `npm install -g @pensar/apex` | | **Windows** (PowerShell) | `irm https://www.pensarai.com/apex.ps1 \| iex` | ## Verwendung Öffne die Apex TUI: ```bash pensar ``` ### Headless-CLI Führe Pentests ohne die TUI für Skripting, CI oder evalgate-Integration aus: ```bash # Basic pentest pensar pentest --target https://example.com # With extended thinking and task-driven mode pensar pentest --target https://example.com --extended-thinking --task-driven # Whitebox (with source code access) pensar pentest --target https://example.com --cwd ./my-app # Targeted pentest with specific objectives pensar targeted-pentest --target https://example.com --objective "Test authentication bypass" ``` | Flag | Befehl | Beschreibung | | ------------------------------ | ------------------------- | ---------------------------------------------- | | `--target <url>` | pentest, targeted-pentest | Ziel-URL (erforderlich) | | `--cwd <path>` | pentest | Quellcodepfad für den Whitebox-Modus | | `--mode <mode>` | pentest | `exfil` für Pivoting und Flag-Extraktion | | `--model <model>` | pentest, targeted-pentest | KI-Modell (Standard: automatisch ausgewählt) | | `--extended-thinking` | pentest | Erweitertes Denken für unterstützte Modelle aktivieren | | `--task-driven` | pentest | Aufgabengetriebene Architektur aktivieren (experimentell) | | `--prompt <text\|@file>` | pentest | Benutzerdefinierte Anleitung für den Agenten | | `--threat-model <text\|@file>` | pentest | Bedrohungsmodell zur Steuerung des Testings | | `--objective <text>` | targeted-pentest | Testziel (wiederholbar) | ### Hoonify-Inferenz Verbinde **Hoonify** in `/providers` oder setze `HOONIFY_API_KEY` und wähle dann ein entdecktes Modell in `/models` aus. Headless-Befehle akzeptieren `--model-provider hoonify --model <catalog-model-id>`. Siehe [Hoonify-Einrichtung](https://github.com/pensarai/apex/blob/canary/docs/hoonify.md) für Modellentdeckung, Token-Budgets und Live-Checks. ### Benutzerdefinierte Inferenz-Endpunkte Bringe einen OpenAI-kompatiblen Endpunkt und Bearer-Token über die `customProviders`- Konfiguration oder die Worker-Umgebungsvariable `APEX_CUSTOM_PROVIDERS` mit. Wähle ihn mit `--model-provider <id> --model <model>` aus oder wähle seine deklarierten Modelle im `/models`-Picker des Operators. Siehe [Einrichtung benutzerdefinierter Inferenz](https://github.com/pensarai/apex/blob/canary/docs/custom-inference.md) für GLM-Einstellungen, Headless-Job-Konfiguration und einen Live-Verbindungstest. ### Protokollierung Apex leitet diagnostische/operative Protokollierung über einen zentralisierten strukturierten Logger (`src/core/logger`). Er schreibt einzeiliges JSON nach **stderr**, wenn die Ausgabe kein TTY ist — wodurch es vom stdout des Programms getrennt und einfach an eine Log-Pipeline (z. B. CloudWatch) weiterleitbar bleibt — und gibt eine hübsche, farbige Ausgabe in einem interaktiven Terminal aus. Benutzerorientierte CLI/TUI-Ausgabe bleibt auf stdout. Lege den Level fest (am ausführlichsten → am wenigsten ausführlich: `debug` < `info` < `warn` < `error`, Standard `info`): ```bash pensar pentest --target https://example.com --log-level debug # or --verbose / --quiet PENSAR_LOG_LEVEL=debug pensar ... # via environment PENSAR_DEBUG=1 pensar ... # back-compat alias for debug ``` Auflösungsreihenfolge: CLI-Flag → `PENSAR_LOG_LEVEL` → `PENSAR_DEBUG` → Standard `info`. `PENSAR_LOG_FORMAT=json|pretty` erzwingt das Ausgabeformat. Wenn Apex als verwalteter Agent läuft, wird `PENSAR_LOG_LEVEL` von der Host-Umgebung bereitgestellt. ### W&B Weave Tracing Streame Agenten-Traces auf Schritt-Ebene an Weights & Biases Weave zur Analyse und Feinabstimmung: ```bash export WANDB_API_KEY=your-key export WANDB_ENTITY=your-entity # WANDB_PROJECT defaults to "apex-traces" pensar pentest --target https://example.com ``` Traces umfassen Argumentationsschritte, Tool-Aufrufe, Token-Nutzung und State-Checkpoints. Wenn keine Anmeldedaten gesetzt sind, wird Tracing stillschweigend deaktiviert. ### OpenTelemetry (Observability) Apex gibt OpenTelemetry-Spans für Agentenläufe, LLM-Aufrufe und Tool-Ausführungen über `@opentelemetry/api` aus. Spans sind No-Ops, es sei denn, dein Prozess registriert ein OpenTelemetry SDK als globalen Tracer-Provider; Apex liefert kein SDK mit. Registriere ein SDK, bevor du Apex-Code importierst: - **Sentry**: installiere `@sentry/node` ≥ 9.27 und füge `Sentry.vercelAIIntegration()` zu deinen `Sentry.init`-Integrationen hinzu. - **Jedes OTel-Backend** (Honeycomb, Tempo, Datadog usw.): registriere `@opentelemetry/sdk-node` mit einem OTLP-Exporter. Spans folgen den [OTel GenAI-Semantikkonventionen](https://opentelemetry.io/docs/specs/semconv/gen-ai/). Standardmäßig wird nur die Span-Form (Modell, Token-Anzahlen, Latenz, Tool-Namen) erfasst; setze `AI_TRACE_RECORD_PAYLOADS=true`, um auch Prompts, Tool-I/O und Ausgaben aufzuzeichnen. ## Kali Linux Container (Optional) Für **beste Leistung** führe Apex im mitgelieferten Kali Linux Container mit vorkonfigurierten Pentest-Tools aus: ```bash cd container cp env.example .env # add your API keys docker compose up --build -d docker compose exec kali-apex bash ``` Führe innerhalb des Containers aus: ```bash pensar ``` --- ### ⚠️ Verantwortungsvolle Nutzung Dieses Repository enthält Tools ausschließlich für **autorisiertes Sicherheitstesting**. Vor der Nutzung lies bitte die [Responsible Use Disclosure](https://github.com/pensarai/apex/blob/canary/RESPONSIBLE_USE.md) und stimme ihr zu.