
자율형 멀티 에이전트 AI 침투 테스트 엔진: 통제된 도구 샌드박스, 불변의 증거 및 검증 게이트, 재현 가능한 보안 에이전트 평가 환경.
OIHK-pentesting은 승인된 보안 평가를 위한 자율 멀티 에이전트 엔진입니다. 루트 플래너가 정찰, 탐색, 공격(Privesc), 검증, 보고 에이전트에게 작업을 위임하며, 어떤 모델이 구동하든 엔진 자체가 범위, 이그레스, 증거, 리소스 정책을 강제합니다. 발견 사항은 실제 실행 증거와 독립적인 검증을 모두 요구합니다. 그럴듯한 이야기만으로는 아무것도 증명하지 못합니다.
자체 취약 시나리오 벤치마크로 점수를 매기며 — 결정론적 mock 솔버는 24/24, 100/100을 유지합니다 — 그리고 모든 OpenAI 호환 로컬 모델에 대해 완전히 오프라인으로 실행됩니다.
초기 베타, 활발히 개발 중. 동작이 예고 없이 변경될 수 있으며, 일부 기능은 부분적이거나 의도적으로 제외되어 있습니다. 의존하기 전에 검증하세요 — 상태 매트릭스를 참조하세요.
대부분의 공격 도구는 모델의 선의를 신뢰합니다. OIHK는 그렇지 않습니다. 안전 경계는 엔진 안에 존재하며, 모델이 무엇을 말하든 유지됩니다.
example.com을 선언한다고 해서 그 하위 도메인이 승인되지는 않습니다. 선언된 호스트는 전체 실행 동안 DNS에 고정됩니다.| 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//models를 통한 클라우드 키: Claude, ChatGPT, Gemini, Grok, DeepSeek, NVIDIA NIM |
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은 실제 평가를 실행하고, 164개 도구 RAG 코퍼스에서 정확한 도구 레시피로 답변하며, OSINT(page_osint, username_osint, domain_osint, breach_osint, phone_osint)를 통해 피벗하고, 모든 세션을 Redis에 기억합니다. 결코 원시 셸을 받지 않고 — 오직 거버넌스 엔진만 — 모든 것이 메뉴 기반입니다: /models, /apimodel, /adaptador, /instancia가 대화형 Textual 선택기를 엽니다. /power <0-100>은 병렬 처리 예산을 설정합니다 — 동시에 존재할 수 있는 추가 샌드박스 컨테이너 수 — 따라서 Docker와 운영자의 머신이 자동으로 막히지 않습니다. 0은 단일 온디맨드 인스턴스를 유지합니다.
TUI는 즉시 그려지고 (무거운 모델 스택은 첫 "pensando…" 줄 뒤에서 로드됨) 완전히 키보드로 구동됩니다: 마우스 보고는 의도적으로 꺼져 있습니다 — 일부 터미널이 원시 마우스 바이트를 입력으로 누출함 — 따라서 Ctrl+G는 생성을 중지하고, PageUp/PageDown은 기록을 페이지하며, Ctrl+L은 로그를 지우고 Ctrl+/는 명령 메뉴를 엽니다.
외울 공격 단축키는 없습니다: 그냥 대상을 입력하세요 — 웹 앱, 호스트, IP — 그러면 Baron이 이를 감지하고, 평가를 계획하며, 공격 단계를 아래의 서브에이전트 함대에 위임합니다. 그는 또한 자신의 실패로부터 스스로 개선합니다: 모든 실패는 AdapterOne(oihk_runs/adapterone/ 아래 원장)에서 가중치가 부여된 감쇠 교훈이 되어, 미래의 프롬프트에 자동으로 주입되며, 실행 중에 규칙을 참조하고 강화하기 위한 adapterone_review / adapterone_confirm이 있습니다.
oihk start가 실행되는 동안, 당신의 조건에 따라 Baron에게 실제 셸을 넘겨줄 수 있습니다. 프로젝트의 모든 터미널에서 uv run oihk bashai는 Baron의 LAN 비콘을 찾고, 핸드셰이크 비밀을 재검증하고, 명시적인 전체 제어 경고를 표시하며, 당신의 수락 시에만 연결합니다 (큐 번호 bashai-1, bashai-2, …; 영구 신원 없음, 위치만). Baron은 그 터미널들에 명령을 — 병렬로 — 디스패치하며, 모든 명령과 결과는 증거 게이트에 공급되는 영구 감사 로그(oihk_runs/bashai/audit.jsonl)에 기록됩니다. OIHK_CONFIRM_COMMANDS=1(또는 TUI에서 /confirmar on)을 사용하면 각 명령은 실행 전에 해당 터미널에서 당신의 명시적 확인을 기다립니다. 기본값은 감사 로그에 기록된 강화된 경고와 함께 직접 실행입니다. 클라이언트는 지속적으로 하트비트를 보내며 Baron이 응답을 멈추면 즉시 종료됩니다.
Baron이 실행하는 모든 명령은 Kali 샌드박스 컨테이너 내부에서 실행되며, 라이브 터미널 블록은 그 실제 출력을 실시간으로 보여줍니다 — 호스트 측 읽기 전용 run_terminal 프로브(docker ps, netstat, ipconfig, ss, arp, git status, redis-cli…)를 포함하여, 그 stdout이 채팅에 한 줄씩 스트리밍됩니다.
/report(또는 Baron의 generate_report 도구)는 채팅의 기록된 발견 사항을 자체 포함된 pentest_report.html로 변환합니다: 경영진 판정, 심각도 칩, 발견 사항별 PoC, 그리고 Auto-Remediation Engine의 배포 가능한 수정 사항(WAF 규칙, IaC, k8s 매니페스트). JavaScript 없음, 모든 값 HTML 이스케이프, PoC는 스타일 블록 탈출에 대해 정제됨 — 이메일에 첨부해도 안전합니다. 모든 전체 스캔은 Markdown 보고서 옆에 자동으로 하나를 작성합니다./watch는 가장 최근 두 스캔을 비교합니다: 새로운 것, 기준선 이후 해결된 것, 그리고 지속되는 것. 발견 사항은 VULN-### id가 아닌 콘텐츠 정체성(CWE + 엔드포인트 + 제목)으로 실행 간에 매칭되므로, 번호 재지정이 유령 diff를 생성하지 않습니다./probe <dir>(또는 probe_ransomware_readiness 도구)는 당신이 선택한 디렉터리에 미끼 카나리 파일을 심고, 속도 제한된 접근 패턴으로 이를 건드리며, 당신의 파일 접근 감사가 대량 암호화 준비를 감지할지 측정합니다. 기만과 측정만 — 자체 카나리 디렉터리 외부의 어떤 것도 암호화, 이름 변경, 삭제하지 않습니다. 감지된 텔레메트리 격차는 auditd 규칙, Sysmon 구성, Ansible 롤아웃을 포함하는 수정 패키지와 함께 표준 발견 사항을 제출합니다.분산 오케스트레이션의 첫 번째 조각: 자체 Ed25519급 신원(oihk.mesh.MeshNodeIdentity, HMAC 서명 봉투)을 가진 노드, 재생 방지 피어 레지스트리, 서명된 발견 사항 동기화, 그리고 done/pending 수명 주기를 가진 작업 위임 — 하나의 운영자 콘솔, 다수의 실행자. 전송 이음새는 오늘날 평문 바이트(테스트에서는 인메모리)이며, QUIC(aioquic)이 다음 조각의 의도된 와이어입니다.
Baron이 모든 것을 혼자 실행할 필요는 없습니다. 그는 최대 7개의 실제 서브에이전트를 병렬로 위임할 수 있습니다 — 각각은 거버넌스 Kali 샌드박스에서 명령을 실행하는 자체 LLM 루프이며, 이전 명령의 실제 출력으로부터 다음 단계를 결정합니다:
tasks: [...](1–7)와 함께 delegate_sandbox_task가 웨이브를 시작합니다. 각 단위는 겹치지 않는 자체 포함 작업 하나를 소유합니다.background: true를 사용하면 웨이브가 Baron의 턴을 차단하지 않고 시작됩니다 — 그는 계획을 계속하고 준비되면 fleet_status를 확인하여 완료된 모든 웨이브의 단위별 보고서를 수집합니다.[Ari] ▶ nmap -sV host-a, [Bruma] ↳ 22/tcp open, [Ciro] ✔ done.자세한 내용은 ARCHITECTURE를 참조하세요.
자체 머신에서 HackTheBox 박스에 대해 연습하기 위해, oihk lab은 로컬 대상을 등록하고, 취약점 클래스별로 단일 목적 익스플로잇 스크립트를 빌드하며, 로컬 시도 원장을 유지합니다 — 모든 것이 운영자의 머신에 남고 등록되지 않은 대상을 거부합니다. 이는 독립형 개발 CLI로, 의도적으로 Baron의 도구 표면 밖에 있습니다.
기본값은 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