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
zerobox — Sandbox de processos leve e multiplataforma impulsionado pelo runtime do OpenAI Codex. Execute qualquer comando em sandbox com controles de arquivos, rede e credenciais. | Kitploit
Ferramentas/GitHubGitHub/afshinm/zerobox
Segurança de ContêineresAnálise Dinâmica (Sandboxing)DevSecOpsSegurança de IA
GitHubafshinm/zerobox

zerobox

Sandbox de processos leve e multiplataforma impulsionado pelo runtime do OpenAI Codex. Execute qualquer comando em sandbox com controles de arquivos, rede e credenciais.

Ver Repositório
699405há 3 mesesRevisado 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 →
Compartilhar

Zerobox Python SDK

Zerobox PyPI version Zerobox license

SDK Python para zerobox. Execute qualquer comando em sandbox com controles de arquivo, rede e credenciais.

root@kitploit:~
pip install zerobox

A instalação da wheel coloca a CLI zerobox no bin/ do seu ambiente e expõe um SDK Python.

Para uso da CLI, conceitos de segredos, a referência completa de flags, números de desempenho e suporte de plataforma, consulte o README principal.

Início rápido

root@kitploit:~
from zerobox import Sandbox

sandbox = Sandbox.create({"allow_write": ["/tmp"]})
print(sandbox.sh("echo hello").text())

Comandos

Três maneiras de executar um comando. Cada uma retorna um ShellCommand que você finaliza com .text(), .json() ou .output().

Shell

root@kitploit:~
name = "world"
sandbox.sh(f"echo hello {name}").text()

Python inline

root@kitploit:~
data = sandbox.py("import json; print(json.dumps({'sum': 1 + 2}))").json()

Comando explícito + argumentos

root@kitploit:~
sandbox.exec("python3", ["-c", "print('hi')"]).text()

Resultados

root@kitploit:~
data = sandbox.sh("cat data.json").json()
result = sandbox.sh("exit 42").output()
# CommandOutput(code=42, stdout='', stderr='')

API assíncrona

Use AsyncSandbox em aplicações assíncronas para que a espera pelo subprocesso em sandbox não bloqueie o event loop. A estrutura do comando é a mesma do Sandbox, mas a criação e os terminadores são aguardados com await.

root@kitploit:~
from zerobox import AsyncSandbox

sandbox = await AsyncSandbox.create({"allow_write": ["/tmp"]})

text = await sandbox.sh("echo hello").text()
data = await sandbox.sh("printf '{\"ok\": true}'").json()
result = await sandbox.exec("python3", ["-c", "print('hi')"]).output()

Comandos assíncronos aceitam a mesma opção timeout:

root@kitploit:~
import subprocess

try:
    await sandbox.sh("sleep 60").text(timeout=1.0)
except subprocess.TimeoutExpired:
    print("cancelled")

Tratamento de erros

Código de saída diferente de zero lança SandboxCommandError:

root@kitploit:~
from zerobox import Sandbox, SandboxCommandError

sandbox = Sandbox.create()
try:
    sandbox.sh("exit 1").text()
except SandboxCommandError as e:
    print(e.code, e.stderr)

Segredos

Passe chaves de API que o processo em sandbox nunca vê. O proxy substitui o valor real apenas para hosts aprovados.

root@kitploit:~
import os
from zerobox import Sandbox

sandbox = Sandbox.create({
    "secrets": {
        "OPENAI_API_KEY": {
            "value": os.environ["OPENAI_API_KEY"],
            "hosts": ["api.openai.com"],
        },
        "GITHUB_TOKEN": {
            "value": os.environ["GITHUB_TOKEN"],
            "hosts": ["api.github.com"],
        },
    },
})

sandbox.sh('curl -H "Authorization: Bearer $OPENAI_API_KEY" https://api.openai.com/v1/models').text()

Consulte o README principal para saber como funciona a substituição de placeholders.

Snapshots

Registre alterações no sistema de arquivos e reverta-as automaticamente:

root@kitploit:~
sandbox = Sandbox.create({
    "allow_write": ["."],
    "restore": True,
})
sandbox.sh("npm install").text()

Registre sem reverter:

root@kitploit:~
sandbox = Sandbox.create({
    "allow_write": ["."],
    "snapshot": True,
    "snapshot_exclude": ["node_modules"],
})
sandbox.sh("npm install").text()

Cancelamento

Passe um timeout (em segundos) para qualquer terminador:

root@kitploit:~
import subprocess
try:
    sandbox.sh("sleep 60").text(timeout=1.0)
except subprocess.TimeoutExpired:
    print("cancelled")

Variáveis de ambiente

root@kitploit:~
sandbox = Sandbox.create({
    "env": {"NODE_ENV": "production"},
    "allow_env": ["PATH", "HOME"],
    "deny_env": ["AWS_SECRET_ACCESS_KEY"],
})

Consulte o README principal para saber o que é herdado por padrão e os equivalentes da CLI.

Opções

Sandbox.create(options) aceita um dataclass SandboxOptions ou um dict simples. Todos os campos são opcionais.

Chaves de dict desconhecidas (por exemplo, allowWrite acidental em vez de allow_write) lançam TypeError na construção.

Ressalvas

Sandbox.py(code) executa o python3 que estiver no PATH dentro do sandbox. Se o seu interpretador ativo estiver fora das raízes legíveis do sandbox (por exemplo, Pythons gerenciados por uv em ~/.local/share/uv/), recorra a:

root@kitploit:~
import sys
sandbox = Sandbox.create({"allow_read": [sys.prefix]})
sandbox.exec(sys.executable, ["-c", "print('hi')"]).text()

Outros SDKs

  • TypeScript SDK (npm: zerobox)
  • Rust SDK (crates.io: zerobox)

Licença

Apache-2.0

Baixar ferramenta
MétodoEm caso de sucessoEm caso de saída não zero
.text()Retorna stdout como stringLança SandboxCommandError
.json()Analisa stdout como JSONLança SandboxCommandError
.output()Retorna CommandOutput(code, stdout, stderr)Retorna a mesma estrutura, nunca lança exceção
CampoTipoDescrição
profilestr | list[str]Perfil(is) nomeado(s). Uma lista é mesclada da esquerda para a direita. Padrão "workspace".
allow_read / deny_readlist[str]Caminhos legíveis / bloqueados.
allow_write / deny_writelist[str]Caminhos graváveis / bloqueados.
allow_netbool | list[str]True permite tudo. Uma lista restringe a esses domínios.
deny_netlist[str]Domínios bloqueados.
allow_allboolAcesso total ao sistema de arquivos + rede.
no_sandboxboolDesativa o sandbox completamente.
strict_sandboxboolFalha em vez de recorrer a um isolamento mais fraco.
cwdstrDiretório de trabalho.
envdict[str, str]Variáveis de ambiente explícitas.
allow_envbool | list[str]Herdar variáveis de ambiente do processo pai.
deny_envlist[str]Variáveis de ambiente bloqueadas.
snapshotboolRegistra alterações no sistema de arquivos.
restoreboolRegistra e reverte após a saída. Implica snapshot.
snapshot_paths / snapshot_excludelist[str]Caminhos monitorados / padrões excluídos.
secretsdict[str, SecretConfig]Segredos com escopos por host.
debugboolImprime a configuração do sandbox em stderr.