Agente de teste de penetração orientado por IA que se conecta a uma máquina Kali, executa ferramentas de segurança de forma autónoma, analisa resultados e itera através de fluxos de trabalho baseados no navegador.
Um agente de teste de penetração open-source orientado por IA. Conecta-se a uma máquina de ataque Kali, executa ferramentas de forma autónoma, analisa resultados e itera. Descreve o alvo. Ele faz o resto.
Construído para engagements reais, máquinas boot2root e CTFs.
Pentest Copilot a realizar um bypass de autenticação no OWASP Juice Shop:
Vê-lo no YouTube
.ovpn/.conf com certificados, chaves ou credenciais referenciados e liga/desliga a partir do browser. Suporta múltiplas ligações simultâneas.git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
Abre http://localhost:3000, regista-te e inicia uma sessão.
O run.sh aguarda que o frontend, backend, MongoDB e Redis estejam prontos antes
de reportar sucesso. Se o arranque falhar, imprime o estado dos contentores
afetados e os logs recentes. Configura e atribui um modelo em Settings -> Models após o
primeiro arranque.
No Windows, executa o Pentest Copilot dentro do WSL2 com a integração WSL do Docker Desktop
ativada. Hosts de trabalho nativos em PowerShell e Windows SSH não são
suportados porque os comandos do workspace requerem uma shell POSIX. Para permissões de ficheiros
e desempenho fiáveis, clona o repositório para o sistema de ficheiros do WSL, não
em /mnt/c.
Settings -> Models deteta CLIs Codex e Claude Code autenticados. Autentica uma vez na máquina que executa a CLI:
codex login
claude auth login
Depois seleciona Use Codex ou Use Claude Code. A CLI oficial é responsável pelo login, refresh e gestão de direitos de subscrição; o Pentest Copilot não copia nem reproduz tokens OAuth. Os transportes de subscrição recebem o mesmo histórico de conversa e esquemas de funções que os fornecedores de API e devolvem o mesmo contrato de chamada assistant/tool, pelo que o Pentest Copilot continua a executar ferramentas e verificações de consentimento.
O backend Docker inclui a CLI Linux Codex e monta apenas o
~/.codex/auth.json baseado em ficheiro do host, seguindo o fluxo documentado de transferência de login
headless/Docker do Codex. Define CODEX_AUTH_FILE antes de docker compose up se o teu
ficheiro de credenciais estiver noutro local. A CLI pode atualizar esse ficheiro durante o uso
normal; nunca o faças commit nem o partilhes. Credenciais apenas no Keychain do host e Claude Code
permanecem disponíveis apenas em modo developer/host até que uma ponte de inferência no host seja
configurada. O uso da subscrição Claude é controlo local da CLI e deve cumprir os
termos atuais de produtos e subscrições de terceiros da Anthropic.
As famílias de modelos de primeira linha atuais incluem GPT-5.6 Sol/Terra/Luna, Claude Fable/Opus/Sonnet 5, e Kimi K3 (API direta Moonshot ou OpenRouter).
Em modo Docker, o Pentest Copilot monta os diretórios ~/.ssh e ~/keys
do host em modo só de leitura. Cada workspace pode selecionar um alias Host concreto de
~/.ssh/config em Connection. Cada sessão nesse workspace usa
o mesmo host e pasta de trabalho sem copiar chaves privadas para o MongoDB. Define
HOST_SSH_DIR ou HOST_SSH_KEYS_DIR antes de iniciar o Docker quando esses
diretórios estiverem noutro local.
Usa aliases nomeados em vez de entradas apenas com wildcard:
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
O run.sh trata da geração de ficheiros de configuração, builds Docker e orquestração de contentores. Usa ./run.sh start -q para reutilizar o modo de arranque anterior e ignorar prompts em execuções subsequentes.
Para a matriz completa de cenários de SO, Docker, SSH, VPN, proxy, permissões, recuperação e implementação, consulta Setup and Troubleshooting.
./run.sh stop # Stop all containers
./run.sh logs # Tail logs
./run.sh status # Container status
./run.sh backup # Back up databases, configuration, and workspaces
./run.sh config # Update configuration
./run.sh dev # Developer mode (infra only, run frontend/backend locally)
./run.sh help # Full help
O Pentest Copilot pode expor o seu plano de controlo local através de MCP para clientes como Claude Code ou Codex. Abre Settings -> MCP Access para copiar o endpoint MCP local e o token bearer.
Trata o token como acesso de administrador local: pode executar comandos na máquina de exploração configurada, operar Burp, automação de browser e fluxos VPN, ler artefactos, escrever descobertas e atualizar a configuração local do Pentest Copilot. As ações MCP ligadas a um engagement são registadas nessa sessão para que permaneçam visíveis na UI do Pentest Copilot.
Depois de copiar o endpoint e o token, podes fazer um smoke test da ligação MCP:
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| Mínimo | |
|---|---|
| RAM | 8 GB (+2 GB se usares o contentor Kali integrado) |
| Disco | 20 GB |
| Docker | v20+ com Compose v2+ |
| Node.js | v22+ (apenas modo dev) |
| pnpm | v9+ (apenas modo dev) |
O modo Docker liga a sua UI e portas de serviço a 127.0.0.1 por predefinição. Não
exponhas a stack a uma LAN ou à internet sem TLS, autenticação e uma
configuração deliberada de reverse-proxy. No modo Kali integrado, mantém os ficheiros
de workspace duradouros em /kali-data; ficheiros noutros locais do contentor
Kali são removidos quando o contentor é recriado.
O guia Setup and Troubleshooting no repositório é a fonte autoritativa para instalação, configuração, recuperação e implementação. A Wiki contém referência adicional de funcionalidades e pode estar desatualizada em relação à versão atual:
./run.sh dev # Starts MongoDB + Redis in Docker
Depois, em terminais separados:
cd backend && pnpm install && pnpm run watch # TypeScript compiler
cd backend && pnpm run dev # Backend server (port 8080)
cd frontend && pnpm install && pnpm run dev # Frontend (port 3000)
Para configuração de desenvolvimento e resolução de problemas, consulta o guia Setup and Troubleshooting.
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Contribuições são bem-vindas. Consulta o Guia de Contribuição e o Código de Conduta.
O Pentest Copilot destina-se apenas a testes de segurança autorizados. Tem sempre permissão explícita antes de testar qualquer sistema.