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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sif — 超高速ペネトレーションテストスイート。 | Kitploit
ツール/GitHubGitHub/vmfunc/sif
偵察脆弱性スキャナーポートスキャンエクスプロイト情報収集ウェブセキュリティペネトレーションテストサブドメイン列挙クローラーDNS分析
GitHubvmfunc/sif

sif

超高速ペネトレーションテストスイート。

6142729日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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



go version build license aur nixpkgs homebrew apt discord

インストール · 使い方 · モジュール · ドキュメント · 貢献

高速で同時実行可能な偵察からエクスプロイトまでを1つのバイナリで。すべてのスキャナは1つのコネクションプールされたHTTPクライアントを共有します。


sifとは?

sifは、サブドメイン列挙、ポートスキャン、クローラー、nuclei、フレームワーク/CVE検出、JavaScriptシークレット抽出、Web脆弱性プローブ(CORS/XSS/リダイレクト)、クラウドおよび乗っ取りチェックなど、チェーン全体を1つのバイナリで実行する偵察およびエクスプロイトスキャナです。25種類以上のスキャンタイプを1つのコマンドで実行できます。

root@kitploit:~
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei

nucleiとcollyは外部コマンドとしてシェルアウトするのではなく、ライブラリとしてコンパイルされています(ツリー内にexec.Commandはありません)。そのため、実行時依存関係がなく、接続の手間も不要な単一の静的バイナリです。

すべてのスキャナは1つの共有HTTPクライアントとワークスティーリングワーカープールを介して実行されます。-proxy、-H、-cookie、-rate-limitは一度に全体の実行に適用され、接続はスキャン全体でプールされ再利用されます(単一ホストの実行では、50回ダイヤルする代わりに1つの接続を約50リクエストで再利用します)。また、遅いホストがあっても他のホストをブロックしません。この共有クライアントこそが、個別のツールをパイプでつなぐよりも実用的である理由です。ポートスキャンはconnect()ベースであるため、生のポートスキャンではrustscanやnmapの方が依然として高速です。

stdinからターゲットを読み取り、-silentでは1行に1つの発見を出力するため、パイプラインでの連携が可能です:

root@kitploit:~
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify

-diffは再スキャンをモニターに変え、変更があったものだけを報告します。-notifyはSlack/Discord/Telegram/Webhookに投稿し、レポートはSARIFとMarkdownにエクスポートできます。

インストール

Homebrew (macOS)

root@kitploit:~
brew tap vmfunc/sif
brew install sif

Arch Linux (AUR)

お好みのAURヘルパーを使ってインストール:

root@kitploit:~
yay -S sif
# または
paru -S sif

Nix

root@kitploit:~
# nixpkgs(宣言的:configuration.nixまたはhome-managerに追加)
environment.systemPackages = [ pkgs.sif ];

# または命令的に
nix profile install nixpkgs#sif

# インストールせずに実行する場合
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework

リポジトリにはflakeも同梱されており、ソースからビルドすることも可能:

root@kitploit:~
nix run github:vmfunc/sif

Debian/Ubuntu (apt)

root@kitploit:~
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif

リリースから

最新のバイナリをリリースページから入手してください。

ソースから

root@kitploit:~
git clone https://github.com/vmfunc/sif.git
cd sif
make

Go 1.25以上が必要です。

AUR (手動インストール)

root@kitploit:~
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si

使い方

root@kitploit:~
# 基本スキャン
./sif -u https://example.com

# ディレクトリファジング
./sif -u https://example.com -dirlist medium

# サブドメイン列挙
./sif -u https://example.com -dnslist medium

# ポートスキャン
./sif -u https://example.com -ports common

# JavaScriptフレームワーク検出 + クラウドの設定ミス
./sif -u https://example.com -js -c3

# Shodanホストインテリジェンス(SHODAN_API_KEY環境変数が必要)
./sif -u https://example.com -shodan

# SecurityTrailsドメイン発見(SECURITYTRAILS_API_KEY環境変数が必要)
# サブドメイン+関連ドメインを発見し、それらすべてをスキャン
./sif -u https://example.com -securitytrails -headers

# SQL偵察 + LFIスキャン
./sif -u https://example.com -sql -lfi

# Web脆弱性プローブ(CORS、オープンリダイレクト、反射型XSS)
./sif -u https://example.com -cors -redirect -xss

# フレームワーク検出(CVEルックアップ付き)
./sif -u https://example.com -framework

# 広範囲スイープ
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois

すべてのオプションを表示するには ./sif -h を実行してください。

コマンド

スキャンを行わずに実行するサブコマンドもいくつかあります:

root@kitploit:~
# バージョンを表示(リリースビルドはスタンプ済み;ローカルビルドはgit describeを使用)
./sif version

# 最新のリリースノートを表示(-pnも可)
./sif patchnote

新しいリリースを初めて実行すると、そのリリースノートが一度だけ表示されます。SIF_NO_PATCHNOTES=1 を設定するとこれをオフにできます。

モジュール

sifはモジュラーアーキテクチャを採用しています。モジュールはYAMLで定義され、ユーザーが拡張できます。

組み込みスキャンフラグ

HTTPオプション

これらはすべてのスキャナが行うすべての発信リクエストに適用されます:

root@kitploit:~
# socks5プロキシ、カスタムヘッダー、Cookie、20 req/sの制限でスキャン
./sif -u https://example.com -headers -proxy socks5://127.0.0.1:1080 -H "Authorization: Bearer tok" -cookie "session=abc" -rate-limit 20

ヘッダーを明示的に設定するスキャナ(例:APIキー)は、常にグローバルデフォルトよりも優先されます。

レポートエクスポート

実行結果をファイルに書き出して、CI/CDやトリアージに利用できます:

root@kitploit:~
# スキャンし、SARIFとMarkdownレポートの両方を出力
./sif -u https://example.com -headers -cors -sarif out.sarif -md out.md

SARIF出力はGitHub Code Scanningで取り込めます。Markdownはターゲットごとに可読な要約です。

Diffモード

-diffは再スキャンをモニターに変えます:sifは各ターゲットの正規化された発見をJSONファイルにスナップショットし、次回の実行ではそのスナップショットに対する差分(+ new / - gone)のみを報告し、スナップショットを上書きします。最初の実行時はベースラインがないため、すべてが+ newになります。スナップショットは-storeに保存されます(ターゲットごとにサニタイズされたファイル)。未設定の場合はログディレクトリを再利用し、さらにない場合は<user-config>/sif/stateにフォールバックします。

root@kitploit:~
# ベースライン実行、後で再スキャンして変更のみを確認
./sif -u https://example.com -sh -cors -diff
./sif -u https://example.com -sh -cors -diff

スナップショットは常に上書きされるため、各実行は前回の実行と差分を取ります。差分はクローム(進捗表示)であり(-silentでは通常の出力先のstderrに出力)、発見ストリームには含まれません。

通知

発見結果をチャット/Webhookに送信することで、継続的な偵察実行が発見したものを通知できます。すべてのプロバイダーは共有HTTPクライアントを介した単一のPOSTであり、グローバルなプロキシ/レート制限/ヘッダー設定が適用されます。

プロバイダーはまず環境変数で設定され、YAMLファイル(-notify-config)がフィールドごとに上書きします。YAMLキーはprojectdiscovery/notifyと互換性があるため、既存の設定をそのまま流用できます:

root@kitploit:~
# スキャン中に発見されたmedium以上の重要度の発見をSlackに警告
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
./sif -u https://example.com -cors -xss -notify -notify-severity medium

宛先が設定されていないプロバイダーはスキップされます。何も設定されていない場合、-notifyは何もしません。Slack/Discord/Telegramには固定幅の発見ブロックが送信され、汎用Webhookには構造化JSON({count, findings[]})が送信されます。

パイプモード

sifはstdinからターゲットを読み取り、裸のホスト名を受け入れます。そのため、Unixパイプラインに簡単に組み込めます。-silentはすべてのバナー/スピナー/ログクロームをstderrにルーティングし、1行に1つの正規化された発見([重要度] ターゲット モジュール タイトル)をstdoutに出力します:

root@kitploit:~
# subfinderがホストを提供し、sifがプローブし、notifyが発見結果を送信
subfinder -d example.com | sif -silent -probe | notify
フラグ説明
stdinパイプされたターゲットストリーム(1行に1つのホスト/URL)は-u/-fとともに読み取られます

スキームのないホストはデフォルトでhttps://になります。明示的なhttp:///https://は保持されます。その他のスキーム(ftp://など)は拒否されます。

YAMLモジュール

利用可能なモジュールを一覧表示:

root@kitploit:~
./sif -lm

特定のモジュールを実行:

root@kitploit:~
# IDで実行
./sif -u https://example.com -m sqli-error-based,xss-reflected

# タグで実行
./sif -u https://example.com -mt owasp-top10

# すべてのモジュールを実行
./sif -u https://example.com -am

カスタムモジュール

~/.config/sif/modules/に独自のモジュールを作成できます。モジュールはnucleiテンプレートと似たYAML形式を使用します:

root@kitploit:~
id: my-custom-check
info:
  name: my custom security check
  author: you
  severity: medium
  description: checks for something specific
  tags: [custom, recon]

type: http

http:
  method: GET
  paths:
    - "{{BaseURL}}/admin"
    - "{{BaseURL}}/login"

  matchers:
    - type: status
      status:
        - 200

    - type: word
      part: body
      words:
        - "admin panel"
        - "login"
      condition: or

完全なモジュール形式についてはdocs/modules.mdを参照してください。

貢献

貢献を歓迎します。ガイドラインについてはcontributing.mdを参照してください。

root@kitploit:~
# フォーマット
gofmt -w .

# リンター
go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run

# テスト
go test ./...

コミュニティ

サポート、機能の議論、ペネトレーションテストのヒントについては、Discordに参加してください:

discord

コントリビューター

謝辞

  • projectdiscovery – nucleiおよびその他のセキュリティツール
  • shodan – インフラストラクチャインテリジェンス

BSD 3-Clause License · vmfunc, xyzeva, and contributors 制作
ツールをダウンロード
フラグ説明
-dirlistディレクトリおよびファイルのファジング(small/medium/large)
-mcdirlist: マッチさせるステータスコード(カンマ区切り、例:200,301)
-fcdirlist: フィルタリングするステータスコード(カンマ区切り)
-fsdirlist: フィルタリングするボディサイズ(カンマ区切り)
-fwdirlist: フィルタリングするワードカウント(カンマ区切り)
-frdirlist: ボディがこの正規表現にマッチする応答をフィルタリング
-acソフト404ワイルドカードベースラインの自動調整(dirlist、sql)
-wdirlist: カスタムワードリスト(ローカルファイルまたはURL;-dirlistサイズを上書き)
-edirlist: 各ワードに追加される拡張子(カンマ区切り、例:php,bak,env)
-dnslistサブドメイン列挙(small/medium/large)
-portsポートスキャン(common/full)
-nucleinucleiテンプレートを使用した脆弱性スキャン
-dork自動Google Dorking
-jsJavaScript解析+シークレットとエンドポイント抽出
-c3クラウドストレージの設定ミス
-headersHTTPヘッダー解析
-shセキュリティヘッダー解析(不足/脆弱なヘッダー)
-stサブドメイン乗っ取り検出
-cmsCMS検出
-whoisWhoisルックアップ
-git露出したGitリポジトリの検出
-shodanShodanルックアップ(SHODAN_API_KEYが必要)
-securitytrailsドメイン発見+ターゲット拡張(SECURITYTRAILS_API_KEYが必要)
-sqlSQL偵察
-lfiローカルファイルインクルージョン
-jwtJWT発見+オフライン脆弱性分析(alg:none、弱いHMAC、exp、機密性の高いクレーム)
-openapiOpenAPI/Swagger仕様公開プローブ(パス+認証不要エンドポイントを列挙)
-faviconFaviconハッシュフィンガープリンティング(Shodanスタイルのmmh3、テクノロジーマッチ+ピボットクエリ)
-corsCORS設定ミスプローブ
-redirectオープンリダイレクトプローブ
-xss反射型XSSプローブ
-frameworkCVEルックアップ付きフレームワーク検出
-crawlWebクローラー(同一ホストのリンク/スクリプト/フォームをスパイダー)
-crawl-depth最大クロール再帰深度(デフォルト2)
-passiveパッシブサブドメイン/URL発見(ターゲットへのトラフィックなし)
-probeライブホストプローブ(ステータス、タイトル、サーバー、リダイレクトチェーン)
フラグ説明
-proxyすべてのトラフィックをプロキシ経由でルーティング(http/https/socks5 URL)
-H, --header送信するカスタムヘッダー(繰り返し可能またはカンマ区切り、"Key: Value")
-cookieすべてのリクエストとともに送信するCookieヘッダー
-rate-limit1秒あたりの最大リクエスト数(0 = 無制限、デフォルト0)
フラグ説明
-sarifSARIF 2.1.0レポートをこのファイルに書き込む
-markdown, -mdMarkdownレポートをこのファイルに書き込む
-silentプレーン出力:クローム(進捗等)はstderrへ、各発見は1行ずつstdoutへ(パイプライン用)
-diff各ターゲットの前回スナップショット以降に追加/削除された発見のみを表示
-store-diff用のスナップショットディレクトリ(デフォルト:ログディレクトリ、なければ <user-config>/sif/state)
フラグ説明
-notifyスキャン後に設定されたすべてのプロバイダーに発見結果を送信
-notify-severity送信する最小の重要度(info/low/medium/high/critical、デフォルト medium)
-notify-confignotify互換のYAML設定ファイルへのパス(環境変数を上書き)
環境変数YAMLキープロバイダー
SLACK_WEBHOOK_URLslack_webhook_urlSlack Incoming Webhook
DISCORD_WEBHOOK_URLdiscord_webhook_urlDiscord Webhook
TELEGRAM_BOT_TOKENtelegram_api_keyTelegram Bot API(チャットIDも必要)
TELEGRAM_CHAT_IDtelegram_chat_idTelegramの宛先チャット
NOTIFY_WEBHOOK_URLwebhook_url汎用JSON Webhook(構造化された発見結果)
vmfunc
vmfunc

🚧 🧑‍🏫 📆 🛡️ 💻
ProjectDiscovery
ProjectDiscovery

📦
macdoos
macdoos

💻
Matthieu Witrowiez
Matthieu Witrowiez

🤔
tessa
tessa

🚇 💬 📓
Eva
Eva

📝 🖋 🔬 🛡️ ⚠️ 💻
Zoa Hickenlooper
Zoa Hickenlooper

💻
acxtrilla
acxtrilla

📦