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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Cordon — Execute qualquer comando dentro de uma visão restrita do sistema de arquivos no Linux | Kitploit
Ferramentas/GitHubGitHub/vishnunandan555/cordon
Utilitários de Propósito GeralSegurança de ContêineresAnálise Dinâmica (Sandboxing)Scripting e AutomaçãoAuditoria de ConfiguraçãoVirtualização para SegurançaSegurança de RedeDevSecOpsSegurança da Cadeia de SuprimentosArchived
GitHubvishnunandan555/cordon
217há 5 mesesAinda não revisado

Cordon

Execute qualquer comando dentro de uma visão restrita do sistema de arquivos no Linux

Ver Repositório

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

Cordon

⚠️ PROJETO DESCONTINUADO

O desenvolvimento deste projeto foi interrompido porque outra pessoa estava trabalhando na mesma ideia e construiu uma solução melhor.
Recomendamos fortemente dar uma olhada em: Fence by Use-Tusk.

Nota: Este repositório foi originalmente criado para o FOSS HACK 2026, embora infelizmente não tenhamos conseguido concluí-lo a tempo.
No entanto, construímos um projeto semelhante para o Hackathena '26 que ganhou o 3º prêmio!
Se você estiver interessado, pode encontrar esse repositório aqui: A56-A5/lion.

O Cordon executa qualquer comando dentro de uma visão restrita do sistema de arquivos no Linux. Ele usa namespaces do Linux (via bubblewrap) para ocultar tudo o que seu processo não precisa — seu diretório home, chaves SSH, credenciais AWS, tudo — enquanto ainda permite que o comando faça seu trabalho.

cordon run --net=allow -- npm install
cordon run -- bash setup.sh
cordon run --profile python -- pip install -r requirements.txt

Sem root. Sem containers. Sem daemons rodando em segundo plano.


Por quê?

Quando você executa npm install ou pip install, esse código é executado com suas permissões completas de usuário. Ele pode ler ~/.ssh/id_rsa, exfiltrá-lo para um servidor, modificar arquivos que você possui — tudo enquanto parece apenas instalar um pacote.

Isso não é paranóia. Já aconteceu:

AtaqueO que fez
LiteLLM (2024)Pacote PyPI malicioso leu chaves SSH e variáveis de ambiente no pip install
xz-utils (2024)Backdoor em tempo de compilação injetado durante a etapa make da instalação
event-stream (npm, 2018)Pacote npm comprometido roubou carteiras Bitcoin silenciosamente
SolarWindsAtaque à cadeia de suprimentos através do pipeline de construção/atualização

A resposta do Cordon: não deixe o processo ver o que não deveria, mesmo que o código seja malicioso.


Como funciona

Cada cordon run cria um ambiente isolado novo:

  • /usr, /bin, /lib são montados somente leitura — as coisas podem rodar, não quebram o sistema
  • Seu diretório de projeto é gravável — npm install cria node_modules/, builds funcionam
  • src/ é somente leitura se existir — arquivos fonte não podem ser reescritos silenciosamente
  • ~/.ssh, ~/.aws, HOME — não montados por padrão
  • Rede está desligada por padrão, ou filtrada por um proxy de lista de permissões de domínio embutido com --net=allow

Quando o processo termina, o sandbox desaparece. Nada persiste.

O proxy

O modo --net=allow inicia um proxy HTTP/HTTPS Rust embutido em uma porta localhost aleatória e o injeta no sandbox através de variáveis de ambiente (HTTP_PROXY, https_proxy, npm_config_proxy, etc.). Ele intercepta túneis CONNECT e verifica cada domínio contra uma lista de permissões antes de encaminhar.

A lista de permissões padrão inclui registry.npmjs.org, pypi.org, crates.io, github.com. Qualquer coisa que não esteja na lista recebe um 403 — mesmo se o script pós-instalação do pacote tentar telefonar para casa.

# Apenas alcança npmjs.org e seus CDNs — nada mais
cordon run --net=allow -- npm install

# Adicione um domínio para um registro privado
cordon run --net=allow --domain my.internal.registry -- npm install

Seccomp

Opcionalmente, adicione um filtro de chamadas de sistema:

# Bloqueia ptrace, kexec_load, mount, perf_event_open, process_vm_*
cordon run --seccomp basic --net=allow -- npm install

# Lista de permissões estrita — apenas chamadas de sistema conhecidamente seguras
cordon run --seccomp strict -- python3 untrusted.py

Esta é uma segunda linha de defesa. Mesmo que algo consiga escapar da restrição do sistema de arquivos, ainda não pode chamar ptrace para anexar a outro processo ou perf_event_open para trabalho de canal lateral.


Instalação

git clone https://github.com/LORDv1shnu/Cordon
cd Cordon
bash install.sh        # compila binário de release → ~/.local/bin/cordon

Ou manualmente:

cargo build --release
cp target/release/cordon ~/.local/bin/

Você precisa ter o bubblewrap instalado:

sudo apt install bubblewrap    # Ubuntu/Debian
sudo dnf install bubblewrap    # Fedora
sudo pacman -S bubblewrap      # Arch

Primeira execução após a instalação:

cordon scan    # escaneia seu sistema uma vez, leva ~30s, escreve ~/.config/cordon/system.toml
cordon check   # verificação de sanidade — garante que está tudo pronto

Uso

# O básico
cordon run -- echo "hello"
cordon run --net=allow -- npm install
cordon run --net=allow -- pip install -r requirements.txt
cordon run --net=full -- curl https://example.com   # irrestrito (sem filtragem)

# Seccomp
cordon run --seccomp basic --net=allow -- npm install

# Aplicativos GUI
cordon run --gui -- code .
cordon run --gui --optional audio_pipewire --optional dbus_session -- discord

# Perfis embutidos (pré-configurados para runtimes comuns)
cordon run --profile node -- npm install
cordon run --profile python -- python3 script.py
cordon run --profile rust -- cargo build

# Depurar o que está sendo bloqueado
cordon run --trace -- node server.js              # wrapper strace, reporta caminhos negados
cordon add --from-trace ~/.config/cordon/logs/last-trace.log  # adiciona em lote caminhos ausentes

# Limites de recursos (precisa de systemd)
cordon run --mem 512M --cpu 2.0 --timeout 60 -- npm install

# Teste / verboso
cordon run --dry-run -- npm install               # imprime o comando bwrap, não executa
cordon run --verbose -- npm install               # imprime cada argumento bwrap conforme executa

Configuração do projeto (cordon.toml)

cordon init                            # detecta automaticamente Cargo.toml / package.json / pyproject.toml
cordon set --net=allow                 # persiste flags para não digitá-las toda vez
cordon add /caminho/para/assets --mode ro   # expõe caminhos extras no sandbox
cordon edit                            # abre cordon.toml no $EDITOR

Inspecionar e depurar

cordon check               # verificação de saúde: bwrap, namespaces, AppArmor, módulos
cordon doctor              # mais profundo: versão do kernel, peculiaridades da distro, sugestões de correção exatas
cordon status              # mostra o que está em system.toml agora
cordon list                # mostra cada montagem que estaria ativa na próxima execução
cordon log --errors        # tail do log da última execução, apenas erros
cordon syscalls --preset basic   # lista o que cada predefinição seccomp bloqueia

Perfis e portabilidade

# Perfis nomeados (armazenados em ~/.config/cordon/profiles.toml)
cordon profile create ci-node --net=allow --optional ld_so_cache
cordon run --profile ci-node -- npm test

# Arquivo de bloqueio para ambientes reproduzíveis
cordon lock update          # SHA-256 de todos os caminhos de montagem → cordon.lock
cordon lock verify          # verifica se nada se desviou

# Compartilhe a configuração do sandbox com a equipe
cordon export > sandbox.json
cordon import sandbox.json

Integração com o shell

# Completions de tabulação
cordon completions zsh > ~/.zfunc/_cordon

# Wrappers transparentes — faz "npm" sempre rodar em sandbox
cordon wrap npm
cordon wrap pip
npm install                # na verdade executa: cordon run -- npm install "$@"
cordon unwrap npm

# Página de manual
cordon man | man -l -

Camadas de configuração

Existem quatro arquivos de configuração, aplicados em ordem:

Baixar ferramenta