Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
fence — Sandbox leve, sem contêiner, para executar comandos com restrições de rede e sistema de arquivos. | Kitploit
Ferramentas/GitHubGitHub/fencesandbox/fence
Ferramentas DefensivasUtilitários de Propósito GeralSegurança de ContêineresAnálise Dinâmica (Sandboxing)Scripting e AutomaçãoSegurança de RedeDevSecOpsUtilitários e Frameworks
GitHubfencesandbox/fence

fence

Sandbox leve, sem contêiner, para executar comandos com restrições de rede e sistema de arquivos.

8973948há 1 mêsRevisado pelo Kitploit

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
Site
Compartilhar
![Banner Fence](https://assets.kitploit.com/production/public/readmes/11239/cd4acc1035a0d62841f2a549cbc143c4dc312228c89f6b55ce68752dcdeab043.png)

<div align="center">

![GitHub Release](https://img.shields.io/github/v/release/fencesandbox/fence)
[![Build and test](https://github.com/fencesandbox/fence/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/fencesandbox/fence/actions/workflows/main.yml)
[![Docs](https://img.shields.io/badge/docs-fencesandbox.com-4c1?logo=bookstack&logoColor=white&color=mediumslateblue)](https://fencesandbox.com/docs)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/fencesandbox/fence)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

</div>

O Fence envolve comandos em um sandbox que bloqueia o acesso à rede por padrão e restringe operações do sistema de arquivos com base em regras configuráveis. É mais útil para executar código semiconfiável (instalações de pacotes, scripts de build, jobs de CI, repositórios desconhecidos) com efeitos colaterais controlados, e também pode complementar agentes de codificação de IA como defesa em profundidade.

```bash
# Bloquear todo o acesso à rede (padrão)
fence curl https://example.com  # → 403 Forbidden

# Permitir domínios específicos
fence -t code npm install  # → usa o template 'code' com npm/pypi/etc permitidos

# Bloquear comandos perigosos
fence -c "rm -rf /"  # → bloqueado por regras de negação de comando
```

<p align="center">
    <img src="https://assets.kitploit.com/production/public/readmes/11239/fcd1fc039e748ec60455ad0f3f2cba244840824dc0d96362d18fd29500e46206.gif" alt="Demonstração do Fence Claude Code" width="800">
</p>

O Fence é também um gerenciador de permissões para seus agentes de CLI. **Funciona com agentes de codificação populares como Claude Code, Codex, Amp, Gemini CLI, GitHub Copilot, OpenCode, Factory (Droid) CLI e muitos mais** – veja [agents.md](https://github.com/fencesandbox/fence/blob/main/docs/agents.md).

## Instalação

> [!NOTE]
> O Fence foi movido de `github.com/Use-Tusk/fence` para `github.com/fencesandbox/fence`.
> Se você instalou com Homebrew a partir do antigo tap Tusk, mude para o novo tap:
>
> ```bash
> brew uninstall use-tusk/tap/fence
> brew untap use-tusk/tap
> brew tap fencesandbox/tap
> brew install fencesandbox/tap/fence
> ```
>
> Se você instalou com `go install`, reinstale a partir do novo caminho do módulo:
>
> ```bash
> go install github.com/fencesandbox/fence/cmd/fence@latest
> ```

**macOS / Linux:**

```bash
curl -fsSL https://cli.fencesandbox.com/install.sh | sh
```

**Homebrew (macOS):**

```bash
brew tap fencesandbox/tap
brew install fencesandbox/tap/fence
```

**Nix (macOS, Linux, Windows (WSL)):**

```sh
nix run nixpkgs#fence -- --help
```

Isso executa diretamente do repositório, sem instalar o `fence`. Se quiser instalá-lo, siga as orientações [do NixOS](https://nix.dev) ou [nix-darwin](https://github.com/nix-darwin/nix-darwin).

<details>
<summary>Outros métodos de instalação</summary>

**Go install:**

```bash
go install github.com/fencesandbox/fence/cmd/fence@latest
```

**Build a partir do código-fonte:**

```bash
git clone https://github.com/fencesandbox/fence
cd fence
go build -o fence ./cmd/fence
```

</details>

**Requisitos adicionais para Linux:**

- `bubblewrap` (para sandboxing)
- `socat` (para bridge de rede)
- `bpftrace` (opcional, para visibilidade de violações do sistema de arquivos ao monitorar com `-m`)

## Uso

### Básico

```bash
# Executar comando com toda a rede bloqueada (nenhum domínio permitido por padrão)
fence curl https://example.com

# Executar com expansão do shell
fence -c "echo hello && ls"

# Habilitar registro de depuração
fence -d curl https://example.com

# Usar um template
fence -t code -- claude  # Executa Claude Code usando a configuração do template 'code'

# Modo monitor (mostra violações)
fence -m npm install

# Enviar logs próprios de monitor/depuração do Fence para um arquivo
fence -m --fence-log-file /tmp/fence.log -- claude
tail -f /tmp/fence.log

# Inspecionar a cadeia de herança de configuração e a configuração mesclada ativa
fence config show

# Mostrar todos os comandos e opções
fence --help
```

> [!TIP]
> Precisa passar flags para o comando que está executando? Use `--` para separar flags do Fence das flags do comando, por exemplo:
>
> ```bash
> fence -- claude --dangerously-skip-permissions
> ```

### Configuração

Quando `--settings` não é fornecido, o Fence primeiro procura por `fence.jsonc` (ou `fence.json`) no diretório atual e diretórios pai. Se nenhum for encontrado, ele usa o fallback para `~/.config/fence/fence.{jsonc,json}`. Ambas as extensões são tratadas como JSONC (comentários e vírgulas finais são permitidos). Veja a [referência de configuração](https://github.com/fencesandbox/fence/blob/main/docs/configuration.md) para mais detalhes.

```json
{
  "$schema": "https://raw.githubusercontent.com/fencesandbox/fence/main/docs/schema/fence.schema.json",
  "extends": "code",
  "network": { "allowedDomains": ["private.company.com"] },
  "filesystem": { "allowWrite": ["."] },
  "command": { "deny": ["git push", "npm publish"] }
}
```

Para sobrescritas locais do repositório sobre a configuração normal do Fence de cada usuário, use:

```json
{
  "extends": "@base",
  "filesystem": { "allowWrite": ["."] }
}
```

Use `fence --settings ./custom.json` para especificar uma configuração diferente.

Inspecione a configuração ativa sem executar um comando:

```bash
fence config show
fence config show --settings ./custom.json
fence config show --template code
```

`fence config show` imprime a cadeia de configuração para `stderr` e a configuração totalmente resolvida como JSON simples para `stdout`, para que você possa canalizar o JSON para ferramentas como `jq`.

Crie uma configuração inicial com valores padrão sensatos:

```bash
# Cria configuração no caminho padrão com:
# { "extends": "code" }
fence config init

# Incluir arrays de scaffold como dicas editáveis
fence config init --scaffold
```

### Importar do Claude Code

```bash
fence import --claude --save
```

## Funcionalidades

- **Isolamento de rede** – Todo tráfego de saída bloqueado por padrão; domínios na lista de permissões via configuração
- **Restrições do sistema de arquivos** – Controle caminhos de acesso de leitura/escrita
- **Bloqueio de comandos** – Negue comandos perigosos como `rm -rf /`, `git push`
- **Filtragem de comandos SSH** – Controle quais hosts e comandos são permitidos via SSH
- **Modelos integrados** – Conjuntos de regras pré‑configurados para fluxos de trabalho comuns
- **Monitoramento de violações** – Registro em tempo real de requisições bloqueadas (`-m`)
- **Multiplataforma** – macOS (sandbox-exec) + Linux (bubblewrap)

O Fence pode ser usado como um pacote Go ou ferramenta de CLI.

## Documentação

A documentação completa está hospedada em **[fencesandbox.com/docs](https://fencesandbox.com/docs)**.

Links rápidos:

- [Guia Rápido](https://fencesandbox.com/docs/quickstart) ([fonte](https://github.com/fencesandbox/fence/blob/main/docs/quickstart.md))
- [Referência de Configuração](https://fencesandbox.com/docs/reference/configuration) ([fonte](https://github.com/fencesandbox/fence/blob/main/docs/configuration.md))
- [Hooks do Agente](https://fencesandbox.com/docs/guides/hooks) ([fonte](https://github.com/fencesandbox/fence/blob/main/docs/hooks.md))
- [Modelo de Segurança](https://fencesandbox.com/docs/reference/security-model) ([fonte](https://github.com/fencesandbox/fence/blob/main/docs/security-model.md))
- [Uso da Biblioteca Go](https://fencesandbox.com/docs/reference/library) ([fonte](https://github.com/fencesandbox/fence/blob/main/docs/library.md))
- [Arquitetura](https://fencesandbox.com/docs/reference/architecture) ([fonte](https://github.com/fencesandbox/fence/blob/main/ARCHITECTURE.md))

## Atribuição

Inspirado pelo [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) da Anthropic.
Baixar ferramenta