
自律型マルチエージェントAIペネトレーションテストエンジン:統制されたツールサンドボックス、不変の証拠・検証ゲート、再現可能なセキュリティエージェント評価環境。
OIHK-pentesting は、許可されたセキュリティ評価のための自律型マルチエージェントエンジンです。ルートプランナーが偵察、ディスカバリ、攻撃(Privesc)、検証、レポート作成の各エージェントにタスクを委任し、エンジン自体がどのモデルが駆動していてもスコープ、egress、エビデンス、リソースポリシーを強制します。検出結果には実際の実行エビデンスと独立した検証が必要であり、説得力のあるストーリーだけでは何も証明されません。
独自の脆弱性シナリオベンチマークでスコアリングし、決定論的モックソルバーは 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+/ でコマンドメニューを開きます。
暗記すべき攻撃ショートカットはありません: ターゲットを入力するだけ — Webアプリ、ホスト、IP — Baronがそれを検出し、評価を計画し、攻撃ステップを以下のサブエージェントフリートに委任します。彼はまた 自身の失敗から自己改善します: すべてのミスはAdapterOne(台帳は oihk_runs/adapterone/ 配下)における重み付きで減衰する教訓となり、将来のプロンプトに自動的に注入され、adapterone_review / adapterone_confirm で実行中にルールを参照し強化できます。
oihk start の実行中、あなたの条件でBaronに実際のシェルを渡すことができます。プロジェクトの任意の端末で、uv run oihk bashai がBaronのLANビーコンを見つけ、ハンドシェイクシークレットを再検証し、明示的な完全制御の警告を表示し、あなたの承諾時のみ接続します(キューナンバー bashai-1、bashai-2、…、永続的なIDはなく位置のみ)。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はチャットに1行ずつストリーミングされます。
/report(またはBaronの generate_report ツール)は、チャットの記録された発見を自己完結型の pentest_report.html に変換します: エグゼクティブ判定、重大度チップ、検出結果ごとのPoC、Auto-Remediation Engineからの展開可能な修正(WAFルール、IaC、k8sマニフェスト)。JavaScriptなし、すべての値はHTMLエスケープ済み、PoCはstyle-blockブレイクアウトに対してサニタイズ済み — メールに添付しても安全です。すべてのフルスキャンはMarkdownレポートの隣に自動的に1つ書き込みます。/watch は直近2回のスキャンを差分します: 新規 のもの、ベースライン以降に 解決 されたもの、持続 しているもの。検出結果は実行間で VULN-### idではなくコンテンツ同一性(CWE + エンドポイント + タイトル)でマッチするため、番号の振り直しが幻の差分を生むことはありません。/probe <dir>(または probe_ransomware_readiness ツール)は、あなたが選んだディレクトリにデコイのカナリアファイルを仕込み、レート制限されたアクセスパターンでそれらに触れ、あなたのファイルアクセス監査が大量暗号化の準備段階に気づくかどうかを測定します。欺瞞と測定のみ — 自身のカナリアディレクトリ外のものを暗号化、名前変更、削除することは決してありません。検出されたテレメトリギャップは標準的な検出結果を記録し、その修復パッケージにはauditdルール、Sysmon設定、Ansibleロールアウトが含まれます。分散オーケストレーションの最初のスライス: 独自のEd25519グレードのID(oihk.mesh.MeshNodeIdentity、HMAC署名付きエンベロープ)を持つノード、リプレイ保護されたピアレジストリ、署名付き検出結果同期、done/pendingライフサイクルを持つタスク委任 — 1つのオペレーターコンソール、多数のエグゼキューター。トランスポートの継ぎ目は現在プレーンなバイト(テストではインメモリ)です。QUIC(aioquic)が次のスライスの意図されたワイヤです。
Baronはすべてを自分で実行する必要はありません。彼は 最大7つの実際のサブエージェントを並列で 委任できます — それぞれが独自のLLMループでガバナンス下のKaliサンドボックス内でコマンドを実行し、前のコマンドの実際の出力から次のステップを決定します:
delegate_sandbox_task と tasks: [...](1〜7)がウェーブを起動します。各ユニットは1つの重複しない自己完結型タスクを所有します。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"
/apimodel6つのプリセットのいずれも1つのコマンドで接続します。それぞれが独自のキーを記憶します: