Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ONUS — ローカルホスト型・エアギャップ対応のVAPTプラットフォームで、8つの並列スキャンモジュールを実行し、CVSS v3.1に基づいて発見事項を決定的にスコアリングし、ローカルLLMによるAI生成の修復アドバイス(オプション)付きのPDFレポートを生成します。 | Kitploit
ツール/GitHubGitHub/maverickaayush/onus
偵察脆弱性スキャナーネットワークマッピングポートスキャンDNSおよびサブドメイン列挙ウェブセキュリティペネトレーションテスト学習と教育AIセキュリティ
GitHubmaverickaayush/onus

ONUS

ローカルホスト型・エアギャップ対応のVAPTプラットフォームで、8つの並列スキャンモジュールを実行し、CVSS v3.1に基づいて発見事項を決定的にスコアリングし、ローカルLLMによるAI生成の修復アドバイス(オプション)付きのPDFレポートを生成します。

102610日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
ウェブサイト

ONUS - 自動脆弱性評価 & ペネトレーションテスト

License: MIT CI

ONUS - Find security risks before attackers do.

Built by maverickaayush.

ローカルでホストされ、エアギャップ環境でも動作するVAPTツール:認可済みのターゲットドメインを指定すると、8つのスキャンモジュールを並列実行し、すべての発見事項を決定的にスコアリング(CVSS v3.1)し、オプションでローカルLLMによる平易な英語の説明を追加し、PDFレポートとライブWebダッシュボードを生成します。外部API呼び出しは一切なし - すべてがお客様自身のネットワーク上で動作します。

ONUSの2つの実行方法:

  • セルフホスト(このリポジトリ): docker compose up → ドメインを入力 → 認可チェックボックスにチェック → スキャン。アカウント登録もサインインもメール認証も不要 - シングルオペレーター運用を前提としており、以下のすべてはこの経路を対象にしています。
  • ホスト型: マネージドインスタンスが tryonus.tech で稼働中です。プロダクション専用機能(アカウント / OAuthサインイン、スキャンキュー、ユーザーごとの履歴)が追加されており、これらはこのリポジトリではデフォルトでオフになっているため、セルフホストはシンプルなままです。セルフホストとホスト型の比較 を参照してください。

特徴

  • 8つの並列スキャンモジュール(Celery)- ネットワーク偵察(ポート/サービス/サブドメイン/DNS/WHOIS)、Webアプリスキャン(ZAP + Nikto + Katana)、SSL/TLS設定、HTTPセキュリティヘッダー、OWASP Top 10チェック、テクノロジーフィンガープリンティング/WAF検出、CVEスキャン(Nuclei)、ディレクトリ列挙(FFUF)。
  • 決定的なCVSS v3.1スコアリング - 深刻度、CVSSスコア/ベクター、優先度、OWASPカテゴリはルールカタログから計算され、LLMが推測することはありません。同じスキャンを2回実行すると、数値フィールドはバイト単位で同一になります。
  • 信頼性の検証 - 発見事項は受動的に再確認(非破壊的な再観察のみ)され、黙って破棄されるのではなく、confirmed / probable / unverified のタグが付けられます。
  • オプションのローカルAI分析 - Ollama + Qwen 2.5 7Bが、スコアリング済みの発見事項を平易な英語の説明と修復手順に変換します。完全にエアギャップ対応。ツールはこれなしでも動作します(下記のクイックスタートを参照)。
  • コンテキストを考慮した実践的な修復策 - すべての発見事項は具体的な次のステップで締めくくられます。安定した問題には決定的なテンプレートを使用し、本当にコンテキスト依存の問題にはAIを使用します。また、マネージドプラットフォーム検出(Vercel / Cloudflare / Netlify / GitHub Pages / …)により、プラットフォーム管理のTLS発見事項では、そのレイヤーを誰が制御しているかと次に何をすべきかが示され、「サーバー設定を編集してください」という実行不可能なアドバイスは行われません。
  • PDFレポート + Webダッシュボード - WeasyPrintでレンダリングされたレポートとNext.jsダッシュボード。どちらも同じスコアリング済み/説明付きの発見事項に基づいています。

セルフホストとホスト型の比較

セルフホストのデフォルト経路は意図的にシンプルになっています:サインアップもメール認証もOAuthも不要。ホスト型専用機能(認証、スキャンキュー)はデフォルトでオフになる設定フラグの背後にあり(REQUIRE_AUTH=false、HOSTED_QUEUE_ENABLED=false。設定 を参照)、docker-compose.yml には設定されていません - つまり、ONUSをローカルで実行してもログインの背後に置かれることはありません。ゼロセットアップをお好みですか?tryonus.tech のホスト型サイトをご利用ください。

スクリーンショット

新規スキャンライブスキャン状況
New Scan formScan Status page
レポートダッシュボードスキャン発見
Report dashboardScans discovery dashboard

アーキテクチャ

root@kitploit:~
domain → [recon | webscan | ssl_tls | headers | owasp | tech_fingerprint | nuclei | enumeration] (parallel, Celery)
       → any module failed/timed out? → pause for operator retry/continue/cancel
       → aggregator (dedup + OWASP-map + sort)
       → confidence verification (passive re-observation)
       → deterministic CVSS scoring
       → Ollama (Qwen 2.5 7B) AI analysis
       → WeasyPrint PDF + PostgreSQL
       → dashboard / PDF download
Six-layer architecture diagram

6つのレイヤー:Next.jsフロントエンド → FastAPI → Celery/Redis → 8つの並列スキャンモジュール → Ollama(Qwen 2.5 7B)→ WeasyPrint PDF + ダッシュボード。詳細は ARCHITECTURE.md(スキーマ、契約、ガードレール)と docs/QUICK_REF.md(一般的な変更のためのクイックリファレンス)を参照してください。

前提条件

  • Docker + Docker Compose v2
  • 約8GBの空きディスク容量。 ビルド済みイメージの合計は約6.8GB(バックエンドとワーカーはそれぞれ約3.25GB - NucleiテンプレートとPlaywright経由のヘッドレスChromiumをバンドル - プラス約270MBのフロントエンド)で、ビルド自体にも追加の余裕が必要です。
  • 約6GBの空きRAM。 ZAPサイドカーだけで4GBに制限されており(mem_limit: 4g)、Postgres、Redis、API、ワーカー、フロントエンドが並行して動作します。
  • 初回ビルドには、十分な回線速度で約10〜15分かかります。

クイックスタート

上記の前提条件を参照:約8GBのディスクと約6GBのRAMが必要で、初回ビルドには10〜15分かかります。

root@kitploit:~
cp .env.example .env
cp backend/subfinder-config/provider-config.yaml.example backend/subfinder-config/provider-config.yaml
docker compose up -d
docker compose ps        # wait for zap to report healthy (~2 min)

http://localhost:3000 を開き、ドメインを入力し、認可チェックボックスにチェックを入れて、スキャンを開始します。

サインインもサインアップもメール認証も不要。 セルフホスト版ONUSはデフォルトでシングルオペレーター用です - ダッシュボードを開いてからスキャンするまでの間にアカウント手順はありません。

Ollamaをインストールしなくても動作します。 CVSS/深刻度/優先度のスコアリングは常に決定的です(analysis/cvss_scorer.py)- Ollamaが動作していない場合、発見事項にはAI生成の説明文ではなくルールベースの説明テンプレートが適用されます。これを有効にするには、下記の「オプション:AI生成の説明文を有効にする」を参照してください。

このツールの実行にAPIキーは一切不要です。 ラップされているすべてのスキャンツール(nmap、ZAP、Nikto、testssl.sh、Nuclei、Amass、Naabu、httpx、WhatWeb、WAFW00F、FFUF)とOllama自体が、キーなしで動作します。上記のsubfinder設定コピー手順が唯一の任意の例外です - 空のテンプレートのままでも問題なく、subfinderはフリー/パブリックソースのみで実行されます。サブドメイン列挙を強化するには、開始前にそのファイルに最大2つの無料ティアキーを追加できます:GitHubパーソナルアクセストークンと ProjectDiscovery Chaos APIキー - provider-config.yaml.example 内のコメントを参照してください。

オプション:AI生成の説明文を有効にする

Ollamaはホスト上でネイティブに(Docker内ではなく)実行されるため、ホストのGPUを直接使用できます。コンテナは host.docker.internal を介して接続します。

  1. ホストにOllamaをインストール:https://ollama.com/install.sh
  2. モデルをプル:ollama pull qwen2.5:7b
  3. OllamaをDockerコンテナから到達可能にする(Ollamaはデフォルトで 127.0.0.1 のみにバインドされており、Dockerのブリッジネットワークからは到達できません):
    root@kitploit:~
    sudo systemctl edit ollama
    
    [Service] セクションに追加:
    root@kitploit:~
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    
    保存してから:
    root@kitploit:~
    sudo systemctl daemon-reload && sudo systemctl restart ollama
    
    注意:これによりOllamaはDockerだけでなくローカルネットワークからも到達可能になります - 個人用マシンでは問題ありませんが、共有マシンではファイアウォールルールを推奨します。
  4. 確認:curl http://localhost:11434/api/tags
  5. バックエンド/ワーカーを再起動して反映:docker compose restart backend worker

オプション:練習用ターゲット

composeファイルには、独自の認可済みターゲットを用意しなくてもスキャナーを試せるように、意図的に脆弱な12の練習用アプリ(Juice Shop、DVWA、bWAPP、Mutillidae、NodeGoat、ModSecurity WAFの背後にあるDVWP/WordPress、Metasploitable2、WebGoat)も定義されています。これらはComposeプロファイルの背後にあり、デフォルトではビルド/起動されません:

root@kitploit:~
docker compose --profile targets up -d

警告:これらは意図的に脆弱で、中には実際にバックドアが仕込まれたサービスもあります(Metasploitable2には稼働中のvsftpdバックドアが含まれています)。targets プロファイルは、インターネットや共有ネットワークから到達できないマシンでのみ実行してください - パブリッククラウドインスタンスや露出したホストでは絶対に実行しないでください。

これらのほとんどはプリビルドイメージから実行され、追加のものは不要です。nodegoat と dvwp-wordpress の2つは、このリポジトリにベンダリングされていないソースからビルドされるため、最初にクローンする必要があります:

root@kitploit:~
git clone https://github.com/OWASP/NodeGoat nodegoat-src
git clone https://github.com/vavkamil/dvwp dvwp-src

起動後の公開ポート:Juice Shop :3001、DVWA :8081、bWAPP :8083、Mutillidae :8084、NodeGoat :8085、DVWP(WAF経由、TLS):8444、WebGoat :8082。Metasploitable2はホストポートを公開しません(実際のバックドア付き/未認証のネットワークサービスを公開するため、Dockerの内部ネットワーク経由で backend/worker からのみ到達可能)。

設定

.env(.env.example からコピー)で設定する環境変数:

上記の POSTGRES_PASSWORD/SECRET_KEY のデフォルトはデモ用のみです - ローカル/個人インスタンスでは問題ありませんが、他の誰かが到達できる場所にデプロイする前に両方を変更してください。これは単なる推奨ではなく、強制されるようになりました:ONUS_ENV=production を設定するか(またはホスト型認証をオンにすると)、どちらかがデフォルト/プレースホルダーのままの場合、バックエンドは起動を拒否します。強力なキーは python -c "import secrets; print(secrets.token_urlsafe(48))" で生成してください。

ホスト型専用機能はデフォルトでオフです。 REQUIRE_AUTH(アカウント / OAuthサインイン)と HOSTED_QUEUE_ENABLED(スキャンキュー)はどちらもデフォルトで false で、docker-compose.yml には設定されていないため、セルフホスト版ONUSがログインやキューの背後に置かれることはありません。意図的にマルチユーザーのホスト型デプロイを構築する場合を除き、オフのままにしてください - これらをオンにしているのはマネージドの tryonus.tech インスタンスだけです。

アナリティクス(オプション)

ONUSにはデフォルトでアナリティクスはありません - 何も読み込まれず、ブラウザからデータが送信されることもありません。お客様自身のデプロイで匿名の製品使用状況メトリクスを収集するには、Google Analytics 4のMeasurement IDを1つ設定します:

root@kitploit:~
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

これはフロントエンドのビルド時変数なので、フロントエンドのビルド環境で設定します(Vercel/ホストの環境変数、またはローカルの npm run build の場合は frontend/.env.local)。設定すると、GAは本番ビルドでのみ読み込まれ、ページビューといくつかの製品イベント(例:scan_started、scan_completed、report_downloaded)を追跡します。カスタムイベントは frontend/lib/analytics.ts の型付きヘルパーを使用します - trackEvent('scan_started')。

プライバシー: 匿名でカーディナリティの低い使用状況イベントのみが送信されます - スキャンしたドメイン、スキャン結果、発見事項、レポート内容、認可状態、個人データは決して送信されません。NEXT_PUBLIC_GA_ID を未設定のままにしておくと、ONUSはこれまでとまったく同じように動作します。アナリティクスは完全にオプトインです。

APIドキュメント

FastAPIはインタラクティブなSwaggerドキュメントを自動生成します - バックエンドが起動したら、http://localhost:8000/docs を開いてください。

停止

root@kitploit:~
docker compose down

ログ

root@kitploit:~
docker compose logs -f backend worker

テストと検証

root@kitploit:~
pip install -r backend/requirements-dev.txt
pytest backend/tests

本稿執筆時点で655件の自動化バックエンドテストがあります。単体/統合テストスイートに加えて、ツールは開発中にエンドツーエンドで実際に使用されています:9つの意図的に脆弱な練習用アプリケーション(DVWA、Juice Shop、Mutillidae、NodeGoat、bWAPP、WebGoat、Metasploitable2、WAFの背後にあるDVWP/WordPress)と1つの認可済みパブリックターゲット(testphp.vulnweb.com)に対して、79件の実スキャンが実行され、124件のPDFレポートが生成されました - 仮定の数字ではありません。明示的にテストを認可されたターゲットのみをスキャンしてください - 開発中に使用した練習用ターゲットについては docs/test_findings.md を参照してください。

ドキュメント

  • ARCHITECTURE.md - 完全なアーキテクチャ、スキーマ、および変更が絶対に壊してはならない契約事項。重要な変更を行う前にこれを読んでください。
  • docs/QUICK_REF.md - 実行コマンド、フォルダの役割、「この変更はどこで行うか」。
  • docs/scanners.md - 各スキャンモジュールのタイミング/フラグ設計の根拠。
  • docs/ai.md - Ollamaのタイムアウト/コンテキスト調整、スコアリングをLLMから完全に移行した理由。
  • docs/docker.md - Dockerの逸脱に関する注意点とビルドの落とし穴。
  • docs/troubleshooting.md - 任意のモジュール/ステージを単独で手動テストする方法。
  • docs/roadmap.md - 歴史的なビルド順序(ビルドは完了済み)。
  • CONTRIBUTING.md - 開発環境のセットアップ、テスト、PRの期待事項。

ライセンス

MIT - LICENSE を参照してください。

認可された使用のみ

明示的な書面による認可なしにターゲットをスキャンすることは、IT法2000(インド)および同等の国際法規に違反します。このツールはすべてのスキャンで認可の確認を必須とし、説明責任のためオペレーターとタイムスタンプを記録します。

ツールをダウンロード
セルフホスト(このリポジトリ)ホスト型(tryonus.tech)
セットアップdocker compose up不要 - サイトを開くだけ
サインインなし - シングルオペレーターアカウント / Google / GitHub OAuth
スキャンフロードメイン → 認可チェックボックス → スキャンサインイン後に同じ
追加機能-スキャンキュー、ユーザーごとの履歴、ホスト型メール
実行環境お客様自身のネットワーク、エアギャップマネージドクラウド
変数デフォルト目的
POSTGRES_PASSWORDvapt_secure_2025データベースのパスワード
SECRET_KEYchange_me_to_a_long_random_stringバックエンドのシークレットキー
ALLOWED_HOSTSlocalhost,127.0.0.1FastAPIの許可ホスト
OLLAMA_URLhttp://host.docker.internal:11434バックエンド/ワーカーがOllamaに到達する場所
SCAN_TIMEOUT_MULTIPLIER1.5各モジュールのツール/Celeryタイムアウトをスケーリング - 実世界のターゲットはラボのターゲットより遅いため、ラボ調整済みのタイミングには 1.0 に下げます
MAX_CONCURRENT_SCANS3並行スキャンの上限(リソース枯渇/ターゲットへのポライトネス保護、DB接続プールのサイズも決定)
ONUS_ENVdevelopmentdevelopment(セルフホストのlocalhost - 弱いシークレットは警告のみ)または production(弱い SECRET_KEY/Postgresパスワードは起動失敗となる)