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
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
2há 3 mesesAinda não revisado

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

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

Ver Repositório

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.

root@kitploit:~
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:

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.

root@kitploit:~
# 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:

root@kitploit:~
# 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

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

Ou manualmente:

root@kitploit:~
cargo build --release
cp target/release/cordon ~/.local/bin/

Você precisa ter o bubblewrap instalado:

root@kitploit:~
sudo apt install bubblewrap    # Ubuntu/Debian
sudo dnf install bubblewrap    # Fedora
sudo pacman -S bubblewrap      # Arch

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

root@kitploit:~
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

root@kitploit:~
# 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)

root@kitploit:~
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

root@kitploit:~
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

root@kitploit:~
# 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

root@kitploit:~
# 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:

Flags da CLI sempre vencem. cordon.toml supera um perfil nomeado. O core.toml embutido do binário não pode ser tocado em tempo de execução.


Códigos de saída

Mesma convenção que bwrap e o shell.


Limitações

Cordon não é um container, nem um antivírus, nem um substituto para SELinux ou AppArmor. Ele restringe a visibilidade do sistema de arquivos e o acesso à rede — não tenta detectar malware. Se algo tiver uma exploração de kernel, conseguirá escapar. O objetivo é tornar os ataques à cadeia de suprimentos significativamente mais difíceis, não impossíveis.

Além disso: atualmente apenas Linux x86_64 e aarch64. bubblewrap é necessário.


Tecnologia

Construído em Rust. Usa bubblewrap para particionamento de namespaces, seccompiler para compilação de filtros BPF, clap para CLI, tracing para registro estruturado. O proxy de filtragem de domínio é escrito do zero em Rust puro (nenhuma ferramenta de proxy externa).

→ COMMANDS.md — referência completa de flags
→ SCANNER_LOGIC.md — como o scanner do sistema funciona
→ MODULE_INFO.md — cada arquivo fonte explicado


Construído com assistência de IA (Gemini). Arquitetura, modelo de segurança e decisões de design são de responsabilidade do autor.

Baixar ferramenta
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
CamadaOndeQuem escreve
core.tomlcompilado no binárionão editável em tempo de execução (à prova de violação)
system.toml~/.config/cordon/cordon scan
profiles.toml~/.config/cordon/cordon profile create
cordon.tomldiretório do projetocordon init / cordon set / cordon add
CódigoSignificado
0sucesso
1erro interno do cordon
2uso incorreto da CLI
125falha na configuração do sandbox (bwrap ausente, etc.)
126comando encontrado mas não executável dentro do sandbox
127comando não encontrado dentro do sandbox
Nencaminhado do processo em sandbox