BlessedRebuS/Krawl

悪意のあるクローラーと攻撃者を検出・追跡するためのクラウドネイティブなハニーポット・デセプションサーバーです。

完成アプリ自由に使える · MITデータ・クローリングPython難易度
687+0今週0
68フォーク6Issue
デモ・公式サイトをひらくdemo.krawlme.com

中辛 の解説

Python・FastAPI・PostgreSQL・Redisで構築されています。スタンドアロンモード(SQLiteのみ)と本番向けのスケーラブルモード(PostgreSQL+Redis)の2つのデプロイ方式があります。 Compose・・Helm対応で、すぐに本番環境で運用できます。ダッシュボードはGeoIP可視化・攻撃タイプ分類・IP評判スコア表示など、防御チームが必要とする情報が揃っています。デモサイトで動作を確認できます。

こんなリポジトリです

こんなときに便利です

  • ウェブスキャナーやクローラーの悪意のある活動を検知して IP をブロックリスト化し、ネットワーク全体で共有する。
  • 本番サービスの前にKrawlを配置し、攻撃者を引き付けてそこで留める間に、バックエンドへの負荷を軽減する。
  • Grafana ダッシュボードと連携して、リアルタイムで攻撃パターンと脅威トレンドを可視化・分析する。

主な機能

AI 生成デセプションページとスパイダートラップで複数層の検知Prometheus メトリクスと Grafana 統合による運用監視複数インスタンス間の banlist 連携と自動更新

ほかとの違い

単一インスタンスから水平スケーリング可能な本番対応アーキテクチャを備え、AI による攻撃面の自動生成と複数インスタンス間でのブロックリスト共有機能を統合しています。

食べた人たち

実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。

試食評 · 使った人のひとこと

まだ試食評がありません。使ってみたら、最初のひとことをどうぞ。

ほかのリポジトリの試食評を見る →

このリポジトリで作られたもの

🖋 完走を記録する

まだ完走の記録がありません。最初の一膳を記録してみませんか。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Docker または Python 3.13 以上
  • Docker Compose(スケーラブルモード使用時)
  • PostgreSQL と Redis(スケーラブルモード使用時)

すぐ動かしてみるPython (uv)

ギット飯がリポジトリの構成を確認して組み立てた実行コマンドです。ターミナルに貼り付ければ、取得から実行までまとめて進みます。

git clone --depth 1 https://github.com/BlessedRebuS/Krawl.git &&
cd Krawl &&
uv sync

uv がなければ: brew install uv · 実行コマンドは README を確認してください。

コードは自分の環境で動きます — はじめて見るリポジトリなら、中身にひととおり目を通してから実行するのがおすすめです。

README の詳しい手順を見る
  1. DockerイメージをGitHub Container Registryから取得し、Krawlコンテナを起動します。
docker run -d \
  -p 5000:5000 \
  -e KRAWL_DASHBOARD_SECRET_PATH="/my-secret-dashboard" \
  -e KRAWL_DASHBOARD_PASSWORD="my-secret-password" \
  -v krawl-data:/app/data \
  --name krawl \
  ghcr.io/blessedrebus/krawl:latest
  1. ブラウザで http://localhost:5000 にアクセスしてKrawlサーバーが起動したことを確認します。

  2. ダッシュボードへ移動します(例:http://localhost:5000/my-secret-dashboard)。

  3. または、Docker Composeで本番向けのスケーラブルモードを起動します。まずスタンドアロンCompose例:

cat > docker-compose.yaml << 'EOF'
services:
  krawl:
    image: ghcr.io/blessedrebus/krawl:latest
    container_name: krawl-server
    ports:
      - "5000:5000"
    environment:
      - CONFIG_LOCATION=config.yaml
    volumes:
      - ./config.yaml:/app/config.yaml:ro
      - krawl-data:/app/data
    restart: unless-stopped
volumes:
  krawl-data:
EOF
  1. Pythonで直接実行する場合は、最初に依存パッケージをインストールします。
pip install -r requirements.txt
  1. uvicornでサーバーを起動します。
uvicorn app:app --host 0.0.0.0 --port 5000 --app-dir src --no-server-header

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try BlessedRebuS/Krawl

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

これを仕事に活かす

味見がすんだら次は応用です — 仕事やビジネスに活かす方法をまとめました。

レシピ — AI にこのまま頼んでみてください

レシピを読み込んでいます…

スター推移 · 7日

687+0 / 7日

使いやすさ · まねしやすいか

まねしやすいサンプル評点 52/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2025 年に作成

「データ・クローリング」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/BlessedRebuS/Krawl.svg)](https://www.gitbap.com/r/BlessedRebuS/Krawl)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る