
Agentes de codificação de IA que não podem exfiltrar segredos ou mesclar seus próprios PRs.
Você é um engenheiro responsável. Nunca deixaria uma IA dominar seus sistemas e bases de código mais sensíveis.
É por isso que você nunca desativaria as proteções de uma ferramenta como o Claude Code. Ela pede permissão para cada ação perigosa! Seguro!
Então você espera. E responde. A fadiga de decisão se instala. E é aí que acontece.
Os prompts de permissão negligenciam a parte mais fraca do modelo de ameaça: um usuário cansado. E se pudéssemos capacitar o agente enquanto limitamos seu raio de explosão, adiando suas decisões até a revisão do PR?
Isso seria ótimo! E isso seria o yolo-cage.
curl -fsSL https://github.com/borenstein/yolo-cage/releases/latest/download/yolo-cage -o yolo-cage
chmod +x yolo-cage && sudo mv yolo-cage /usr/local/bin/
yolo-cage build --interactive --up
Em seguida, crie um sandbox e comece a codificar:
yolo-cage create feature-branch
yolo-cage attach feature-branch # Anexar ao agente no tmux
Pré-requisitos: Vagrant com libvirt (Linux) ou QEMU (macOS, experimental), 8GB RAM, 4 CPUs, GitHub PAT (escopo repo), conta Claude. Consulte documentação de configuração para detalhes.
Segredos em HTTP/HTTPS - proxy de saída verifica corpos de requisições, cabeçalhos, URLs:
sk-ant-*, AKIA*, ghp_*, chaves privadas SSH, padrões genéricos de credenciaisOperações Git - despachante impõe isolamento de branch:
git remote, git clone, git config, git credentialGitHub CLI - despachante bloqueia comandos perigosos:
gh pr merge, gh repo delete, gh apiGitHub API - proxy bloqueia na camada HTTP:
PUT /repos/*/pulls/*/merge, DELETE /repos/*, modificações de webhooksSites de exfiltração: pastebin.com, file.io, transfer.sh, etc.
Veja Arquitetura para o modelo de ameaça completo.
┌──────────────────────────────────────────────────────────────────────────┐
│ Runtime (Vagrant VM + MicroK8s) │
│ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ Sandbox │ │
│ │ │ │
│ │ Agent (Claude Code in YOLO mode) │ │
│ │ │ │ │
│ │ ├── git/gh ──▶ Dispatcher ──▶ GitHub │ │
│ │ │ • Branch isolation enforcement │ │
│ │ │ • TruffleHog pre-push scanning │ │
│ │ │ │ │
│ │ └── HTTP/S ──▶ Egress Proxy ──▶ Internet │ │
│ │ • Secret scanning (LLM-Guard) │ │
│ │ • Domain blocklist │ │
│ └────────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Um sandbox por branch. Agentes só podem fazer push para sua branch atribuída. Todo o tráfego de saída é filtrado.
Acesse aplicações web em execução dentro de um sandbox:
yolo-cage port-forward feature-x 8080 # localhost:8080 → sandbox:8080
yolo-cage port-forward feature-x 9000:3000 # localhost:9000 → sandbox:3000
yolo-cage port-forward feature-x 8080 --bind 0.0.0.0 # Acessível na LAN
Veja Configuração para bypass de proxy, hooks e limites de recursos.
Isso reduz o risco. Não o elimina.
Use credenciais com escopo. Não use segredos de produção onde a exfiltração seria catastrófica. Veja Auditoria de Segurança para testar você mesmo.
MIT. Veja LICENSE.
| Comando | Descrição |
|---|
create <branch> | Criar sandbox |
attach <branch> | Anexar (Claude no tmux) |
shell <branch> | Anexar (bash) |
list | Listar sandboxes |
delete <branch> | Excluir sandbox |
port-forward <branch> <port> | Encaminhar porta do sandbox |
up / down | Iniciar/parar VM |
upgrade [--rebuild] | Atualizar para a versão mais recente |
version | Mostrar versão |