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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SmartScanner-Source — C++17とQt 6で構築されたWeb脆弱性スキャナー。GUI、CLI、設定可能なクローリング、JSONレポートを備える。教育目的で再構築されたもの。 | Kitploit
ツール/GitHubGitHub/fauxrougee/smartscanner-source
静的分析脆弱性スキャナーウェブ脆弱性スキャナー脆弱性分析構成監査ウェブセキュリティペネトレーションテストシークレット検出学習と教育クローラー
GitHubfauxrougee/smartscanner-source

SmartScanner-Source

121日前未レビュー

C++17とQt 6で構築されたWeb脆弱性スキャナー。GUI、CLI、設定可能なクローリング、JSONレポートを備える。教育目的で再構築されたもの。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

SmartScanner

C++17 と Qt 6 で構築された Web 脆弱性スキャナ。グラフィカルインターフェースとコマンドラインインターフェースを備えています。

このリポジトリには、教育目的で再構築された SmartScanner 3.0.0 が含まれています。Web クローリングエンジン、脆弱性検出モジュール、および JSON レポート機能を組み合わせたものです。

機能

  • Web クローリング: リンクとフォームの解析、robots.txt およびサイトマップの処理、設定可能なクロール深度とスコープ。
  • インジェクションテスト: SQL、XSS、XXE、OS コマンドインジェクション、ファイルインクルージョン、および SSRF。
  • 設定チェック: HTTP ヘッダー、HTTPS/TLS、リダイレクト、露出ファイル、およびディレクトリリスティング。
  • 技術検出 および WordPress、Joomla、Drupal 向けの標的型チェック。
  • 露出したシークレット および脆弱な JavaScript ライブラリの検出。
  • HTTP Basic 認証、プロキシサポート、およびカスタム User-Agent 文字列。
  • JSON レポート: 重大度レベル、HTTP エビデンス、推奨事項、および利用可能な場合は分類を含みます。

実行されるモジュールは、設定およびスキャン中に検出されたリソースによって異なります。

要件

コンポーネントバージョン / 詳細
CMake3.21 以降
コンパイラC++17 互換
Qt6.2 以降
Qt モジュールCore、Gui、Widgets、Network、WebChannel、WebEngineWidgets、Xml
Ninja付属の Windows ビルドスクリプトで必要

以下の手順は Windows を対象とし、Visual Studio C++ ビルドツールと互換性のある Qt MSVC キットを使用します。GUI エントリポイントは Windows API (windows.h) を直接使用するため、Linux や macOS でプロジェクト全体をビルドするには修正が必要です。

両方の実行ファイルが同じライブラリを共有するため、CLI 用にプロジェクトを構成する場合も Qt GUI 依存関係が必要です。

Windows でのビルド

Visual Studio ビルド環境が構成された PowerShell ターミナルを開き、リポジトリのルートに移動します。Qt のパスはご自身のインストールに合わせて調整してください。

付属のスクリプトを使用する場合

root@kitploit:~
.\build.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64" -BuildType Release
.\deploy.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64"

最初のスクリプトは Ninja でプロジェクトをビルドします。2 番目のスクリプトは、利用可能な Qt ライブラリ、プラグイン、および WebEngine リソースを build ディレクトリにコピーします。

CMake を直接使用する場合

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:\Qt\6.8.3\msvc2022_64"
cmake --build build --parallel
.\deploy.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64"

ビルドにより 2 つの実行ファイルが生成されます:

  • build/sms.exe: コマンドラインインターフェース。
  • build/gui.exe: グラフィカルインターフェース。

assets ディレクトリはビルド中に実行ファイルと並んで自動的にコピーされます。デフォルト設定の読み込みに必要となるため、実行ファイルと一緒に保持してください。

使用方法

グラフィカルインターフェース

root@kitploit:~
.\build\gui.exe

コマンドラインインターフェース

以下の例では、http://localhost:8080 にあるローカルテストアプリケーションを使用します。

root@kitploit:~
# Display help and version information
.\build\sms.exe --help
.\build\sms.exe --version

# Scan a target and save a JSON report
.\build\sms.exe -u http://localhost:8080 -o report.json

# Scan multiple targets
.\build\sms.exe -u http://localhost:8080 -u http://localhost:8081

# Load a file containing one URL per line
.\build\sms.exe -f targets.txt -o report.json

# Limit crawl depth
.\build\sms.exe -u http://localhost:8080 --crawl-depth 2

# Use HTTP Basic authentication
.\build\sms.exe -u http://localhost:8080 --auth-basic "username:password"

# Use an HTTP proxy
.\build\sms.exe -u http://localhost:8080 --proxy http://localhost:8082

# Select a test module
.\build\sms.exe -u http://localhost:8080 -t httpheaders@o=owasp,others

主なオプション

オプション説明
-u, --url <URL>ターゲットを追加; 繰り返し指定可能
-f, --file <FILE>ファイルからターゲットを読み込む
-c, --config <FILE>JSON 設定を読み込む
-o, --output <FILE>JSON レポートを保存する
-d, --crawl-depth <DEPTH>クロール深度を設定: 0 はクローリングを無効化、1 は入力 URL のみを取得、2 以上はリンクを辿る
--no-discovery--crawl-depth 0 と同等
--no-follow--crawl-depth 1 と同等
-s, --scope <REGEX>正規表現を使用してスコープを定義する
-t, --test <TESTS>モジュールを選択; 繰り返し指定可能
--auth-basic <user:pass>HTTP Basic 認証情報を設定する
--proxy <URL>明示的なポートでプロキシを構成する
--proxy-auth <user:pass>プロキシ認証情報を設定する
--user-agent <STRING>カスタム User-Agent を設定する
--exit-on <LEVEL>informational、low、medium、または high の重大度しきい値でスキャンを停止する

CLI は http:// および socks:// スキームを使用するプロキシを受け付けます。現在のヘルプテキストに記載されている socks5:// スキームはパーサーによって拒否されます。

--exit-on を使用すると、問題が指定された重大度以上に達したときにスキャンが停止します。ただし、現在の実装では、検出結果が指定された重大度に完全に一致する場合にのみ終了コード 1 を返します。

設定

assets/default-scan-config.json ファイルはデフォルト設定を提供します: 有効なモジュール、HTTP タイムアウト、並列リクエスト、クローリング、除外、認証、およびフォームパラメータ。

独自の設定を作成するには:

root@kitploit:~
Copy-Item assets/default-scan-config.json scan-config.json
# Edit scan-config.json, then start the scan
.\build\sms.exe -c scan-config.json -u http://localhost:8080 -o report.json

--test で受け付けられるモジュール識別子は、このファイルの tests.scripts に記載されています。--test オプションは設定からのモジュール選択を置き換えます。

レポート

検出結果はスキャンの進行に伴いコンソールに表示されます。--output オプションはスキャン終了時に JSON レポートを書き出し、以下を含みます:

  • ターゲット、日付、ステータス、所要時間、リクエスト数、およびバージョン。
  • 検出された問題とその重大度レベル。
  • 利用可能な場合、影響を受けるパラメータ、HTTP リクエスト/レスポンス、推奨事項、および参照。
  • 利用可能な分類 (CWE、OWASP、CVE、GHSA を含む)。

出力先ディレクトリはあらかじめ存在している必要があります。既存のレポートファイルは上書きされます。

テスト

スモークテスト (*_smoke.cpp) は BUILD_TESTS で有効化できます:

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:\Qt\6.8.3\msvc2022_64" -DBUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

現在の CTest 設定はすべてのテストを引数なしで実行します。sms_cli_smoke、issuedb_smoke、httpheader_smoke を含む一部のテストは引数を必要とし、適切なパスを指定して個別に実行する必要があります。したがって、CTest スイート全体を実行すると、この設定に起因する失敗が報告される可能性があります。

たとえば、CLI テストは次のように実行します:

root@kitploit:~
.\build\sms_cli_smoke.exe .\build\sms.exe

GUI テストには、Qt と WebEngine を初期化できる環境が必要です。

プロジェクト構造

root@kitploit:~
SmartScanner-Source/
├── CMakeLists.txt          # Shared library, executables, and tests
├── src/                    # Engine, crawler, detectors, CLI, and GUI
├── tests/                  # Smoke tests
├── assets/                 # Configuration, definitions, and scan resources
├── gui_assets/             # Embedded web interface: HTML, CSS, and JavaScript
├── sms_resources.qrc       # CLI Qt resources
├── gui_resources.qrc       # GUI Qt resources
├── build.bat               # Windows build script
├── build.ps1               # PowerShell build script
└── deploy.ps1              # Copies Qt dependencies for Windows

ステータスとライセンス

元のドキュメントでは、このプロジェクトは プロプライエタリ、教育目的で再構築 と記載されています (「Proprietary — Reconstructed for educational purposes」)。このリポジトリには別途 LICENSE ファイルは含まれていません。

ツールをダウンロード