Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
AgentGuard — Sandbox de confianza cero para agentes de IA con jaula de sistema de archivos a nivel de kernel, proxy de red transparente y motor de políticas basado en YAML para interceptar y controlar comandos de shell, operaciones de archivos y solicitudes de red. | Kitploit
Herramientas/GitHubGitHub/thodoristsampouris/agentguard
Herramientas DefensivasSeguridad de ContenedoresVirtualización de SeguridadSeguridad de RedesSeguridad de IA
GitHubthodoristsampouris/agentguard

AgentGuard

Sandbox de confianza cero para agentes de IA con jaula de sistema de archivos a nivel de kernel, proxy de red transparente y motor de políticas basado en YAML para interceptar y controlar comandos de shell, operaciones de archivos y solicitudes de red.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
89hace 5 mesesAún no revisado
Compartir

AgentGuard

Sandbox de confianza cero para agentes de IA autónomos.

AgentGuard envuelve cualquier agente de IA (LangChain, CrewAI, AutoGen, scripts personalizados) con barreras de seguridad. Con un solo cambio en el comando:

root@kitploit:~
# Antes (peligroso — el agente tiene acceso completo al sistema)
python my_agent.py

# Después (sandbox)
agentguard run -- python my_agent.py

AgentGuard intercepta cada comando de shell, modificación de archivo y solicitud de red que realiza el agente. Las acciones seguras se permiten automáticamente, las peligrosas se bloquean automáticamente y todo lo demás solicita la aprobación humana.

Cómo funciona

AgentGuard tiene cuatro capas de defensa que trabajan juntas:

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ Capa 0: Jaula de sistema de archivos (sandbox-exec en macOS)│
│   Aplicación a nivel de kernel. Restringe escrituras de      │
│   archivos y red a nivel de syscall. El agente no puede      │
│   eludir desde el espacio de usuario. Bloquea open() de      │
│   Python, requests.post(), etc.                              │
├─────────────────────────────────────────────────────────────┤
│ Capa 1: Proxy de red                                         │
│   Proxy HTTP/HTTPS transparente. Cada llamada de red que     │
│   hace el agente se verifica contra la política. Permitir/   │
│   denegar por destino con visibilidad total en la TUI.       │
├─────────────────────────────────────────────────────────────┤
│ Capa 2: Shims de PATH                                        │
│   Shims de script de shell que interceptan comandos como     │
│   git, pip, curl, rm. Cada shim pregunta al daemon por       │
│   permiso antes de ejecutar el binario real.                 │
├─────────────────────────────────────────────────────────────┤
│ Capa 3: Motor de políticas + Daemon de aprobación           │
│   Reglas basadas en YAML evalúan cada acción interceptada.   │
│   Permitir automáticamente comandos seguros, bloquear        │
│   automáticamente los peligrosos, solicitar al humano        │
│   para todo lo demás.                                        │
└─────────────────────────────────────────────────────────────┘

Ninguna capa por sí sola es el límite de seguridad. Trabajan juntas: defensa en profundidad.

Inicio rápido

Compilar

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

Ambos binarios deben estar en el mismo directorio.

Crear una política

root@kitploit:~
agentguard init

Esto crea .agentguard/policy.yaml en el directorio actual. Edítalo para adaptarlo a tus necesidades.

Ejecutar un agente (TUI interactiva)

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

La TUI toma el control de la terminal y muestra:

  • Flujo de actividad en vivo (cada acción interceptada)
  • Solicitudes de aprobación para comandos ambiguos (presiona Y/N/A/B)
  • Eventos de permitir/denegar red del proxy
  • Eventos de violación del sandbox
  • stdout/stderr del agente (alternar con Tab)

Ejecutar un agente (sin interfaz)

Para herramientas interactivas como Claude Code que necesitan la terminal:

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

El agente obtiene la terminal directamente. AgentGuard se ejecuta silenciosamente en segundo plano. Todos los eventos se registran en ~/.agentguard/logs/headless.log. Monitorea en otra terminal:

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

Referencia de CLI

root@kitploit:~
agentguard run [flags] -- <command> [args...]
    --policy <path>     Usar un archivo de política específico
    --headless          Sin TUI — el agente obtiene la terminal
    --default-allow     Auto-permitir decisiones PROMPT en modo headless (por defecto: auto-denegar)
    --no-sandbox        Deshabilitar sandbox-exec (shims y proxy siguen activos)

agentguard init         Crear un archivo de política predeterminado
agentguard version      Mostrar versión

Archivo de política

Las políticas son archivos YAML que definen lo que el agente puede y no puede hacer. AgentGuard verifica tres ubicaciones (en orden):

  1. ./.agentguard/policy.yaml (local del proyecto)
  2. ~/.agentguard/policy.yaml (global del usuario)
  3. Valores predeterminados integrados

Ejemplo de política

root@kitploit:~
version: 1

deny:
  # Bloquear comandos peligrosos
  - command: "rm"
    args: "-rf *"
    reason: "La eliminación recursiva forzada es demasiado peligrosa"
  - command: "sudo"
    args: "*"
    reason: "No se permite la escalada de privilegios"
  - command: "chmod"
    args: "777 *"
    reason: "Los permisos de escritura mundial son peligrosos"

  # Bloquear lectura de archivos sensibles (aplicado por sandbox-exec)
  - file:
      path: "*.env"
      action: "read"
      reason: "No permitir que el agente lea archivos .env"
  - file:
      path: "*.pem"
      action: "read"
      reason: "No permitir que el agente lea claves privadas"

allow:
  # Comandos seguros de solo lectura
  - command: "ls"
  - command: "cat"
  - command: "pwd"
  - command: "echo"
  - command: "grep"
  - command: "head"
  - command: "tail"
  - command: "wc"

  # Git de solo lectura
  - command: "git"
    args: "status"
  - command: "git"
    args: "log *"
  - command: "git"
    args: "diff *"

  # Permitir escrituras en el espacio de trabajo
  - file:
      path: "/tmp/workspace/**"
      action: "write"

  # Permitir endpoints de API específicos
  - network:
      destination: "api.anthropic.com:443"
  - network:
      destination: "api.github.com:443"

Orden de evaluación de reglas

  1. Reglas de denegación específicas — se verifican primero. Si coinciden, la acción se bloquea inmediatamente.
  2. Reglas de permiso — se verifican en segundo lugar. Si coinciden, la acción se permite.
  3. Reglas de denegación general (por ejemplo, deny network *) — se verifican en tercer lugar. Actúan como una denegación predeterminada.
  4. Sin coincidencia — se solicita al humano (TUI) o se deniega automáticamente (headless).

Tipos de reglas

Reglas de comando — coinciden con comandos de shell por nombre y patrón de argumentos:

root@kitploit:~
- command: "git"
  args: "push *"
  reason: "Hacer push requiere aprobación"

Reglas de archivo — coinciden con operaciones de archivos (aplicadas por sandbox-exec):

root@kitploit:~
- file:
    path: "*.env"
    action: "read"     # "read" o "write"
    reason: "Proteger secretos"

Reglas de red — coinciden con destinos de red (aplicadas por proxy + sandbox-exec):

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

Usa * como comodín en args de comandos, rutas de archivos y destinos de red.

Controles de la TUI

TeclaAcciónCuándo
YPermitir la solicitud pendienteSolicitud de aprobación visible
NDenegar la solicitud pendienteSolicitud de aprobación visible
APermitir y recordar para esta sesión ("Permitir siempre")Solicitud de aprobación visible
BDenegar y recordar para esta sesión ("Bloquear para siempre")Solicitud de aprobación visible
TabAlternar panel de stdout/stderr del agenteSiempre
Arriba/AbajoDesplazar flujo de actividadSiempre
QSalir (mata el agente)Siempre

Lo que captura cada capa

Acción del agenteShimsProxysandbox-exec
subprocess.run(["rm", "-rf", "/"])Sí--
subprocess.run(["git", "push"])Sí--
requests.post("https://evil.com")-SíSí
urllib.request.urlopen("https://api.com")-SíSí
open(".env", "r")--Sí
open("/etc/shadow", "w")--Sí
/usr/bin/curl https://evil.com (ruta absoluta)-SíSí

Arquitectura

root@kitploit:~
agentguard/
├── cmd/
│   ├── agentguard/              # Binario principal de CLI
│   └── agentguard-check/        # Binario auxiliar de shim
├── internal/
│   ├── policy/                  # Motor de políticas (análisis YAML, evaluación de reglas)
│   ├── events/                  # Sistema de eventos (registro de auditoría JSONL, pub/sub)
│   ├── daemon/                  # Daemon central (socket Unix, cola de aprobación)
│   │   └── client/              # Biblioteca de cliente para shims
│   ├── shim/                    # Generador de shim (intercepción basada en PATH)
│   ├── proxy/                   # Proxy de red transparente
│   ├── spawner/                 # Orquestación + integración con sandbox de macOS
│   └── ui/tui/                  # Interfaz de terminal (Bubble Tea)
├── configs/
│   └── default_policy.yaml      # Archivo de política de referencia
├── .gitignore
├── go.mod
├── LICENSE
└── README.md

Resumen de componentes

ComponentePaquetePropósito
Motor de políticasinternal/policyAnaliza reglas YAML, evalúa solicitudes → PERMITIR / DENEGAR / PREGUNTAR
Sistema de eventosinternal/eventsRegistro de auditoría JSONL de solo añadir + pub/sub en tiempo real para la TUI
Daemoninternal/daemonServidor de socket Unix, cola de aprobación con tiempos de espera, gestión de sesiones
TUIinternal/ui/tuiInterfaz de terminal Bubble Tea con flujo de actividad y modal de aprobación
Generador de shiminternal/shimGenera shims de script de shell, resuelve rutas de binarios reales
Proxy de redinternal/proxyProxy HTTP/HTTPS transparente que aplica política por destino
Spawnerinternal/spawnerOrquesta todo: política → daemon → shims → proxy → sandbox → agente → TUI
Sandbox de macOSinternal/spawner/jail_darwin.gosandbox-exec con perfiles Seatbelt para aplicación a nivel de kernel

Registro de auditoría

Cada acción interceptada se registra en ~/.agentguard/logs/YYYY-MM-DD.jsonl:

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"}

Consulta con herramientas estándar:

root@kitploit:~
# Todas las acciones denegadas hoy
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decision == "deny")'

# Todas las solicitudes de red
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.source == "proxy")'

# Comandos que requirieron aprobación humana
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decided_by == "human")'

Soporte de plataformas

PlataformaShimsProxysandbox-execDenegación de lectura de archivos
macOS (Apple Silicon)SíSíSíSí
macOS (Intel)SíSíSíSí
LinuxSíSíNo (futuro: namespaces + seccomp)No
WindowsSíSíNo (futuro: Job Objects)No

Modelo de seguridad

Modelo de amenaza: El agente no es de confianza. Puede intentar:

  • Ejecutar comandos peligrosos (rm -rf /, sudo)
  • Exfiltrar datos a través de llamadas de red
  • Leer archivos sensibles (.env, claves privadas)
  • Eludir el sandbox mediante rutas absolutas, APIs nativas del lenguaje o manipulación de variables de entorno

Lo que AgentGuard previene:

  • Los comandos de shell son interceptados por shims y evaluados por la política
  • Las llamadas de red se enrutan a través del proxy y se filtran por destino
  • Las escrituras de archivos están restringidas por sandbox-exec a directorios permitidos
  • Las lecturas de archivos pueden denegarse para patrones específicos (.env, .pem, etc.)
  • La manipulación de sesiones a través del socket del daemon está bloqueada
  • La inyección de shell en scripts shim se previene mediante validación de entrada
  • La inyección ANSI en la visualización de la TUI se elimina
  • La travesía de rutas en reglas de archivos se previene mediante filepath.Clean

Lo que AgentGuard NO previene (limitaciones conocidas):

  • Syscalls sin procesar a través de ctypes/cffi (sandbox-exec también las bloquea en macOS)
  • Exploits del kernel (requiere root, mismo límite de confianza que cualquier aplicación)
  • Exfiltración de datos a través de destinos de red permitidos (si permites api.anthropic.com, el agente puede enviar datos allí)
  • Lectura de archivos que no estén en la lista de denegación (permitimos todas las lecturas excepto los patrones denegados explícitamente)

Desarrollo

Ejecutar pruebas

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

Cobertura de pruebas

El proyecto tiene más de 140 pruebas que cubren:

  • Evaluación de políticas (coincidencia de globs, fusión de reglas, prevención de travesía de rutas)
  • Registro de eventos (formato JSONL, rotación diaria, escrituras concurrentes, pub/sub)
  • Daemon (comunicación por socket, cola de aprobación, gestión de sesiones, tiempos de espera)
  • TUI (manejo de teclado, visualización de eventos, sanitización ANSI)
  • Generación de shim (prevención de inyección de shell, validación de rutas)
  • Proxy de red (permitir/denegar, registro de eventos)
  • Pruebas de integración (flujo completo de extremo a extremo)
  • Sandbox de macOS (generación de perfiles, ejecución real de sandbox-exec)

Build tags

  • jail_darwin.go — sandbox-exec de macOS (compilado solo en macOS)
  • jail_noop.go — modo de solo shim de respaldo (compilado en Linux/Windows)
  • sandbox_monitor_darwin.go — seguimiento del registro del sistema de macOS para violaciones de sandbox
  • sandbox_monitor_noop.go — no-op en plataformas que no sean macOS

Licencia

Ver LICENSE.

Descargar herramienta