
Автономный многoагентный движок ИИ для тестирования на проникновение: управляемая песочница для инструментов, неизменяемый шлюз сбора и проверки доказательств и воспроизводимая среда оценки security-агентов.
Многоагентный движок для авторизованных оценок безопасности. Корневой планировщик делегирует задачи агентам разведки, обнаружения, атаки (OPTIZero), валидации и отчётности — а сам движок обеспечивает соблюдение политик области охвата, исходящего трафика, доказательств и ресурсов независимо от того, какая модель им управляет. Для находок требуется реальное доказательство выполнения плюс независимая валидация; убедительная история ничего не доказывает.
Он оценивается по собственному бенчмарку уязвимых сценариев — детерминированный mock-решатель удерживает 24/24 при 100/100 — и полностью работает офлайн с любой локальной моделью, совместимой с OpenAI.
Ранняя бета, в активной разработке. Поведение может меняться без предупреждения; некоторые возможности частичны или намеренно исключены. Проверяйте перед тем, как полагаться на него — см. матрицу статуса.
Большинство наступательных инструментов полагаются на хорошее поведение модели. OIHK — нет: граница безопасности находится в движке и сохраняется независимо от того, что модель готова сказать.
example.com не авторизует его
поддомены; объявленные хосты привязываются через DNS на весь запуск.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
На Kali Linux убедитесь, что Docker запущен (sudo systemctl start docker).
Или откройте Baron, интерактивного копилота — вы говорите, он управляет управляемым движком (по умолчанию пассивный режим, если вы не авторизуете глубокую оценку):
uv run oihk start
Baron выполняет реальные оценки, отвечает точными рецептами инструментов из
RAG-корпуса на 156 инструментов, переключается через OSINT (page_osint,
username_osint, domain_osint, breach_osint, phone_osint) и запоминает
каждую сессию в Redis. Он никогда не получает сырой shell — только управляемый
движок — и всё управляется через меню: /apimodel, /adaptador и /instancia
открывают интерактивные Textual-селекторы.
По умолчанию указывает на LM Studio по адресу http://localhost:1234/v1:
export OIHK_LLM="openai/mistral-nemo"
export OIHK_API_BASE="http://localhost:1234/v1"
export OIHK_API_KEY="lm-studio"
/apimodelЛюбой из шести пресетов подключается одной командой; каждый запоминает свой собственный ключ:
/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 (без аргументов) открывает выбор платформы; /apimodel <plataforma>
переподключается с сохранённым ключом; /apimodel off отключает. Любой другой
провайдер, совместимый с OpenAI, работает через /models base + /models key +
/models use.
Два облачных префикса также устраняют всю настройку конечной точки на уровне
переменных окружения: deepseek/… и nvidia_build/… маршрутизируются к API
своих провайдеров — задайте ключ, и больше ничего. Переопределения по ролям
(OIHK_ROOT_LLM, OIHK_RECON_LLM, …) направляют логические роли к разным
моделям.
OIHK лучше всего работает с моделью, которая не отказывает слишком часто: ассистенты с усиленной настройкой безопасности отклоняют законные, авторизованные наступательные шаги и останавливают агента посреди оценки. Это не снижает безопасность OIHK — граница никогда не была в отказах модели; это точный охват движка, отказоустойчивый исходящий трафик, управляемая поверхность инструментов и шлюз доказательств, которые сохраняются независимо от того, что говорит модель.
Корневой планировщик владеет одним версионированным ScanPlan и делегирует
шаги дочерним агентам. Каждый управляемый вызов инструмента проходит через
четыре органа политики — режим/роль, точный охват, ресурсный губернатор,
исходящий трафик песочницы — прежде чем выполниться, и его вывод становится
неизменяемым доказательством в журнале запуска. Только агент валидации может
превратить это доказательство в находку; корень не может завершить запуск, пока
критическая работа открыта. Запуски возобновляются из артефактов
(--resume <run-id>) и сохраняются в oihk_runs/<run-id>/ (план, доказательства,
валидации, находки, SARIF, отчёт).
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, роль attack, предоставляет декларативный каталог векторов
повышения привилегий для Windows, Linux и macOS за адаптивным ограничителем
скорости AIMD — а корень управляет всем флотом в полёте (list_children,
send_message, stop_child, broadcast). Подробности в
ARCHITECTURE.
OIHK служит и собственной средой оценки: реальный движок работает против 24 встроенных уязвимых сценариев — веб, API, аутентификация, исходный код, конфигурация и соответствующие AutoPenBench privesc/crypto/CVE — а программный верификатор оценивает нормализованно 0–100 по корректности находок, валидности доказательств, использованию инструментов, эффективности и избеганию ложноположительных срабатываний. Ни одна модель не оценивает себя сама.
uv run oihk eval list
uv run oihk eval run-all --model mock
uv run oihk eval compare --models mock,mock:wrong_finding
Тот же стенд поставляется как окружение verifiers
на Prime Intellect Hub
(broskigx/oihk-security-agent):
prime env install broskigx/oihk-security-agent
vf-eval oihk-security-agent -m mock
Полная таблица сценариев, формула оценки и сопоставление с бенчмарками: 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 генерирует двуязычный (испанский/английский)
набор данных LoRA — по 536 образцов каждый, 336 с реальными вызовами
инструментов — из управляемого корпуса инструментов и 24 сценариев оценки,
включая поведение безопасности (дисциплина охвата, docker-шлюз, устойчивость к
инъекциям). Обучите его на Qwen2.5-14B-Instruct, экспортируйте Q4_K_M GGUF и
запустите в Ollama или LM Studio: полный конвейер в
deploy/local-models.
Только авторизованное использование. OIHK активно тестирует цели, которые ему предоставлены. Оператор несёт исключительную ответственность за авторизацию, безопасные пределы, доступность цели, обработку данных и соблюдение применимого законодательства.
Чтобы сообщить об уязвимости безопасности в самом OIHK, см. Reporting a vulnerability.
Выпущено под лицензией MIT — свободно для использования, изменения и распространения, включая коммерческое, при условии сохранения уведомления об авторских правах и текста лицензии.
| ОС | Windows 10/11 и Linux (протестировано на Kali). macOS не тестировался. |
| Python | 3.12+ с uv |
| Docker | Требуется для песочницы сканирования. Пассивный OSINT Baron работает без него. |
| RAM | Минимум 8 ГБ, рекомендуется 16 ГБ |
| GPU | Не требуется OIHK. Локальная модель работает на CPU или GPU — её собственные требования определяются моделью. |
| Модель | Любая конечная точка, совместимая с OpenAI (по умолчанию LM Studio), или облачный ключ через /apimodel: Claude, ChatGPT, Gemini, Grok, DeepSeek, NVIDIA NIM |
| Документ | Содержание |
|---|
| ARCHITECTURE | Граф агентов, хранилище планов, органы политики, OPTIZero |
| SECURITY | Границы доверия, модель угроз, сообщение об уязвимости |
| STATUS-MATRIX | Что реализовано, частично или намеренно исключено |
| CONFIGURATION | Полный справочник переменных окружения — governance, sandbox, memory |
| EVALUATION | 24 сценария, верификатор, оценка, сопоставление с AutoPenBench |
| FINDINGS | Схема находок, SARIF, артефакты устранения |
| PRIME-INTELLECT | Окружение Verifiers и вычислительная рамка |
| CHANGELOG | Каждое изменение, по релизам |
| .env.example | Операционное подмножество переменных окружения |