
Motor autônomo de testes de penetração com IA multiagente: um sandbox de ferramentas governado, um gate imutável de evidências e validação, e um ambiente reproduzível de avaliação de agentes de segurança.
Um motor multiagente para avaliações de segurança autorizadas. Um planejador raiz delega para agentes de reconhecimento, descoberta, ataque (OPTIZero), validação e relatório — e o próprio motor impõe escopo, egresso, evidências e política de recursos, independentemente do modelo que o conduz. Achados exigem evidência de execução real mais validação independente; uma história convincente não prova nada.
Ele pontua contra seu próprio benchmark de cenários vulneráveis — o solucionador mock determinístico mantém 24/24 com 100/100 — e roda totalmente offline contra qualquer modelo local compatível com OpenAI.
Beta inicial, em desenvolvimento ativo. O comportamento pode mudar sem aviso; algumas capacidades são parciais ou deliberadamente omitidas. Verifique antes de confiar nele — veja a matriz de status.
A maioria das ferramentas ofensivas confia no bom comportamento do modelo. OIHK não: a fronteira de segurança vive no motor e se mantém independentemente do que o modelo está disposto a dizer.
example.com não autoriza seus
subdomínios; hosts declarados são fixados por DNS durante toda a execução.git clone https://github.com/Broskigx/Oihk-pentesting.git
cd Oihk-pentesting
uv sync
uv run oihk --help
uv run oihk run -t https://example.test --mode passive --scan-mode standard
No Kali Linux, certifique-se de que o Docker esteja em execução primeiro (sudo systemctl start docker).
Ou abra o Baron, o copiloto interativo — você fala, ele conduz o motor governado (padrão passivo, a menos que você autorize uma avaliação profunda):
uv run oihk start
O Baron executa avaliações reais, responde com receitas exatas de ferramentas a
partir de um corpus RAG de 156 ferramentas, faz pivôs por OSINT (page_osint,
username_osint, domain_osint, breach_osint, phone_osint) e lembra de
cada sessão no Redis. Ele nunca recebe um shell bruto — apenas o motor governado
— e tudo é orientado por menus: /apimodel, /adaptador e /instancia abrem
seletores interativos do Textual.
Os padrões apontam para o LM Studio em http://localhost:1234/v1:
export OIHK_LLM="openai/mistral-nemo"
export OIHK_API_BASE="http://localhost:1234/v1"
export OIHK_API_KEY="lm-studio"
/apimodelQualquer um dos seis presets conecta com um comando; cada um lembra sua própria chave:
/apimodel claude sk-ant-… # Anthropic
/apimodel chatgpt sk-… # OpenAI
/apimodel gemini AIza… # Google AI Studio
/apimodel grok xai-… # xAI
/apimodel deepseek sk-… # DeepSeek
/apimodel nvidia nvapi-… [model] # NVIDIA NIM
/apimodel (sem argumentos) abre o seletor de plataforma; /apimodel <plataforma>
reconecta com a chave salva; /apimodel off desconecta. Qualquer outro provedor
compatível com OpenAI funciona via /models base + /models key +
/models use.
Dois prefixos de nuvem também eliminam toda a configuração de endpoint no nível
de env: deepseek/… e nvidia_build/… roteiam para as APIs de seus provedores
— defina a chave, nada mais. Substituições por função (OIHK_ROOT_LLM,
OIHK_RECON_LLM, …) roteiam funções lógicas para modelos diferentes.
O OIHK funciona melhor com um modelo que não recusa em excesso: assistentes fortemente ajustados para segurança recusam etapas ofensivas legítimas e autorizadas e travam o agente no meio da avaliação. Isso não reduz a segurança do OIHK — a fronteira nunca foram as recusas do modelo; é o escopo exato do motor, o egresso que falha fechado, a superfície de ferramentas governada e o portão de evidências, que se mantêm independentemente do que o modelo diz.
Um planejador raiz possui um único ScanPlan versionado e delega etapas para
agentes filhos. Toda chamada de ferramenta governada passa por quatro
autoridades de política — modo/função, escopo exato, governador de recursos,
egresso do sandbox — antes de executar, e sua saída se torna evidência imutável
no livro-razão da execução. Apenas um agente de validação pode transformar essa
evidência em um achado; a raiz não pode concluir uma execução enquanto houver
trabalho crítico aberto. Execuções retomam a partir de artefatos
(--resume <run-id>) e ficam em oihk_runs/<run-id>/ (plano, evidências,
validações, achados, SARIF, relatório).
flowchart TB
OP([Operator: scope + mode]) --> ROOT[Root planner]
ROOT --> RECON[Recon]
ROOT --> DISC[Discovery]
ROOT --> ATTACK[Attack - OPTIZero]
ROOT --> VALID[Validation]
ROOT --> REPORT[Reporting]
RECON --> GATE
DISC --> GATE
ATTACK --> GATE
VALID --> GATE
subgraph GATE[Policy authorities - fail closed]
direction LR
M[Mode / role] --> S[Exact scope] --> G[Resource governor] --> BOX[Sandbox: egress allowlist]
end
GATE --> LEDGER[(Evidence ledger)]
LEDGER --> VALID
VALID --> FIND[Findings + SARIF report]
</mermaid>O OPTIZero, a função attack, traz um catálogo declarativo de vetores de
escalação de privilégios para Windows, Linux e macOS por trás de um limitador de
taxa AIMD adaptativo — e a raiz controla toda a frota em execução
(list_children, send_message, stop_child, broadcast). Detalhes em
ARCHITECTURE.
O OIHK também funciona como seu próprio ambiente de avaliação: o motor real roda contra 24 cenários vulneráveis incluídos — web, API, autenticação, código-fonte, configuração e privesc/cripto/CVE alinhados ao AutoPenBench — e um verificador programático pontua normalizado de 0 a 100 em correção de achados, validade de evidências, uso de ferramentas, eficiência e evitação de falsos positivos. Nenhum modelo se autoavalia.
uv run oihk eval list
uv run oihk eval run-all --model mock
uv run oihk eval compare --models mock,mock:wrong_finding
O mesmo harness é distribuído como um ambiente
verifiers no Prime Intellect
Hub
(broskigx/oihk-security-agent):
prime env install broskigx/oihk-security-agent
vf-eval oihk-security-agent -m mock
Tabela completa de cenários, fórmula de pontuação e mapeamento de benchmark: EVALUATION.
oihk/ CLI, policy/governance, agents, tools, sandbox, findings
oihk/evals/ evaluation subsystem (scenarios, verifier, scoring, mock provider)
environments/ standalone verifiers environment package (Prime Intellect Hub)
containers/ sandbox image, entry point, browser driver, SBOM generation
deploy/ local-model LoRA pipeline: dataset trainer, Ollama Modelfiles
docs/ architecture, security boundary, configuration, evaluation
tests/ unit, regression, and opt-in integration tests
ToolsHelp/ RAG corpus: 156 governed-tool cards
skills/ external-agent skill packs
scripts/build_lora_dataset.py gera um dataset LoRA bilíngue
(espanhol/inglês) — 536 amostras cada, 336 com chamadas de ferramentas reais —
a partir do corpus de ferramentas governadas e dos 24 cenários de avaliação,
incluindo comportamentos de segurança (disciplina de escopo, portão do docker,
resistência a injeção). Treine-o contra Qwen2.5-14B-Instruct, exporte um
Q4_K_M GGUF e sirva-o no Ollama ou LM Studio: pipeline completo em
deploy/local-models.
Apenas uso autorizado. O OIHK testa ativamente os alvos que lhe são fornecidos. O operador é o único responsável pela autorização, limites seguros, disponibilidade do alvo, tratamento de dados e conformidade com a legislação aplicável.
Para reportar uma vulnerabilidade de segurança no próprio OIHK, veja Reporting a vulnerability.
Distribuído sob a Licença MIT — livre para usar, modificar e distribuir, inclusive comercialmente, desde que o aviso de copyright e o texto da licença permaneçam no lugar.
| SO | Windows 10/11 e Linux (Kali testado). macOS não testado. |
| Python | 3.12+ com uv |
| Docker | Necessário para sandboxing de varredura. O OSINT passivo do Baron funciona sem ele. |
| RAM | 8 GB mínimo, 16 GB recomendado |
| GPU | Não exigida pelo OIHK. Um modelo local roda em CPU ou GPU — seus próprios requisitos são os do modelo. |
| Modelo | Qualquer endpoint compatível com OpenAI (LM Studio por padrão), ou uma chave de nuvem via /apimodel: Claude, ChatGPT, Gemini, Grok, DeepSeek, NVIDIA NIM |
| Doc | Conteúdo |
|---|
| ARCHITECTURE | Grafo de agentes, armazenamento de plano, autoridades de política, OPTIZero |
| SECURITY | Fronteiras de confiança, modelo de ameaças, como reportar uma vulnerabilidade |
| STATUS-MATRIX | O que está implementado, parcial ou deliberadamente fora |
| CONFIGURATION | Referência completa de variáveis de ambiente — governança, sandbox, memória |
| EVALUATION | Os 24 cenários, verificador, pontuação, mapeamento AutoPenBench |
| FINDINGS | Esquema de achados, SARIF, artefatos de remediação |
| PRIME-INTELLECT | Ambiente de verifiers e enquadramento de computação |
| CHANGELOG | Toda mudança, por versão |
| .env.example | O subconjunto operacional de variáveis de ambiente |