openhackai/OpenHack
Open Source Agentic Security Scanner
OpenHack – AI駆動のオープンソース・セキュリティスキャナー
概要 – OpenHackは、LLM駆動のエージェント・パイプラインを使用して、コードベース内のセキュリティバグを自動的に探索するコマンドラインツールです。「Claude Code Security / Codex Security」サービスを模倣していますが、完全にオープンソースであり、接続するオープンソースまたは商用のLLMを自由に選択できます。
仕組み – スキャンは以下の4つのステージで進行します:
- Recon – エージェントがすべてのファイルを読み取り、プロジェクトの構造モデルを構築し、提供された追加コンテキストを取り込みます。
- Hunters – 特化したエージェント群(例:入力検証、SQLインジェクション、アクセス制御ハンター)が、モデル内の脆弱なパターンをスキャンします。2番目の「feature-hunter」パスが、リスクの高いコード領域をさらに深く調査します。
- Validation – 別のエージェントが各候補をレビューし、影響を確認し、それが真の脆弱性であるかどうかを判断します。
- Verification (beta) – ツールはDocker内でアプリケーションを起動し、ヘッドレスブラウザを実行して、実際にエクスプロイトを試行できます。成功したエクスプロイトには ✓ が付けられます。
主なUI – OpenHackはインタラクティブなターミナルUI (TUI) を備えています。スキャン実行中、recon→hunter→validator のフローをリアルタイムで表示する Trace ペインと、確認された問題を重要度、CVSSスコア、ファイル位置、コードスニペット、推奨される修正策とともにリスト表示する Findings ペインが表示されます。これらはすべて、キーボードショートカットまたはマウスで操作可能です。
CLI / CI モード – 自動化のために、同じパイプラインをヘッドレスで実行できます:
openhack --scan /path/to/repo # 進捗を表示し、JSONレポートを書き出します
その他のフラグを使用すると、中断されたスキャンの再開、過去のセッションのリスト表示、フレームワークの分類、または単一の「hack」タスクの実行が可能です。
モデルの柔軟性 – 初回ログイン後、/connect コマンドを使用して任意のLLMプロバイダー(OpenAI, Azure OpenAI, Anthropic, DeepSeek, Kimiなど)に接続できます。UIには、Models.devからモデルのメタデータを取得する検索可能なピッカーが表示されるほか、オフラインカタログも付属しています。/models で動的にモデルを切り替えられます。
サンドボックス検証 – Dockerが利用可能な場合、/verify sandbox を実行すると、コンテナ内でアプリを起動し、各検出結果をテストするために実際のHTTPリクエストを送信します。/verify browser は、XSSやCSRFなどのクライアント側のバグを捕捉するためにヘッドレスブラウザ層を追加します。
インストール – パッケージはPyPIにあり、任意のPythonインストーラーでインストールできます:
pipx install openhack # 隔離環境、推奨
# または
uv tool install openhack # uvを使用
# または
pip install openhack
プライバシー – ソースコードはローカルで処理されます。選択したLLMプロバイダーに送信されるのはプロンプトのみです。ホスト型のOpenHack推論サービスを使用する場合、プロンプトはそれらのAPIを経由しますが、それ以外の場合は設定したプロバイダーに直接送信されます。
ライセンス – MIT、完全オープンソース。GitHub経由での貢献を歓迎します。
結論 – OpenHackは、開発者が自身のコードに対してマルチエージェント脆弱性スキャンを実行し、オプションでDockerサンドボックス内でエクスプロイトを検証し、どのLLMが分析を行うかを制御できる、真のAI駆動型セキュリティ分析ツールです。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト