
자율형 멀티 에이전트 AI 침투 테스트 엔진: 통제된 도구 샌드박스, 불변의 증거 및 검증 게이트, 재현 가능한 보안 에이전트 평가 환경.
승인된 보안 평가를 위한 멀티 에이전트 엔진. 루트 플래너가 recon, discovery, attack(OPTIZero), validation, reporting 에이전트에 작업을 위임하며, 어떤 모델이 구동하든 엔진 자체가 범위, 이그레스, 증거, 리소스 정책을 강제합니다. 발견 사항은 실제 실행 증거와 독립적인 검증을 요구합니다. 그럴듯한 이야기는 아무것도 증명하지 못합니다.
자체 취약 시나리오 벤치마크에 대해 점수를 매기며 — 결정론적 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은 실제 평가를 실행하고, 156개 도구 RAG 코퍼스에서 정확한 도구 레시피로
답변하며, OSINT(page_osint, username_osint, domain_osint, breach_osint,
phone_osint)를 통해 피벗하고, 모든 세션을 Redis에 기억합니다. 결코 원시
셸을 받지 않습니다 — 오직 거버넌스 엔진만 — 그리고 모든 것이 메뉴 기반입니다:
/apimodel, /adaptador, /instancia가 대화형 Textual 선택기를 엽니다.
기본값은 http://localhost:1234/v1의 LM Studio를 가리킵니다:
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>/(plan, evidence,
validations, findings, SARIF, report) 아래에 저장됩니다.
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>attack 역할인 OPTIZero는 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
동일한 하네스가 Prime Intellect Hub의
verifiers 환경으로
제공됩니다
(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는 거버넌스 도구 코퍼스와 24개 평가 시나리오로부터
이중 언어(스페인어/영어) LoRA 데이터셋 — 각각 536개 샘플, 336개는 실제
도구 호출 포함 — 을 생성하며, 안전 동작(범위 규율, docker 게이트, 주입 저항)을
포함합니다. Qwen2.5-14B-Instruct에 대해 학습시키고, Q4_K_M GGUF를 내보내고,
Ollama 또는 LM Studio에서 서빙하세요: 전체 파이프라인은
deploy/local-models에 있습니다.
승인된 사용만. OIHK는 주어진 대상을 적극적으로 테스트합니다. 운영자는 승인, 안전 한도, 대상 가용성, 데이터 처리, 관련 법률 준수에 대해 전적으로 책임이 있습니다.
OIHK 자체의 보안 취약점을 보고하려면 취약점 보고를 참조하세요.
MIT 라이선스에 따라 배포됩니다 — 저작권 고지와 라이선스 텍스트가 유지되는 한 상업적 사용을 포함하여 자유롭게 사용, 수정, 배포할 수 있습니다.
| OS | Windows 10/11 및 Linux(Kali 테스트 완료). macOS는 테스트되지 않음. |
| Python | 3.12+ 및 uv |
| Docker | 스캔 샌드박싱에 필요. Baron의 패시브 OSINT는 없이도 작동. |
| RAM | 최소 8 GB, 권장 16 GB |
| GPU | OIHK에서 요구하지 않음. 로컬 모델은 CPU 또는 GPU에서 실행 — 자체 요구 사항은 모델의 것. |
| 모델 | 모든 OpenAI 호환 엔드포인트(기본값은 LM Studio), 또는 /apimodel을 통한 클라우드 키: Claude, ChatGPT, Gemini, Grok, DeepSeek, NVIDIA NIM |
| 문서 | 내용 |
|---|
| ARCHITECTURE | 에이전트 그래프, 플랜 저장소, 정책 권한, OPTIZero |
| SECURITY | 신뢰 경계, 위협 모델, 취약점 보고 |
| STATUS-MATRIX | 구현됨, 부분적, 또는 의도적으로 제외된 것 |
| CONFIGURATION | 전체 환경 변수 참조 — 거버넌스, 샌드박스, 메모리 |
| EVALUATION | 24개 시나리오, 검증기, 채점, AutoPenBench 매핑 |
| FINDINGS | 발견 사항 스키마, SARIF, 교정 아티팩트 |
| PRIME-INTELLECT | Verifiers 환경 및 컴퓨트 프레이밍 |
| CHANGELOG | 릴리스별 모든 변경 사항 |
| .env.example | 운영 환경 변수 하위 집합 |