
apex v2.3.0-canary.52dcca8a
Testes de segurança ofensiva alimentados por IA usando agentes autônomos, diretamente no seu terminal.
Pensar Apex
Testes de penetração com IA usando agentes autônomos — diretamente no seu terminal. Execute pentests blackbox e whitebox que exploram, raciocinam e revelam vulnerabilidades reais.
Quer executar a partir da nuvem ou integrá-lo ao seu CI/CD? Consulte Pensar Console.
Casos de Uso
Desenvolvedores
- Execute
/pentestantes de mesclar um PR — detecte vulnerabilidades com a mesma naturalidade com que você executa testes - Obtenha descobertas acionáveis com pontuações de severidade, evidências e correções sugeridas — sem necessidade de conhecimento em segurança
- Integre ao CI/CD por meio de comandos CLI headless ou do Pensar Console
Engenheiros de Segurança
- Implante testes de swarm orientados por agentes em grandes superfícies de ataque
- Use o modo
/operatorpara investigação manual, encadeamento de exploits e validação - Automatize fluxos de trabalho de teste repetitivos com memória persistente que se acumula entre engajamentos
- Escale entre equipes e projetos por meio do Pensar Console
Instalação
| Método | Command |
|---|---|
| Instalação Rápida (macOS/Linux) | curl -fsSL https://pensarai.com/install.sh | bash |
| Homebrew | brew tap pensarai/tap && brew install apex |
| npm | npm install -g @pensar/apex |
| Windows (PowerShell) | irm https://www.pensarai.com/apex.ps1 | iex |
Uso
Abra a TUI do Apex:
pensar
CLI Headless
Execute pentests sem a TUI para scripts, CI ou integração com evalgate:
# Pentest básico
pensar pentest --target https://example.com
# Com pensamento estendido e modo orientado a tarefas
pensar pentest --target https://example.com --extended-thinking --task-driven
# Whitebox (com acesso ao código-fonte)
pensar pentest --target https://example.com --cwd ./my-app
# Pentest direcionado com objetivos específicos
pensar targeted-pentest --target https://example.com --objective "Test authentication bypass"
| Flag | Command | Descrição |
|---|---|---|
--target <url> | pentest, targeted-pentest | URL alvo (obrigatória) |
--cwd <path> | pentest | Caminho do código-fonte para o modo whitebox |
--mode <mode> | pentest | exfil para pivoting e extração de flags |
--model <model> | pentest, targeted-pentest | Modelo de IA (padrão: selecionado automaticamente) |
--extended-thinking | pentest | Ative o pensamento estendido para modelos compatíveis |
--task-driven | pentest | Ative a arquitetura orientada a tarefas (experimental) |
--prompt <text|@file> | pentest | Orientação personalizada para o agente |
--threat-model <text|@file> | pentest | Modelo de ameaças para orientar os testes |
--objective <text> | targeted-pentest | Objetivo de teste (repetível) |
Registro de Logs
O Apex direciona o registro de logs diagnóstico/operacional por meio de um logger estruturado centralizado
(src/core/logger). Ele escreve JSON de uma linha para o stderr quando a saída não é um TTY — mantendo-o
separado do stdout do programa e fácil de enviar para um pipeline de logs (por exemplo, CloudWatch) —
e saída colorida e formatada em um terminal interativo. A saída de CLI/TUI voltada ao usuário permanece no stdout.
Defina o nível (mais → menos detalhado: debug < info < warn < error, padrão info):
pensar pentest --target https://example.com --log-level debug # ou --verbose / --quiet
PENSAR_LOG_LEVEL=debug pensar ... # via variável de ambiente
PENSAR_DEBUG=1 pensar ... # alias de compatibilidade reversa para debug
Ordem de resolução: flag da CLI → PENSAR_LOG_LEVEL → PENSAR_DEBUG → padrão info.
PENSAR_LOG_FORMAT=json|pretty força o formato da saída. Quando o Apex é executado como um agente gerenciado,
PENSAR_LOG_LEVEL é fornecido pelo ambiente host.
Rastreamento com W&B Weave
Transmita rastreamentos do agente em nível de etapa para o Weights & Biases Weave para análise e ajuste fino:
export WANDB_API_KEY=your-key
export WANDB_ENTITY=your-entity
# WANDB_PROJECT tem como padrão "apex-traces"
pensar pentest --target https://example.com
Os rastreamentos incluem etapas de raciocínio, chamadas de ferramentas, uso de tokens e checkpoints de estado. Quando as credenciais não estão definidas, o rastreamento é desativado silenciosamente.
OpenTelemetry (Observabilidade)
O Apex emite spans OpenTelemetry para execuções de agentes, chamadas de LLM e execuções de ferramentas por meio de @opentelemetry/api. Os spans são no-ops a menos que seu processo registre um SDK OpenTelemetry como o provedor global de tracer; o Apex não acompanha nenhum SDK.
Registre um SDK antes de importar o código do Apex:
- Sentry: instale
@sentry/node≥ 9.27 e adicioneSentry.vercelAIIntegration()às suas integraçõesSentry.init. - Qualquer backend OTel (Honeycomb, Tempo, Datadog, etc.): registre
@opentelemetry/sdk-nodecom um exportador OTLP.
Os spans seguem as convenções semânticas GenAI do OTel. Apenas a forma do span (modelo, contagens de tokens, latência, nomes de ferramentas) é capturada por padrão; defina AI_TRACE_RECORD_PAYLOADS=true para também registrar prompts, E/S de ferramentas e saídas.
Contêiner Kali Linux (Opcional)
Para melhor desempenho, execute o Apex no contêiner Kali Linux incluído, com ferramentas de pentest pré-configuradas:
cd container
cp env.example .env # adicione suas chaves de API
docker compose up --build -d
docker compose exec kali-apex bash
Dentro do contêiner, execute:
pensar
⚠️ Uso Responsável
Este repositório contém ferramentas apenas para testes de segurança autorizados. Antes de usar, leia e concorde com a Divulgação de Uso Responsável.