Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AgentGuard — Zero-Trust-Sandbox für KI-Agenten mit Kernel-Level-Dateisystem-Jail, transparentem Netzwerk-Proxy und YAML-basierter Policy-Engine zur Abfangung und Kontrolle von Shell-Befehlen, Dateioperationen und Netzwerkanfragen. | Kitploit
Tools/GitHubGitHub/thodoristsampouris/agentguard
DefensivwerkzeugeContainer-SicherheitSicherheitsvirtualisierungNetzwerksicherheitKI-Sicherheit
GitHubthodoristsampouris/agentguard

AgentGuard

Zero-Trust-Sandbox für KI-Agenten mit Kernel-Level-Dateisystem-Jail, transparentem Netzwerk-Proxy und YAML-basierter Policy-Engine zur Abfangung und Kontrolle von Shell-Befehlen, Dateioperationen und Netzwerkanfragen.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
8vor 5 MonatenNoch nicht geprüft

AgentGuard

Zero-Trust-Sandbox für autonome KI-Agenten.

AgentGuard umhüllt jeden KI-Agenten (LangChain, CrewAI, AutoGen, benutzerdefinierte Skripte) mit Sicherheitsschienen. Nur ein Befehl ändert sich:

root@kitploit:~
# Vorher (gefährlich – Agent hat vollen Systemzugriff)
python my_agent.py

# Nachher (gesandboxt)
agentguard run -- python my_agent.py

AgentGuard fängt jeden Shell-Befehl, jede Dateiänderung und jede Netzwerkanfrage ab, die der Agent ausführt. Sichere Aktionen werden automatisch erlaubt, gefährliche automatisch blockiert, und für alles andere wird der Mensch um Genehmigung gebeten.

So funktioniert es

AgentGuard hat vier Verteidigungsschichten, die zusammenwirken:

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ Schicht 0: Dateisystem-Jail (sandbox-exec auf macOS)         │
│   Kernel-Level-Erzwingung. Schränkt Dateischreibvorgänge und │
│   Netzwerk auf Syscall-Ebene ein. Der Agent kann es nicht    │
│   aus dem Userspace umgehen. Blockiert Pythons open(),       │
│   requests.post() usw.                                       │
├─────────────────────────────────────────────────────────────┤
│ Schicht 1: Netzwerk-Proxy                                    │
│   Transparenter HTTP/HTTPS-Proxy. Jeder Netzwerkaufruf des   │
│   Agents wird gegen die Richtlinie geprüft. Pro-Ziel-        │
│   Erlauben/Verweigern mit vollständiger Sichtbarkeit im TUI. │
├─────────────────────────────────────────────────────────────┤
│ Schicht 2: PATH-Shims                                        │
│   Shell-Skript-Shims, die Befehle wie git, pip, curl, rm     │
│   abfangen. Jeder Shim fragt den Daemon um Erlaubnis, bevor  │
│   die echte Binärdatei ausgeführt wird.                      │
├─────────────────────────────────────────────────────────────┤
│ Schicht 3: Policy Engine + Genehmigungs-Daemon               │
│   YAML-basierte Regeln bewerten jede abgefangene Aktion.     │
│   Sichere Befehle automatisch erlauben, gefährliche auto-    │
│   matisch blockieren, für alles andere den Menschen fragen.  │
└─────────────────────────────────────────────────────────────┘

Keine einzelne Schicht ist die Sicherheitsgrenze. Sie arbeiten zusammen – Verteidigung in der Tiefe.

Schnellstart

Bauen

root@kitploit:~
go build -o agentguard ./cmd/agentguard/
go build -o agentguard-check ./cmd/agentguard-check/

Beide Binärdateien müssen im selben Verzeichnis liegen.

Eine Richtlinie erstellen

root@kitploit:~
agentguard init

Dies erzeugt .agentguard/policy.yaml im aktuellen Verzeichnis. Bearbeiten Sie sie nach Ihren Bedürfnissen.

Einen Agenten ausführen (Interaktives TUI)

root@kitploit:~
agentguard run -- python my_agent.py

Das TUI übernimmt das Terminal und zeigt:

  • Live-Aktivitätsstream (jede abgefangene Aktion)
  • Genehmigungsaufforderungen für mehrdeutige Befehle (Drücken Sie Y/N/A/B)
  • Netzwerk-Erlauben/Verweigern-Ereignisse vom Proxy
  • Sandbox-Verletzungsereignisse
  • Agent-Stdout/Stderr (Umschalten mit Tab)

Einen Agenten ausführen (Headless)

Für interaktive Werkzeuge wie Claude Code, die das Terminal benötigen:

root@kitploit:~
agentguard run --headless -- claude

Der Agent bekommt das Terminal direkt. AgentGuard läuft leise im Hintergrund. Alle Ereignisse werden in ~/.agentguard/logs/headless.log protokolliert. Überwachen Sie in einem anderen Terminal:

root@kitploit:~
tail -f ~/.agentguard/logs/headless.log

CLI-Referenz

root@kitploit:~
agentguard run [flags] -- <command> [args...]
    --policy <path>     Eine bestimmte Richtliniendatei verwenden
    --headless          Kein TUI – der Agent bekommt das Terminal
    --default-allow     PROMPT-Entscheidungen im Headless-Modus automatisch erlauben (Standard: auto-deny)
    --no-sandbox        Sandbox-exec deaktivieren (Shims und Proxy bleiben aktiv)

agentguard init         Eine Standard-Richtliniendatei erstellen
agentguard version      Version anzeigen

Richtliniendatei

Richtlinien sind YAML-Dateien, die definieren, was der Agent darf und nicht darf. AgentGuard prüft drei Orte (in dieser Reihenfolge):

  1. ./.agentguard/policy.yaml (projektlokal)
  2. ~/.agentguard/policy.yaml (benutzerglobal)
  3. Eingebaute Standardeinstellungen

Beispielrichtlinie

root@kitploit:~
version: 1

deny:
  # Gefährliche Befehle blockieren
  - command: "rm"
    args: "-rf *"
    reason: "Rekursives erzwungenes Löschen ist zu gefährlich"
  - command: "sudo"
    args: "*"
    reason: "Privilegieneskalation ist nicht erlaubt"
  - command: "chmod"
    args: "777 *"
    reason: "Weltweit beschreibbare Berechtigungen sind gefährlich"

  # Lesen sensibler Dateien blockieren (durchgesetzt von sandbox-exec)
  - file:
      path: "*.env"
      action: "read"
      reason: "Agent darf .env-Dateien nicht lesen lassen"
  - file:
      path: "*.pem"
      action: "read"
      reason: "Agent darf private Schlüssel nicht lesen lassen"

allow:
  # Sichere, schreibgeschützte Befehle
  - command: "ls"
  - command: "cat"
  - command: "pwd"
  - command: "echo"
  - command: "grep"
  - command: "head"
  - command: "tail"
  - command: "wc"

  # Schreibgeschütztes Git
  - command: "git"
    args: "status"
  - command: "git"
    args: "log *"
  - command: "git"
    args: "diff *"

  # Schreibvorgänge in Arbeitsbereich erlauben
  - file:
      path: "/tmp/workspace/**"
      action: "write"

  # Bestimmte API-Endpunkte erlauben
  - network:
      destination: "api.anthropic.com:443"
  - network:
      destination: "api.github.com:443"

Reihenfolge der Regelauswertung

  1. Spezifische Deny-Regeln – zuerst geprüft. Bei Übereinstimmung wird die Aktion sofort blockiert.
  2. Allow-Regeln – als zweites geprüft. Bei Übereinstimmung wird die Aktion erlaubt.
  3. Catch-all-Deny-Regeln (z. B. deny network *) – als drittes geprüft. Fungieren als Standard-Deny.
  4. Keine Übereinstimmung – Der Mensch wird aufgefordert (TUI) oder automatisch verweigert (Headless).

Regeltypen

Befehlsregeln – gleichen Shell-Befehle nach Name und Argumentmuster ab:

root@kitploit:~
- command: "git"
  args: "push *"
  reason: "Pushen erfordert Genehmigung"

Dateiregeln – gleichen Dateioperationen ab (durchgesetzt von sandbox-exec):

root@kitploit:~
- file:
    path: "*.env"
    action: "read"     # "read" oder "write"
    reason: "Geheimnisse schützen"

Netzwerkregeln – gleichen Netzwerkziele ab (durchgesetzt von Proxy + sandbox-exec):

root@kitploit:~
- network:
    destination: "api.anthropic.com:443"

Verwenden Sie * als Platzhalter in Befehlsargumenten, Dateipfaden und Netzwerkzielen.

TUI-Bedienelemente

Was jede Schicht abfängt

Architektur

root@kitploit:~
agentguard/
├── cmd/
│   ├── agentguard/              # Haupt-CLI-Binärdatei
│   └── agentguard-check/        # Shim-Hilfsbinärdatei
├── internal/
│   ├── policy/                  # Policy Engine (YAML-Parsing, Regelauswertung)
│   ├── events/                  # Ereignissystem (JSONL-Audit-Log, Pub/Sub)
│   ├── daemon/                  # Zentraler Daemon (Unix-Socket, Genehmigungswarteschlange)
│   │   └── client/              # Client-Bibliothek für Shims
│   ├── shim/                    # Shim-Generator (PATH-basierte Abfangung)
│   ├── proxy/                   # Transparenter Netzwerk-Proxy
│   ├── spawner/                 # Orchestrierung + macOS-Sandbox-Integration
│   └── ui/tui/                  # Terminal-Benutzeroberfläche (Bubble Tea)
├── configs/
│   └── default_policy.yaml      # Referenz-Richtliniendatei
├── .gitignore
├── go.mod
├── LICENSE
└── README.md

Komponentenübersicht

Audit-Log

Jede abgefangene Aktion wird in ~/.agentguard/logs/YYYY-MM-DD.jsonl protokolliert:

root@kitploit:~
{"id":"a1b2c3","timestamp":"2026-03-22T14:30:00Z","session_id":"abc123","source":"shim","command":"git","args":["push","origin","main"],"decision":"deny","decided_by":"human","response_time_ms":3200}
{"id":"d4e5f6","timestamp":"2026-03-22T14:30:01Z","session_id":"abc123","source":"proxy","network_dst":"api.anthropic.com:443","decision":"allow","decided_by":"policy"}

Mit Standardwerkzeugen abfragen:

root@kitploit:~
# Alle verweigerten Aktionen heute
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decision == "deny")'

# Alle Netzwerkanfragen
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.source == "proxy")'

# Befehle, die menschliche Genehmigung erforderten
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decided_by == "human")'

Plattformunterstützung

Sicherheitsmodell

Bedrohungsmodell: Der Agent ist nicht vertrauenswürdig. Er könnte versuchen:

  • Gefährliche Befehle auszuführen (rm -rf /, sudo)
  • Daten über Netzwerkaufrufe zu exfiltrieren
  • Sensible Dateien zu lesen (.env, private Schlüssel)
  • Die Sandbox über absolute Pfade, sprach-native APIs oder Umgebungsmanipulation zu umgehen

Was AgentGuard verhindert:

  • Shell-Befehle werden von Shims abgefangen und von der Richtlinie bewertet
  • Netzwerkaufrufe werden durch den Proxy geleitet und pro Ziel gefiltert
  • Dateischreibvorgänge werden durch sandbox-exec auf erlaubte Verzeichnisse beschränkt
  • Dateilesevorgänge können für bestimmte Muster verweigert werden (.env, .pem usw.)
  • Sitzungsmanipulation über den Daemon-Socket wird blockiert
  • Shell-Injection in Shim-Skripten wird durch Eingabevalidierung verhindert
  • ANSI-Injection in der TUI-Anzeige wird entfernt
  • Path Traversal in Dateiregeln wird durch filepath.Clean verhindert

Was AgentGuard NICHT verhindert (bekannte Einschränkungen):

  • Rohe Syscalls über ctypes/cffi (sandbox-exec blockiert diese unter macOS ebenfalls)
  • Kernel-Exploits (erfordert Root, gleiche Vertrauensgrenze wie jede andere App)
  • Datenexfiltration über erlaubte Netzwerkziele (wenn Sie api.anthropic.com erlauben, kann der Agent Daten dorthin senden)
  • Lesen von Dateien, die nicht in der Deny-Liste stehen (wir erlauben alle Lesevorgänge außer explizit verweigerten Mustern)

Entwicklung

Tests ausführen

root@kitploit:~
go test ./... -race

Testabdeckung

Das Projekt hat über 140 Tests, die Folgendes abdecken:

  • Richtlinienauswertung (Glob-Matching, Regelzusammenführung, Path-Traversal-Verhinderung)
  • Ereignisprotokollierung (JSONL-Format, tägliche Rotation, gleichzeitige Schreibvorgänge, Pub/Sub)
  • Daemon (Socket-Kommunikation, Genehmigungswarteschlange, Sitzungsverwaltung, Timeouts)
  • TUI (Tastaturverarbeitung, Ereignisanzeige, ANSI-Bereinigung)
  • Shim-Generierung (Shell-Injection-Verhinderung, Pfadvalidierung)
  • Netzwerk-Proxy (Erlauben/Verweigern, Ereignisprotokollierung)
  • Integrationstests (vollständiger End-to-End-Ablauf)
  • macOS-Sandbox (Profilerstellung, echte sandbox-exec-Ausführung)

Build-Tags

  • jail_darwin.go — macOS sandbox-exec (nur unter macOS kompiliert)
  • jail_noop.go — Fallback-Shim-only-Modus (unter Linux/Windows kompiliert)
  • sandbox_monitor_darwin.go — macOS-Systemlog-Verfolgung für Sandbox-Verstöße
  • sandbox_monitor_noop.go — No-op auf Nicht-macOS-Plattformen

Lizenz

Siehe LICENSE.

Tool herunterladen
TasteAktionWann
JAusstehende Anfrage erlaubenGenehmigungsaufforderung sichtbar
NAusstehende Anfrage verweigernGenehmigungsaufforderung sichtbar
AErlauben + für diese Sitzung merken ("Immer erlauben")Genehmigungsaufforderung sichtbar
BVerweigern + für diese Sitzung merken ("Für immer blockieren")Genehmigungsaufforderung sichtbar
TabAgent-Stdout/Stderr-Bereich umschaltenImmer
Hoch/RunterAktivitätsstream scrollenImmer
QBeenden (tötet den Agenten)Immer
Agent-AktionShimsProxysandbox-exec
subprocess.run(["rm", "-rf", "/"])Ja--
subprocess.run(["git", "push"])Ja--
requests.post("https://evil.com")-JaJa
urllib.request.urlopen("https://api.com")-JaJa
open(".env", "r")--Ja
open("/etc/shadow", "w")--Ja
/usr/bin/curl https://evil.com (absoluter Pfad)-JaJa
KomponentePaketZweck
Policy Engineinternal/policyParst YAML-Regeln, wertet Anfragen aus → ALLOW / DENY / PROMPT
Ereignissysteminternal/eventsNur-Anhängen-Audit-Log im JSONL-Format + Echtzeit-Pub/Sub für TUI
Daemoninternal/daemonUnix-Socket-Server, Genehmigungswarteschlange mit Timeouts, Sitzungsverwaltung
TUIinternal/ui/tuiBubble Tea Terminal-UI mit Aktivitätsstream und Genehmigungs-Dialog
Shim-Generatorinternal/shimGeneriert Shell-Skript-Shims, löst echte Binärpfade auf
Netzwerk-Proxyinternal/proxyTransparenter HTTP/HTTPS-Proxy, der Richtlinien pro Ziel durchsetzt
Spawnerinternal/spawnerOrchestriert alles: Richtlinie → Daemon → Shims → Proxy → Sandbox → Agent → TUI
macOS Sandboxinternal/spawner/jail_darwin.gosandbox-exec mit Seatbelt-Profilen für Kernel-Level-Erzwingung
PlattformShimsProxysandbox-execDatei-Lesen-Verweigern
macOS (Apple Silicon)JaJaJaJa
macOS (Intel)JaJaJaJa
LinuxJaJaNein (zukünftig: Namespaces + seccomp)Nein
WindowsJaJaNein (zukünftig: Job Objects)Nein