Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
threatripper — 不審なSMS、チャットメッセージ、リンクを詐欺やフィッシングの指標でスコアリングし、各警告サインを啓発ガイドとクイズで説明するオフラインのヒューリスティックアナライザー。 | Kitploit
ツール/GitLabGitLab/mevislobo2006/threatripper
防御ツールフィッシングウェブセキュリティプライバシー学習と教育APIセキュリティ学習パスとコース
GitLabmevislobo2006/threatripper

threatripper

不審なSMS、チャットメッセージ、リンクを詐欺やフィッシングの指標でスコアリングし、各警告サインを啓発ガイドとクイズで説明するオフラインのヒューリスティックアナライザー。

リポジトリを見る
1421日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

pipeline status coverage report

Threatripper

サイバーセキュリティ啓発プラットフォーム。不審なSMS、メール、チャットメッセージ、またはリンクを貼り付けると、どの詐欺手法を検出したか、それぞれがなぜ重要なのか、次に何をすべきかを教えてくれます。

ライブデモ: https://threatripper.onrender.com(Renderの無料枠 — 無操作後の初回アクセスは起動に1分ほどかかる場合があります。)

これは教育用ツールであり、セキュリティ製品ではありません。アンチウイルスエンジン、マルウェアスキャン、送信者認証、ドメインレピュテーションサービスはありません。リンクが開かれることは決してありません。

目的と範囲。 Threatripperは、テキスト内の詐欺の指標を検出するための防御的・教育的ツールです。マルウェア、エクスプロイトコード、フィッシングキット、認証情報リスト、その他の攻撃的能力は含まれておらず、ネットワークリクエストを一切行いません。リポジトリ内のすべてのサンプルメッセージとドメインは、架空の予約済み .example 名を使用しており、検出ロジックを実演するためだけに存在します。

自分自身と他者を守るためだけに使用してください。悪用はプロジェクトの目的に反します。詐欺は公式の窓口を通じて報告してください(制限事項を参照)。


目次

  • 機能概要
  • クイックスタート
  • ターミナルインターフェース
  • スコアの計算方法
  • プロジェクト構成
  • 設定
  • プライバシーとデータの取り扱い
  • APIリファレンス
  • 検出ルール
  • テスト
  • キャリブレーション結果
  • ルールの拡張
  • 制限事項

機能概要

4つのページ、ビルドステップなし、JavaScriptフレームワークなし、CDNなし:

ページパス目的
分析/メッセージやリンクを貼り付けると、スコア付きで説明された判定結果を取得
啓発/awareness.html7種類の詐欺ガイドと報告に関するアドバイス
クイズ/quiz.htmlサーバー側で採点される12のシナリオと解説
履歴/history.html最近の分析結果(識別子はすでに伏字化済み)

分析は意図的に権威的ではなく説明可能なものになっています。スケール上のすべてのポイントは、重大度、信頼度、そしてなぜそれが重要なのかを説明する一文を伴う名前付きルールに対応しています。インターフェースは組み合わせボーナスを含む計算全体を表示するため、出力はただ信頼するのではなく、議論することができます。

行わないこと:

  • メッセージの送信者を検証したり、送信者の身元を認証したりする
  • リンクを開いたり、取得したり、追跡したりする
  • ドメインやURLをブロックリストやレピュテーションサービスと照合する
  • ファイルや添付ファイルをマルウェアスキャンする
  • 低いスコアが「安全」を意味することを保証する

クイックスタート

Python 3.11以降が必要です。

git clone <your-repo-url> threatripper
cd threatripper

python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate

# Use "python3 -m pip", not a bare "pip": on a hardened distro (Kali, Debian,
# Fedora) pip may be an externally managed system binary that is blocked by
# PEP 668, and a bare "pip" will not resolve to the venv.
python3 -m pip install -r requirements.txt

python3 -m uvicorn backend.main:app --reload

http://127.0.0.1:8000 を開きます。

製品全体 — API、ルールカタログ、データベース、Web インターフェース — は、単一のオリジン上の単一プロセスから動作します。インタラクティブな API ドキュメントは /docs、生の OpenAPI スキーマは /openapi.json にあります。

テストを実行するには:

python3 -m pip install -r requirements-dev.txt
python3 -m pytest

ターミナルインターフェース

同じ分析はターミナルからも実行できます。これは2つ目のフロントエンドであり、2つ目の実装ではありません。すべてのルール、スコア、説明、推奨アクションは、Webアプリが使用するのと同じ AnalysisService から取得されるため、両者が何が危険かについて食い違うことはありません。

サーバーもポートもネットワークも不要です。調査対象のメッセージがまさにインシデントである場合に役立ちます。

# Analyse a pasted message
./threatripper.sh "URGENT: your account will be closed, share the OTP"

# Or pipe it in, which is the natural way to use it
pbpaste | ./threatripper.sh

# A bare link
./threatripper.sh "http://verify-account.example/login"

# The API payload, for scripts
./threatripper.sh "share your OTP" --json | jq .result.risk_level

# Only fail when it is serious
./threatripper.sh --fail-on critical "see you tomorrow" ; echo $?          # 0
./threatripper.sh --fail-on critical "your bank account will be suspended in 24 hours, verify at http://bank-verify.example/login and share the OTP" ; echo $?   # 1

# Stored history, shared with the web app
./threatripper.sh history
./threatripper.sh history --level critical --json

# Analyse without keeping any record
./threatripper.sh "share your OTP" --no-store

インタラクティブ実行の開始時に、赤い THREATRIPPER バナーが ANSI Shadow フェイスで描画されて表示される。これは stderr に出力され、--json の場合や、出力がパイプまたはリダイレクトされる場合はスキップされるため、ログに残ったりパイプラインを壊したりすることはない。--no-color を指定するとバナーは維持されるが色は失われる。

ANSI Shadow の各グリフは East Asian の曖昧幅文字であるため、一部のターミナル — 典型的には CJK ロケールや、78 桁より狭いウィンドウ — では行が異なる幅で描画され、文字がずれてしまう。その場合、バナーは静かに純粋な ASCII フェイスにフォールバックする。選択は --banner shadow|ascii|none で上書きできる:

./threatripper.sh --banner shadow "message"   # force the block letters
./threatripper.sh --banner ascii  "message"   # force the terminal-safe face
./threatripper.sh --banner none   "message"   # no banner at all

ウェブアプリと同様に、分析結果はデフォルトで共有履歴に追加されます — 同じマスキング済みプレビューが保存され、生のテキストは決して保存されません。記録を残さずに分析するには --no-store を指定してください。

./threatripper.sh analyze --help と ./threatripper.sh history --help で、すべてのオプションを確認できます。ランチャーはプロジェクトの .venv インタープリターを優先し、自身の場所を解決するため、どのディレクトリからでも、また virtualenv がアクティブかどうかに関係なく動作します。python3 -m backend.cli も同等です。

終了コード

ターミナルツールはスクリプト内で使用されるため、「何か見つかったか?」という問いに、文章を解析することなく答えられる必要があります。

コード意味
0何も見つからなかった、または --fail-on のしきい値以下
1しきい値以上で何かが見つかった
2コマンドラインが誤っていた
3分析対象が存在しなかった、または分析を実行できなかった

しきい値のデフォルトは suspicious です。任意のバンド(low、suspicious、medium、high、critical)を --fail-on に指定して変更できます。

# Fail a deploy pipeline only on a serious finding
./threatripper.sh --fail-on critical "$MESSAGE" || echo "review this message"

利用エラーは意図的に検出結果とコードを共有しないため、スクリプトは「このメッセージは危険だ」と「フラグの入力が間違っている」を区別できます。認識されないリスク帯域も、すべて問題なしと報告するのではなく、非ゼロで終了します。


スコアの計算方法

リスク帯域

スコアレベル意味
0–20LOW詐欺の指標がほとんど、またはまったくない。安全を保証するものではない。
21–40SUSPICIOUS疑わしい特徴がいくつかある。独立して検証すること。
41–60MEDIUM複数の詐欺シグナルがある。このメッセージに基づいて行動しないこと。
61–80HIGH強い詐欺指標がある。敵対的なものとして扱うこと。
81–100CRITICAL進行中の詐欺試行を示す非常に強い指標がある。

パイプライン

  1. 呼び出し元が指定しない限り、語彙(銀行、政府、配送、求人、投資、サポートなど)から入力タイプを検出します。
  2. テキストに対してパターンマッチャーを実行します。フィッシングルール、デジタル逮捕ルール、悪意のあるアプリのルールがあります。すべてのルールは id、category、severity、confidence、explanation を持ちます。
  3. ネットワークアクセスなしでURLを抽出し、構造的に分析します。
  4. 各指標をカテゴリで重み付けし、信頼度係数と繰り返し係数を適用します。繰り返し出現するたびに加算量は減少するため、同じフレーズを20回繰り返すメッセージでも、それだけでクリティカルスコアに到達することはできません。
  5. 重複する指標を排除します。メッセージ内の単一のリンクは、同じ構造的指摘の複数コピーではなく、1つの集約された suspicious_link 指標を生成します。
  6. 組み合わせボーナスを適用します。詐欺師は手法を重ねるため、緊急性と認証情報の要求と疑わしいリンクを示すメッセージは、各部分の合計を上回るスコアになります。12の組み合わせルールは /api/scoring で公開されています。
  7. カテゴリと脅威ごとにグループ化し、信頼度スコアを導出し、合計を100で上限設定します。

例

URGENT: Your bank account will be SUSPENDED within 24 hours.
Verify now at http://kyc-update.example/verify
Share the OTP sent to your mobile. Do not tell your family.
指標カテゴリ重大度寄与度
OTPまたは確認コードの要求credential_request2019.0
不審なリンク構造malicious_url2018.0
アカウント停止の脅迫threat1512.8
事実を秘密にするよう指示isolation1512.8
KYC期限切れの圧力fake_kyc128.4
緊急性/今すぐ行動を促す表現urgency107.0

これは生の指標ポイントで78.0点であり、これに組み合わせボーナス(緊急性+脅迫、緊急性+認証情報、認証情報+リンク、および複数の脅迫カテゴリ)が加わり、100点の上限によってCRITICALに制限されます(この例は実際に値100で実行されます)。

埋め込まれたリンクは、構造上の不備ごとに1行ずつではなく、単一の suspicious_link 指標を生成することに注意してください。メッセージ内の単一のリンクは重大度20に制限されるため、1つの不完全なアドレスがそれ以外は普通のメッセージを支配することはありません。同じURLを単独で送信した場合は、完全に詳細に分析されます。

同じメッセージをインターフェースで表示すると、これらの各行がそのポイントとともに表示されます。計算を確認できます。


プロジェクト構成

ツールをダウンロード