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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
UltraViolet — セルフホスト型のネットワークディスカバリおよび検索エンジンで、継続的なポートスキャン、約100のサービスにわたる深いプロトコルプロービング、ローカルCVEマッチング、インフラストラクチャのインベントリとリスク監視のための全文検索を備えています。 | Kitploit
ツール/GitHubGitHub/yakushstanislav/ultraviolet
偵察脆弱性スキャナーIoTセキュリティネットワークマッピングポートスキャンSCADA/ICSセキュリティ脅威インテリジェンスインシデントレスポンスDNS分析
GitHubyakushstanislav/ultraviolet

UltraViolet

セルフホスト型のネットワークディスカバリおよび検索エンジンで、継続的なポートスキャン、約100のサービスにわたる深いプロトコルプロービング、ローカルCVEマッチング、インフラストラクチャのインベントリとリスク監視のための全文検索を備えています。

43921日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

UltraViolet

セルフホスト型ネットワーク探索&検索 — あなたのハードウェア上で動く、あなた専用のShodan。

TCP/UDPスキャン · 約100種のプロトコルプローブ · TLS/JARMフィンガープリント · CVEマッチング · 全文検索 · 差分追跡 · アラート


Go React PostgreSQL Docker CI License: MIT

クイックスタート · 機能 · アーキテクチャ · ドキュメント · 本番運用


重要。 スキャンするのは、自分が所有するネットワーク、またはスキャンについて書面による許可を得たネットワークだけにしてください。UltraVioletは受動的なサービス偵察を行うものであり、脆弱性を悪用することはありません。

UltraVioletを選ぶ理由

ユースケース得られるもの
境界&インベントリ管理CIDRレンジ全体にわたるオープンポートとサービスの継続的な発見
インフラ検索HTTPボディ、バナー、TLS、DNS、CVEにわたる全文検索

シングルテナント、単一のDocker Composeスタック、データを完全にコントロール。

✨ 機能

ディスカバリ

  • masscan または zmap を探索エンジンとして使用するTCPコネクトスキャナ
  • 設定可能なポートへのUDPプローブ
  • SCAN_ALLOWED_CIDRS によるスコープ指定と、ホスト・ポート数の制限

ディーププローブ(約100プロトコル)

  • Web: HTTP/HTTPS、HTTP/3、GraphQL、ファビコンハッシュ、robots.txt、security.txt、テクノロジースタック
  • TLS: 証明書チェーン、JARM、JA3S/JA4S、設定グレーディング
  • メール&ディレクトリ: SMTP、POP3/IMAP、LDAP、IPMI
  • データベース&キュー: MySQL、PostgreSQL、MongoDB、Redis、Kafka、MQTT、NATS、AMQP…
  • ICS/SCADA: Modbus、BACnet、DNP3、IEC 104、S7Comm、ENIP、OPC UA…
  • IoT&メディア: ONVIF、RTSP、Chromecast、AirPlay、UPnP…
  • 完全な一覧はプロトコルドキュメントにあります

エンリッチメント

  • リバースDNS、GeoIP(MMDB)、ASN
  • オプションでフォワードDNSとCTログ探索

CVE&リスク

  • バックグラウンド同期とフィンガープリントベースのマッチングを備えたローカルNVDミラー
  • CISA KEV と FIRST EPSS

運用

  • RBAC(viewer / operator / admin)、JWT+リフレッシュトークン
  • スキャンのスケジュール、一時停止/再開、ワーカー再起動後のオーファン回収
  • Prometheusの/metrics、オプションのGrafanaプロファイル
  • 監査ログ、レート制限、保持ポリシー

🏗 アーキテクチャ

root@kitploit:~
flowchart TB
  Browser["Browser"]
  FE["service-frontend<br/>React + nginx"]
  API["uv-api<br/>REST · WS · metrics"]
  PG[("PostgreSQL 16")]
  SCAN["uv-scanner<br/>probe pipeline"]

  Browser --> FE
  FE -->|"/api"| API
  FE -->|"/realtime"| API
  API <--> PG
  SCAN <--> PG
  API -.->|LISTEN/NOTIFY| API

リリース版のUIイメージは /api/ と /realtime を uv-api にプロキシします — シングルオリジンで、API URLごとのフロントエンド再ビルドは不要です。

バックエンド開発のルール: CLAUDE.md。

🚀 クイックスタート

要件: Go 1.25+、Docker Engine ≥ 24、RAM約4 GB。本番イメージはLinux amd64 を対象としています。

Docker Hubから実行(ソースビルド不要)

入門者向け — 公開済みイメージを service-env/docker-compose.registry.yml で取得します:

root@kitploit:~
cd service-env
cp env.registry.example .env
# set POSTGRES_PASSWORD, AUTH_JWT_SECRET, AUTH_BOOTSTRAP_PASSWORD
mkdir -p geoip catalog-seed
docker compose -f docker-compose.registry.yml pull
docker compose -f docker-compose.registry.yml up -d
# UI → http://localhost:3000

ドキュメントサイトのDocker Registryを参照してください。

ソースから開発

API/scannerイメージは service-api/bin/ からビルド済みバイナリをコピーします(Docker内ではコンパイルされません)。make dev は docker compose … --build の前に make -C service-api build-linux を実行します。

root@kitploit:~
git clone https://github.com/yakushstanislav/UltraViolet.git
cd UltraViolet/service-env

cp .env.example .env
mkdir -p secrets
openssl rand -hex 32 > secrets/postgres_password
openssl rand -hex 32 > secrets/auth_jwt_secret

cd ..
make dev
URL用途
http://localhost:3000UI(nginx /api/ 経由でAPIへ)
http://localhost:8080API直接
http://localhost:9090/metrics

開発用初期認証情報: admin / admin(APP_ENV≠production の場合のみ)。

📖 ドキュメント

完全ガイド — service-documentation-frontend/docs/ 内のVitePress:

root@kitploit:~
make docs-dev    # → http://localhost:5173

本番では docs プロファイルを有効にします:

root@kitploit:~
cd service-env && docker compose --profile docs up -d
# → http://localhost:${UV_DOCUMENTATION_PORT:-3002}

主要セクション: インストール · スキャン · API · デプロイ · オフラインインストール。

🛠 開発

フルDocker

root@kitploit:~
make dev    # build-linux → compose prod + dev override --build

バックエンドの変更後はGoバイナリを再ビルド(make -C service-api build-linux)し、再起動するか make dev を再実行してください。

ハイブリッドモード(バックエンド開発サイクルを高速化)

root@kitploit:~
make dev-db   # PostgreSQL only on :5432

cd service-api && make build
export LOGGER_NAME=uv-api LOGGER_DEBUG=true
export SERVER_ADDR=0.0.0.0 SERVER_PORT=8080
export METRICS_ADDR=0.0.0.0 METRICS_PORT=9090
export REALTIME_ADDR=0.0.0.0 REALTIME_PORT=8081
export POSTGRES_ADDR=localhost POSTGRES_PORT=5432
export POSTGRES_USERNAME=ultraviolet
export POSTGRES_PASSWORD="$(cat ../service-env/secrets/postgres_password)"
export POSTGRES_DATABASE=ultraviolet
export POSTGRES_SCHEMA_PATH="$(pwd)/deploy/migrations"
export AUTH_JWT_SECRET="$(cat ../service-env/secrets/auth_jwt_secret)"
./bin/uv-api

フロントエンド: cd service-frontend && npm run dev(Viteが /api → :8080、/realtime → :8081 にプロキシします)。

GeoIP & CVE

root@kitploit:~
cd service-env && make geoip-download      # IPLocate MMDB → geoip/
make -C service-env cve-catalog-dump       # CVE dump (requires running postgres)

Dockerを使わずにビルド

root@kitploit:~
make build && make lint && make frontend-build && make docs-build

📦 リリース&インストール

対象プラットフォーム: linux/amd64。Apple Siliconでは、オフラインアーカイブ用に DOCKER_PLATFORM=linux/amd64 を設定してください。

root@kitploit:~
git tag v0.1.0
make release VERSION=v0.1.0
make release-promote VERSION=v0.1.0   # :latest — required for local releases; GitHub Actions does this automatically
アーカイブ内容
ultraviolet-vX.Y.Z.tar.gzcompose、スクリプト、.env.example(約50 KB、オンライン)
ultraviolet-vX.Y.Z-offline.tar.gz+ amd64 Dockerイメージ
ultraviolet-vX.Y.Z-offline-full.tar.gz+ CVEシード + GeoIP MMDB

オンライン: 展開 → cp .env.example .env → ./install.sh(レジストリから取得)。

オフライン: ./install.sh(docker load、pullなし)。アップグレード: .env、secrets/、Postgresボリュームを保持したまま ./upgrade.sh を実行。

変数: UV_REGISTRY(デフォルト docker.io/styakush)、DRY_RUN=1 — プッシュなしのローカルスモークビルド。

オフラインインストール — ステップバイステップ
root@kitploit:~
# from the build machine
scp dist/ultraviolet-v0.1.0-offline.tar.gz user@host:~/

# on the server (Docker ≥ 24, amd64)
tar xzf ultraviolet-v0.1.0-offline.tar.gz && cd ultraviolet-v0.1.0
cp .env.example .env
./install.sh

アップグレード(データ保持):

root@kitploit:~
docker compose -f docker-compose.yml down
# back up .env + secrets/, extract the new archive, run ./upgrade.sh

ディレクトリ名(ultraviolet-v0.1.0)は固定してください — postgres-data Dockerボリュームはそれに紐づいています。

✅ 本番運用チェックリスト

  1. シークレットは secrets/ に保存し、gitには絶対にコミットしない。
  2. CORS_ALLOWED_ORIGINS には実際のUIオリジンのみを設定する。
  3. SCAN_ALLOWED_CIDRS とホスト・ポート数の制限を設定する。
  4. 初期パスワードと AUTH_JWT_SECRET を変更する(install.sh はプレースホルダーを拒否します)。
  5. APP_ENV=production を設定する — uv-apiは admin/admin と8文字未満のパスワードを拒否します。
  6. リバースプロキシでTLSを終端する — 例: service-env/examples/nginx-tls.conf。
  7. プロキシの背後にある場合: AUDIT_TRUST_PROXY_HEADERS=true を設定する。
  8. PostgreSQLをバックアップする: service-env/scripts/backup.sh + cron; upgrade.sh もダンプを作成します。
  9. メトリクスは ; Grafanaは プロファイル経由。
HTTPS、サブパスでのデプロイ、バックアップcron

外部nginxでのTLS終端 — UIをループバックのみにバインド:

root@kitploit:~
# docker-compose.override.yml
services:
  service-frontend:
    ports:
      - "127.0.0.1:3000:8080"
root@kitploit:~
CORS_ALLOWED_ORIGINS=https://ultraviolet.example.com
AUDIT_TRUST_PROXY_HEADERS=true

サブパス(/ultraviolet/):

root@kitploit:~
VITE_BASE_PATH=/ultraviolet/ make frontend-build
# UV_BASE_PATH=/ultraviolet/ in compose — must match VITE_BASE_PATH

バックアップcron(毎日、14日間保持):

root@kitploit:~
0 3 * * * cd /opt/ultraviolet/service-env && ./scripts/backup.sh && find backups -name 'uv-*.dump' -mtime +14 -delete

GeoIP更新(毎月1日):

root@kitploit:~
0 4 1 * * cd /opt/ultraviolet/service-env && ./scripts/geoip-refresh.sh >> /var/log/uv-geoip.log 2>&1

🔐 API & RBAC

POST /v1/auth/login の後、access_token(Bearer)と refresh_token(/v1/auth/refresh)を受け取ります。

ロール権限
viewerホストの閲覧、検索、CVE、ダッシュボード
operator+ スキャンの開始と管理
admin+ ユーザー、監査、設定

GET /v1/me · GET /v1/version · GET /readyz (health + version + commit)。

🤝 コントリビューション

CONTRIBUTING.md を参照してください。セキュリティ報告: SECURITY.md。 コミュニティ基準: CODE_OF_CONDUCT.md。

📄 ライセンス

UltraVioletはMITライセンスの下で公開されています。


UltraViolet — 自社の資産を発見し、変化を把握し、ネットワーク内に留める。

ツールをダウンロード
リスク&コンプライアンスローカルNVDマッチングに加え、CISA KEVとEPSSに対応 — クラウド依存なし
エアギャップ環境での展開Dockerイメージ、CVEシード、GeoIP MMDBをディスクに保持するオフラインアーカイブ
変更追跡スキャン間の差分、WebSocketイベント、保存済み検索に対するアラート
ディレクトリ目的
service-api/Go: uv-api(HTTP API、WebSocket、ワーカー)+ uv-scanner(パイプライン)
service-frontend/React 19 + Vite + RTK — スキャン、ホスト、検索、ダッシュボード
service-documentation-frontend/VitePress — ユーザー&オペレーター向けドキュメント
service-env/docker-compose、シークレット、install.sh / upgrade.sh / バックアップ
Prometheus
:9090/metrics
observability
  • GeoIPを更新する: 月次cronで service-env/scripts/geoip-refresh.sh を実行。