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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Samuraizer — NotebookLMの強化版 — セキュリティ研究者向けに特化して構築された。 | Kitploit
ツール/GitHubGitHub/zomry1/samuraizer
OSINT (オープンソースインテリジェンス)情報収集ユーティリティとフレームワーク脅威インテリジェンス機械学習学習と教育クローラー厳選リソース
GitHubzomry1/samuraizer

Samuraizer

NotebookLMの強化版 — セキュリティ研究者向けに特化して構築された。

リポジトリを見る
294ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Samuraizer — サイバーセキュリティナレッジベースエンジン

NotebookLM の強化版 — セキュリティ研究者向けに特化。

Self-hosted Built For
License Python React GitHub last commit

💡 Samuraizer の理由

セキュリティ研究者なら誰でも経験があります — 興味深い GitHub リポジトリ、新しい CVE の writeup、新しいエクスプロイト手法に関するブログ記事を見つける。それを WhatsApp で自分に転送する。すぐにチャットの海に埋もれる。数週間後、実際にその記事が必要になる — しかし見つからない。

もう二度と見つけられないリンクを送るのはやめましょう — Samuraizer に一度送れば、要約され、タグ付けされ、永続的に検索可能になります。

Before 😵After 🗡️

チャット履歴に埋もれる散らばったリンク

分析・タグ付け・発見可能に

🔐 ローカルファーストのプライバシー(ローカル専用機能)

🎯 追加のプライバシーモード(ローカル専用) — ollama で実行すれば、すべてのデータは自分のマシンに留まります。

  • 🗄️ ローカルベクトルストレージ(samuraizer.db)+ Ollama によるローカル AI 埋め込み
  • ⚡ モデルをプル後は完全オフラインで動作(ollama pull qwen3:4b、ollama pull qwen3-embedding:8b)
  • ✅ エアギャップ/隔離環境が必要なセキュリティチームや研究者に最適。

🧩 概要

🔍 分析 — URL を貼り付けて結果をリアルタイム表示

  • 📝 1つ以上の URL(GitHub リポジトリ、CVE writeup、ブログ記事、YouTube 動画)を貼り付けると、結果がリアルタイムでストリーミング表示されます
  • 📄 ファイルをアップロード(ブラウザまたは Telegram から直接)— テキスト全体を抽出し、分析、保存、UI で表示可能
    • 対応形式: .pdf、.docx、.pptx、.txt、.md
  • 🗞️ ブログスキャナー:ブログのホームページを貼り付けて、すべての記事リンクを一度に抽出し、一括分析
  • ✨ おすすめ記事: 未読の関連エントリが各セッションで Analyze タブに表示され、キューを進めやすくします

🗂️ ナレッジベース

  • ✏️ インラインタグ編集(エントリ、フィード、リストアイテムにタグを追加/削除)
  • 🔎 セマンティック検索(Gemini 埋め込みによるベクトル検索)+ 従来の全文検索
  • 🧩 タグクラウド + 複数フィルタリング(タグ、カテゴリ、ソース、リスト、既読/有用)
  • 📚 リスト管理 — エントリを手動リスト、RSS リスト、チャンネルリストにグループ化
  • 👁️‍🗨️ ホバープレビュー(サマリーカード)とクイックコピーボタン

🗺️ ナレッジグラフ

  • ナレッジベース全体をインタラクティブな力指向グラフで可視化
  • エントリとタグがノード — エッジはどのタグがどの記事にリンクしているかを示す
  • クリックでエントリをプレビュー、ダブルクリックで元の URL を開く
  • カテゴリ別に色分け(CVE、記事、ツール、動画、ブログなど)
  • タグを検索して、グラフ上の関連クラスタをハイライト

📡 RSS フィード & YouTube チャンネル登録

  • RSS/Atom フィードを追加 — サーバーが1時間ごとにポーリングし、新しい投稿を自動取り込み・分析
  • 新しい投稿は自動的にナレッジベースに追加
  • 各フィードは独自のリストになり、一括レビューが容易
  • フィードアイテムにはソースメタデータが表示され、他のエントリと同様にタグ付け・フィルタリング可能

🎥 YouTube チャンネル登録

  • YouTube チャンネルを URL で購読(例:https://www.youtube.com/@ハンドル、/channel/UCxxx)
  • 購読前に最新動画をプレビューし、分析する動画を選択可能
  • 購読すると選択した動画が即時分析され、以降のアップロードは1時間ごとに自動ポーリング
  • /yt-channels API 経由で動作し、UI の RSS/YT セクションに表示

🤖 Telegram ボット(オプション)

  • 任意の URL をボットに送信 — 同じバックエンドで分析し、整形されたカードを返す
  • PDF ファイルを送信 — ダウンロード、分析、結果カード(ファイルの表示/ダウンロードリンク付き)を返す
  • 分析中のライブ進捗状況をストリーミング
  • おすすめ記事の通知を受信 — 未読エントリを能動的に表示

URL 分析

日次おすすめ記事

💬 チャット(RAG + ストリーミング + ピン留めコンテキスト)

  • ナレッジベースに対して質問 — 最も一致するエントリを引用して回答
  • ⚡ ストリーミング応答(ライブタイピング + ソースごとの関連性スコア)
  • 🗂️ 複数のチャットセッション(履歴保存、モデル選択可能)
  • 📌 特定の記事をコンテキストとしてピン留め — @ でオートコンプリートまたは @ 参照ボタンを使用
    • エントリをピン留めすると、それらの記事のみから Gemini が回答 — RAG ノイズなし
    • ピン留めされたエントリは入力欄の上にチップとして表示;ソースにはスコアの代わりに 📌 バッジ
    • 特定の PDF、writeup、CVE を深掘りするのに最適

ソーススコア付き RAG チャット

ピン留めコンテキストチャット

[!IMPORTANT] Samuraizer の未来を形作りましょう! 現在、ローカル LLM や Obsidian エクスポートなどの新機能について投票を受け付けています。 こちらから投票してください!


🏗 アーキテクチャ(高レベル)

root@kitploit:~
flowchart LR
  Browser[Browser UI] -->|HTTP| Frontend[React Frontend]
  Frontend -->|REST/NDJSON| Backend[Flask API]
  Backend -->|SQL| SQLite[(samuraizer.db)]
  Backend -->|API| Gemini[Gemini 2.5 Flash]
  Backend -->|local API| Ollama[Ollama - Local LLM]
  Backend -->|GitHub API| GitHub[GitHub]
  Backend -->|RSS| RSS[RSS feeds]
  Telegram[Telegram Bot] -->|HTTP| Backend

🧠 仕組み(エンドツーエンド)

  1. Web UI(または Telegram ボット)経由で URL または PDF を送信
  2. バックエンドがタイプ(GitHub リポジトリ、ブログ記事、RSS フィード、PDF など)を判別し、コンテンツを取得/抽出
  3. コンテンツを Gemini 2.5 Flash に送信して生成:
    • 簡潔な要約
    • カテゴリとタグ
    • (オプション)セマンティック検索に使用する埋め込み
  4. 結果を samuraizer.db に保存し、フロントエンドに表示
  5. フロントエンドで可能な操作:
    • タグ、カテゴリ、ソース、リスト、既読/有用フラグでフィルタリング
    • タグのインライン編集(変更は PATCH /entries/<id> で永続化)
    • セマンティック検索(Gemini 埋め込みによるベクトル検索)
  6. RSS フィードは定期的にポーリングされ、新しい投稿は自動取り込み

🧰 技術スタック

層技術 / ライブラリ
バックエンドPython, Flask, SQLite, feedparser, PyMuPDF

🚀 セットアップ

お好みのセットアップ方法を選択してください:

⚙️ ローカルセットアップ(手動インストール)

0) リポジトリをクローン 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) 設定 🔐

.env.example を .env にコピーし、値を入力してください。 また、Web UI の Settings タブを開いて、プロバイダー、API キー、Ollama モデル名、埋め込みモデル名などを保存前に調整することもできます。

root@kitploit:~
cp .env.example .env
🐳 Docker セットアップ(推奨)

フルスタックを実行する最も簡単な方法 — 1つのコマンドですべてをビルドして起動します。

0) リポジトリをクローン 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) 設定 🔐

root@kitploit:~
cp .env.example .env
# .env を編集して GEMINI_API_KEY(および必要なその他の値)を入力

2) ビルド & 実行 ▶️

すべての Docker ファイルは docker/ フォルダ内にあります。プロジェクトルートからコマンドを実行してください:

Gemini(クラウド)— デフォルト:

root@kitploit:~
docker compose -f docker/docker-compose.yml up -d

Ollama on CPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama up -d

Ollama on NVIDIA GPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia up -d
NVIDIA GPU の前提条件

📺 YouTube トランスクリプト取得

なぜ youtube-transcript-api ではないのか?

当初の実装ではオープンソースの Python ライブラリ youtube-transcript-api を使用していました。ローカルでは問題なく動作しますが、実際には YouTube が自動トランスクリプトリクエストを行う IP アドレスを積極的にブロックするという重大な制限があります。特に:

  • クラウドプロバイダー / VPS ホスト(AWS、GCP、Azure、Hetzner など)の IP
  • トランスクリプトエンドポイントに高頻度でアクセスする IP

つまり、わずか数本の動画を分析しただけで、サーバー全体がブロックされ、以降のトランスクリプト取得はすべて IPBlocked / RequestBlocked エラーで失敗するようになります — YouTube 動画分析が完全に壊れます。

現在の解決策: transcriptapi.com

Samuraizer は現在 transcriptapi.com を使用しています。これはサードパーティの有料 API で、YouTube トランスクリプト取得を自社のインフラで処理し、ブロックされることなく実行します。

メリット:

  • IP ブロックなし — 彼らがアンチボット問題を管理します
  • シンプルな REST API(GET /api/v2/youtube/transcript)
  • 無料枠あり;成功(HTTP 200)の場合のみクレジットが消費されます
  • リトライ可能なエラーコード(408 / 503)と明確なセマンティクス

デメリット:

  • 無料枠を超えると無料ではありません(クレジットベースの課金)
  • 外部依存 — サービスがダウンするとトランスクリプト取得が失敗します
📦 API エンドポイント

URL の分析

POST /analyze

ボディ:

root@kitploit:~
{ "url": "https://github.com/owner/repo" }

PDF の分析

POST /analyze-pdf

ボディ:multipart/form-data、file フィールドに .pdf ファイルを含む。 /analyze と同じ形式で NDJSON イベントをストリーミング(url キーにはファイル名を使用)。

保存された PDF の取得

GET /entries/<id>/pdf — ブラウザに PDF をインライン表示。 GET /entries/<id>/pdf?dl=1 — PDF をファイルとしてダウンロード。

エントリの一覧表示


🙌 貢献

  1. Fork
  2. ブランチを作成
  3. 変更を加える
  4. PR を送信

⚖️ ライセンス

MIT

ツールをダウンロード
LLMGemini 2.5 Flash(Gemini API)、Ollama(ローカル、オプション)
フロントエンドReact 18, Vite, Tailwind CSS
ボットpython-telegram-bot v20
トランスクリプトtranscriptapi.com
変数必須入手先
LLM_PROVIDERいいえgemini(デフォルト、クラウド)または ollama(ローカル)
GEMINI_API_KEYgemini の場合Google AI Studio → API キーを取得
OLLAMA_URLollama の場合Ollama API URL(デフォルト: http://localhost:11434)
OLLAMA_MODELollama の場合推論モデル(デフォルト: qwen3:14b)
OLLAMA_EMBED_MODELollama の場合埋め込みモデル(デフォルト: qwen3-embedding:8b)
TELEGRAM_BOT_TOKENいいえTelegram で @BotFather を使ってボットを作成
GITHUB_TOKENいいえGitHub → 設定 → 開発者設定 → パーソナルアクセストークン — API レート制限を 60 から 5000 req/hr に引き上げ
TRANSCRIPTAPIいいえtranscriptapi.com/dashboard/api-keys — YouTube トランスクリプト取得に必要
SAMURAIZER_URLいいえバックエンドの URL(デフォルト: http://localhost:8000)、Telegram ボットが使用
🏠 ローカルモード(Ollama)

Ollama を使用して Samuraizer を完全オフラインで実行:

root@kitploit:~
# Ollama CLI のインストール(プラットフォーム依存)
# macOS
curl -fsSL https://ollama.com/install.sh | sh

# Windows
irm https://ollama.com/install.ps1 | iex

# Linux(Ubuntu/Debian)
curl -fsSL https://ollama.com/install.sh | sh
root@kitploit:~
# Ollama サービスを起動
ollama serve

# モデルをインストール
ollama pull qwen3:4b            # 推論
ollama pull qwen3-embedding:8b  # 埋め込み

# .env でプロバイダーを設定
LLM_PROVIDER=ollama

既に Gemini 埋め込みを使用している場合、Ollama に切り替えると、次回起動時に自動的に削除されます(次元の不一致)。UI または POST /entries/embed-all で再埋め込みしてください。

2) 依存関係のインストール 📦

root@kitploit:~
# 仮想環境を作成してアクティベート
python -m venv .venv
source .venv/bin/activate  # Windows の場合: .venv\Scripts\activate

pip install -r requirements.txt

cd frontend
npm install
cd ..

3) バックエンドを起動 ▶️

root@kitploit:~
python server.py

4) フロントエンドを起動 🌐 (新しいターミナル)

root@kitploit:~
cd frontend
npm run dev

5) (オプション)Telegram ボットを起動 🤖 (新しいターミナル)

root@kitploit:~
python telegram_bot.py

Windows(WSL 2):

  1. 最新の NVIDIA Game Ready / Studio ドライバー を Windows にインストール — WSL 内に別途 Linux ドライバーは不要。
  2. WSL 2 をインストール:PowerShell を管理者として開き、次を実行:
    root@kitploit:~
    wsl --install
    wsl --update
    
  3. Docker Desktop for Windows をインストールし、設定で:
    • General → "Use the WSL 2 based engine" を有効化
    • Resources → WSL Integration → 使用するディストリビューションを有効化

Docker Desktop for Windows は NVIDIA コンテナランタイムを自動的にバンドルするため、追加の手順は不要です。

Linux:

NVIDIA Container Toolkit をインストール:

root@kitploit:~
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Ollama on AMD GPU (ROCm 対応 GPU + Linux 上の amdgpu ドライバーが必要):

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-amd up -d

以上です。フロントエンドは **http://localhost**、API は http://localhost:8000 でアクセスできます。

ヒント: Ollama プロファイルを使用する場合は、.env で LLM_PROVIDER=ollama を設定してください。OLLAMA_URL はコンテナ内で自動的に http://ollama:11434 に設定されるため、変更する必要はありません。

Ollama で初回起動後、モデルをプルします(起動したプロファイルに一致するコンテナ名を使用):

root@kitploit:~
# --profile ollama
docker exec -it samuraizer-ollama-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-1 ollama pull qwen3-embedding:8b

# --profile ollama-nvidia
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3-embedding:8b

# --profile ollama-amd
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3-embedding:8b
  • バックエンドとフロントエンドは障害発生時に自動再起動します。
  • Docker はデータベースとログファイルをプロジェクトの data/ ディレクトリに、バックアップを db_backups/ に保存します。
  • Ollama のモデルファイルは ollama_data Docker ボリュームに保存されます(再起動後も保持)。
  • Telegram ボットはデフォルトで無効です。プロファイルを組み合わせて Ollama と一緒に有効にできます:
root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia --profile bot up -d

アップデート

root@kitploit:~
git pull
docker compose -f docker/docker-compose.yml up -d --build

停止

root@kitploit:~
docker compose -f docker/docker-compose.yml down
  • データがサードパーティを経由します
  • セットアップ: .env に追加:

    root@kitploit:~
    TRANSCRIPTAPI=your_key_here
    

    キーは transcriptapi.com/dashboard/api-keys で取得できます。

    検討に値する代替案

    オプション仕組みIP ブロックリスクコスト
    transcriptapi.com (現在)マネージド REST APIなし(彼らの問題)クレジットベース
    yt-dlp--write-sub --skip-download で字幕をダウンロード低(ブラウザを模倣)無料、自己ホスト
    youtube-transcript-api + cookiesログイン済みブラウザセッションから Netscape cookies.txt を渡す中(バーナーアカウントリスク)無料
    YouTube Data API v3公式 Google API、スクレイピングなしなし無料枠あり、その後有料
    Supadata同様のマネージド REST APIなし無料枠(100 req/day)

    最良の無料代替案: yt-dlp — 活発にメンテナンスされており、実際のブラウザリクエストを模倣するため、単純な HTTP リクエストほどブロックされる可能性は低いです。切り替えるには、_fetch_youtube_content を yt-dlp --write-auto-sub --sub-format vtt --skip-download を呼び出すように置き換え、結果の .vtt ファイルを解析します。

    GET /entries(フィルター対応: search、category、tag、source、list_id、read、useful)

    YouTube チャンネル購読

    • GET /yt-channels — 購読中のチャンネル一覧(id、channel_id、channel_url、name、last_checked)
    • POST /yt-channels/preview — ボディ { "url": "https://www.youtube.com/@handle" }、チャンネル情報+最新動画(url/title/published)を返す
    • POST /yt-channels — ボディ { "url": "...", "name": "optional", "analyze_urls": ["https://...", ...] };購読を作成し、オプションで選択した動画を分析
    • POST /yt-channels/<id>/poll — チャンネルの即時手動ポーリング
    • DELETE /yt-channels/<id> — 購読を削除

    タグの管理

    • タグ編集は PATCH /entries/<id> で JSON { "tags": ["tag1","tag2"] } を使用