
Motor de pruebas de penetración con IA multiagente autónomo: un sandbox de herramientas gobernado, una puerta inmutable de evidencia y validación, y un entorno reproducible de evaluación de agentes de seguridad.
Un motor multiagente para evaluaciones de seguridad autorizadas. Un planificador raíz delega en agentes de reconocimiento, descubrimiento, ataque (OPTIZero), validación y reporte — y el propio motor aplica las políticas de alcance, egreso, evidencia y recursos sin importar qué modelo lo impulse. Los hallazgos requieren evidencia de ejecución real más validación independiente; una historia convincente no prueba nada.
Puntúa contra su propio benchmark de escenarios vulnerables — el solucionador mock determinista mantiene 24/24 con 100/100 — y se ejecuta completamente offline contra cualquier modelo local compatible con OpenAI.
Beta temprana, en desarrollo activo. El comportamiento puede cambiar sin aviso; algunas capacidades son parciales o se omiten deliberadamente. Verifica antes de confiar en él — consulta la matriz de estado.
La mayoría de las herramientas ofensivas confían en el buen comportamiento del modelo. OIHK no: el límite de seguridad vive en el motor y se mantiene sin importar lo que el modelo esté dispuesto a decir.
example.com no autoriza sus
subdominios; los hosts declarados quedan fijados por DNS durante toda la ejecución.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
En Kali Linux, asegúrate de que Docker esté en ejecución primero (sudo systemctl start docker).
O abre Baron, el copiloto interactivo — tú hablas, él dirige el motor gobernado (por defecto en pasivo a menos que autorices una evaluación profunda):
uv run oihk start
Baron ejecuta evaluaciones reales, responde con recetas de herramientas exactas de un corpus
RAG de 156 herramientas, pivota a través de OSINT (page_osint, username_osint,
domain_osint, breach_osint, phone_osint), y recuerda cada sesión en
Redis. Nunca obtiene un shell sin procesar — solo el motor gobernado — y todo
es guiado por menús: /apimodel, /adaptador y /instancia abren selectores
interactivos de Textual.
Los valores por defecto apuntan a LM Studio en http://localhost:1234/v1:
export OIHK_LLM="openai/mistral-nemo"
export OIHK_API_BASE="http://localhost:1234/v1"
export OIHK_API_KEY="lm-studio"
/apimodelCualquiera de los seis presets se conecta con un solo comando; cada uno recuerda su propia clave:
/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 (sin argumentos) abre el selector de plataforma; /apimodel <plataforma>
se reconecta con la clave guardada; /apimodel off desconecta. Cualquier otro
proveedor compatible con OpenAI funciona vía /models base + /models key +
/models use.
Dos prefijos de nube también eliminan toda la configuración de endpoint a nivel de entorno:
deepseek/… y nvidia_build/… enrutan a las APIs de sus proveedores — configura la clave,
nada más. Las anulaciones por rol (OIHK_ROOT_LLM, OIHK_RECON_LLM, …) enrutan
roles lógicos a modelos diferentes.
OIHK funciona mejor con un modelo que no rechace en exceso: los asistentes muy ajustados en seguridad declinan pasos ofensivos legítimos y autorizados y estancan al agente a mitad de la evaluación. Esto no reduce la seguridad de OIHK — el límite nunca fueron los rechazos del modelo; es el alcance exacto del motor, el egreso que falla cerrado, la superficie de herramientas gobernada y la puerta de evidencia, que se mantienen sin importar lo que diga el modelo.
Un planificador raíz posee un único ScanPlan versionado y delega pasos a agentes
hijos. Cada llamada a herramienta gobernada supera cuatro autoridades de política — modo/rol,
alcance exacto, gobernador de recursos, egreso del sandbox — antes de ejecutarse, y su
salida se convierte en evidencia inmutable en el libro mayor de la ejecución. Solo un agente de validación
puede convertir esa evidencia en un hallazgo; la raíz no puede terminar una ejecución mientras
haya trabajo crítico abierto. Las ejecuciones se reanudan desde artefactos (--resume <run-id>) y
se guardan bajo oihk_runs/<run-id>/ (plan, evidencia, validaciones, hallazgos, SARIF,
reporte).
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>OPTIZero, el rol attack, aporta un catálogo declarativo de vectores de escalada de
privilegios para Windows, Linux y macOS detrás de un limitador de tasa AIMD adaptativo —
y la raíz controla toda la flota en vuelo (list_children,
send_message, stop_child, broadcast). Detalles en
ARCHITECTURE.
OIHK funciona también como su propio entorno de evaluación: el motor real se ejecuta contra 24 escenarios vulnerables incluidos — web, API, autenticación, código fuente, configuración y privesc/cripto/CVE alineados con AutoPenBench — y un verificador programático puntúa normalizado de 0 a 100 según la corrección de hallazgos, la validez de la evidencia, el uso de herramientas, la eficiencia y la evitación de falsos positivos. Ningún modelo se autoevalúa.
uv run oihk eval list
uv run oihk eval run-all --model mock
uv run oihk eval compare --models mock,mock:wrong_finding
El mismo arnés se distribuye como un entorno de verifiers
en el Prime Intellect Hub
(broskigx/oihk-security-agent):
prime env install broskigx/oihk-security-agent
vf-eval oihk-security-agent -m mock
Tabla completa de escenarios, fórmula de puntuación y mapeo del 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 genera un dataset LoRA bilingüe (español/inglés)
— 536 muestras de cada uno, 336 con tool-calls reales — a partir del corpus de herramientas
gobernadas y los 24 escenarios de evaluación, incluidos comportamientos de seguridad (disciplina
de alcance, puerta de docker, resistencia a inyección). Entrénalo contra
Qwen2.5-14B-Instruct, exporta un GGUF Q4_K_M y sírvelo en Ollama o LM
Studio: pipeline completo en deploy/local-models.
Solo uso autorizado. OIHK prueba activamente los objetivos que se le indican. El operador es el único responsable de la autorización, los límites seguros, la disponibilidad del objetivo, el manejo de datos y el cumplimiento de la ley aplicable.
Para reportar una vulnerabilidad de seguridad en el propio OIHK, consulta Reporting a vulnerability.
Publicado bajo la Licencia MIT — libre de usar, modificar y distribuir, incluso comercialmente, siempre que el aviso de copyright y el texto de la licencia se mantengan.
| SO | Windows 10/11 y Linux (probado en Kali). macOS no está probado. |
| Python | 3.12+ con uv |
| Docker | Requerido para el sandboxing de escaneos. El OSINT pasivo de Baron funciona sin él. |
| RAM | 8 GB mínimo, 16 GB recomendado |
| GPU | No requerida por OIHK. Un modelo local se ejecuta en CPU o GPU — sus propios requisitos son los del modelo. |
| Modelo | Cualquier endpoint compatible con OpenAI (LM Studio por defecto), o una clave en la nube vía /apimodel: Claude, ChatGPT, Gemini, Grok, DeepSeek, NVIDIA NIM |
| Doc | Contenido |
|---|
| ARCHITECTURE | Grafo de agentes, almacén de planes, autoridades de política, OPTIZero |
| SECURITY | Límites de confianza, modelo de amenazas, reporte de una vulnerabilidad |
| STATUS-MATRIX | Qué está implementado, parcial o deliberadamente fuera |
| CONFIGURATION | Referencia completa de variables de entorno — gobernanza, sandbox, memoria |
| EVALUATION | Los 24 escenarios, verificador, puntuación, mapeo de AutoPenBench |
| FINDINGS | Esquema de hallazgos, SARIF, artefactos de remediación |
| PRIME-INTELLECT | Entorno de verifiers y encuadre de cómputo |
| CHANGELOG | Cada cambio, por versión |
| .env.example | El subconjunto operativo de variables de entorno |