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
dd — Kernel Linux em espaço de usuário baseado em JIT que executa contêineres nativamente no macOS Apple Silicon sem uma VM. Substituição drop-in da API do Docker Engine com isolamento de contêineres, imagens overlay e publicação de portas. | Kitploit
Ferramentas/GitHubGitHub/ricccrd/dd
Segurança de ContêineresAnálise Dinâmica (Sandboxing)Engenharia ReversaVirtualização para SegurançaDevSecOpsAnálise de Binários
GitHubricccrd/dd

dd

Kernel Linux em espaço de usuário baseado em JIT que executa contêineres nativamente no macOS Apple Silicon sem uma VM. Substituição drop-in da API do Docker Engine com isolamento de contêineres, imagens overlay e publicação de portas.

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

dd

dd

Execute containers Linux no macOS — sem VM.

Baixar Plataforma Licença Site


O que é o dd?

dd executa containers Linux nativamente no macOS Apple Silicon sem máquina virtual. Não há kernel Linux nem hipervisor subjacente: um JIT traduz o código do container e trata suas chamadas de sistema Linux em espaço de usuário (linhagem gVisor / PRoot). O JIT é o kernel Linux convidado — namespaces, cgroups, camadas de imagem overlay e rede são mantidos como estado de espaço de usuário. Ele fala a API do Docker Engine, então o CLI comum docker o utiliza.

A computação do container é executada como instruções nativas Apple Silicon; apenas suas chamadas de sistema são interpretadas. Sem VM para iniciar, sem daemon dentro de uma VM, sem custo de virtualização.

Site e documentação: https://ricccrd.github.io/dd/

make jit                                          # build.rs compila + codesign os JITs
DD_IMAGES=/caminho/para/imagens cargo run -p dd-daemon  # inicia o daemon
export DOCKER_HOST=unix://$PWD/dd.sock
docker run -p 8080:80 -m 256m alpine sh -c 'echo hi from $(hostname)'

Funcionalidades

  • Sem máquina virtual. Sem hipervisor, sem kernel Linux, sem VM residente. As instruções do convidado rodam nativamente em arm64; apenas a fronteira de chamadas de sistema é interceptada e tratada em espaço de usuário.
  • Docker plug-and-play. dd implementa a API do Docker Engine. Aponte DOCKER_HOST para seu socket e seus comandos docker run / ps / images / build existentes funcionam sem alterações.
  • O JIT é o kernel. Namespaces, cgroups, camadas de imagem overlay e rede são estado comum de espaço de usuário — um kernel de espaço de usuário na linhagem gVisor / PRoot, sem nenhum custo de VM.
  • Três runtimes convidados, um mecanismo. Imagens Linux arm64 nativas; imagens Linux x86-64 via um JIT (jit86) que decodifica x86, sintetiza suas flags e reduz SSE/x87 para NEON (binários glibc funcionam); e convidados arm64 do macOS (ddcli mac) — sem VM em nenhum deles.
  • Isolamento real de container. Camadas de imagem overlay (copy-up / .wh. whiteout, getdents mesclado), um VFS de confinamento de caminho livre de TOCTOU, namespaces PID / UTS / USER, uma netns loopback privada com publicação de porta -p e limites de memória + pids via cgroup (OOM no limite).
  • Aplicativo desktop, sem root. Um aplicativo GTK4 nativo (dd-app) mais um CLI dd instalam um daemon de fundo por usuário e um docker context — tudo em $HOME, nunca sudo.

Por que um JIT, e não uma VM?

Qualquer outra forma de executar containers Linux em um Mac — Docker Desktop, Colima, Rancher, OrbStack — inicializa uma VM Linux sob um hipervisor e roda o daemon dentro dela. Essa VM é um imposto que você paga o dia todo. dd a elimina: um container é um processo macOS comum cujas chamadas de sistema são tratadas por um kernel Linux em espaço de usuário.

dd — kernel em espaço de usuário (JIT)Docker baseado em VM (Desktop / Colima / …)
Modelo subjacenteUm JIT trata chamadas de sistema Linux em espaço de usuário (linhagem gVisor)Um kernel Linux completo dentro de uma VM com hipervisor
RAM residente quando ociosoNenhuma — por container, liberada ao sairGigabytes reservados para a VM, sempre ligados
InicializaçãoSpawn de processo — nenhuma VM para iniciarIniciar uma VM Linux + o daemon dentro da VM primeiro
Montagem bind / I/O de arquivosSistema de arquivos do host direto através de um confinamento de caminhoPonte virtiofs/gRPC-FUSE através da fronteira da VM
Publicação de portasDiretamente para sockets do hostAtravés da camada NAT/forwarding da VM
Custo de bateria / fundoNada executando quando não há containerUma VM ociosa e consumindo bateria
Pegada para distribuir e corrigirNenhum kernel Linux — nada para rastrear CVEDistribui, corrige e rastreia um kernel Linux completo
ObservabilidadeUm processo macOS normal — amostra, depura, Monitor de AtividadeUma VM opaca; a carga de trabalho é invisível para ferramentas do host

A vantagem é estrutural: a computação do convidado roda como instruções nativas Apple Silicon (sem camada de virtualização de hardware no caminho crítico), e o notório gargalo de compartilhamento de arquivos do Docker Desktop — a ponte virtiofs/FUSE entre macOS e a VM — simplesmente não existe, pois o VFS do dd é o sistema de arquivos do host protegido por um confinamento de caminho.

Compensação honesta: um kernel em espaço de usuário é tão completo quanto as chamadas de sistema que implementa, e hoje por padrão o convidado roda em um processo — rápido, e a decisão certa para código em que você confia (seu ambiente de desenvolvimento, CI, suas próprias ferramentas). Para código não confiável, há agora uma divisão sentry opcional (DDJIT_UNTRUSTED): o convidado roda em um sandbox Seatbelt com negação padrão, sem autoridade de fs/rede do host, enquanto um processo sentry confiável possui os recursos reais e atende chamadas de sistema através de um anel de memória compartilhada — a forma gVisor. É cedo (as chamadas de sistema de arquivos principais — read/write/open/close/lseek — são encaminhadas hoje; sockets/exec/fork estão chegando), então para código totalmente hostil uma VM ainda expõe uma superfície mais estreita.

Desempenho

O mesmo binário Linux estático, executado de duas formas em um Apple M5 Pro (macOS 26.3): dentro da VM Linux (como o Docker baseado em VM executa containers) vs. através do JIT do dd no host sem VM. Mediana de 7 execuções (make bench). Menor tempo é melhor; "dd vs VM" > 1× significa que dd é mais rápido. A faixa do dd ainda paga um pequeno imposto de ponte entre processos que o aplicativo real não paga — portanto, estes são conservadores.

Containers x86-64 — dd vs emulação de VM (qemu-user; executar x86 no Apple Silicon significa traduzir de qualquer forma). O JIT do dd supera o qemu em 9 de 10 cargas de trabalho, dramaticamente em ponto flutuante:

Carga de trabalhoVM (qemu)dd (sem VM)dd vs VM
float n-body5.39s0.23s24× mais rápido
mandelbrot7.81s0.83s9.4× mais rápido
matmul8.21s1.37s6.0× mais rápido
SQLite (600k linhas)2.99s1.01s3.0× mais rápido
qsort3.91s1.68s2.3× mais rápido
memcpy2.40s1.10s2.2× mais rápido
text-scan (wc/grep)1.42s1.11s1.3× mais rápido
int sieve1.31s1.04s1.25× mais rápido
SHA-2562.72s2.44s1.1× mais rápido
base644.28s5.39s0.79× (1.26× mais lento)
Baixar ferramenta