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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
badBANANA-threat-observatory — CISA KEV、ThreatFox、URLhaus、MalwareBazaarのフィードを集約し、検索、変更追跡、STIX/CSV/JSONLエクスポート機能を備えた脅威インテル監視台。 | Kitploit
ツール/GitLabGitLab/gnomeman/badbanana-threat-observatory
防御ツール侵害指標 (IOC) 管理OSINT (オープンソースインテリジェンス)脅威フィードとアグリゲーター脆弱性分析情報収集脅威インテリジェンス
GitLabgnomeman/badbanana-threat-observatory

人気

すべて見る →

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

すべてのツールを探索

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

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

badBANANA-threat-observatory

CISA KEV、ThreatFox、URLhaus、MalwareBazaarのフィードを集約し、検索、変更追跡、STIX/CSV/JSONLエクスポート機能を備えた脅威インテル監視台。

リポジトリを見るウェブサイト
761ヶ月前未レビュー

badBANANA // 脅威オブザバトリー

悪用された脆弱性と脅威指標を調査し、そのソース証拠を確認し、保持された変更をレビューします。

ライブオブザバトリーを開く · KEVウォークスルーを試す · ソースカバレッジ · 自分で実行する

オブザバトリーは、CISA KEV、ThreatFox、URLhaus、MalwareBazaarを1つのアナリストワークスペースに統合します。ソースレコードを調査し、ソース日付と収集時刻を区別し、範囲を限定した現在状態の結果をエクスポートするために使用します。欠落、古い、無効化、または利用不可のデータは、常に明示的にラベル付けされたままになります。

badBANANA Observatory eye

試してみる: 悪用された脆弱性を1件調査する

  1. ライブオブザバトリーを開き、Sources を選択してCISAの可用性と鮮度を確認します。
  2. Exploited を選択し、次に RECENT KEV / DAY-GRANULAR と 7D を選択します。このスコープはCISAのdate addedを日単位の精度で使用します。
  3. 返されたCVE行を開きます。ソース固有のvendor、product、required action、ransomware-useフィールドを、レコードの来歴と併せて調査します。
  4. OBSERVATION TIME、FIRST INGESTED、LAST MATERIAL CHANGE を比較します。これらは異なる問いに答えるものであり、新たに取得したからといって新たな悪用を証明するものではありません。
  5. 利用可能な場合は OPEN VALIDATED UPSTREAM SOURCE PAGE を使用して、元の参照を調査します。

7日間ビューで一致するものが返されない場合は、CURRENT KEV CATALOG を使用して既存のエントリを調査します。成功した空の結果、古いソース、利用不可の読み取りは、それぞれ異なる意味を持ちます。いずれも、あなたのシステムが影響を受けていないことを立証するものではありません。

結果: 日付の基準と収集の制限が可視化された、調査および参照が可能なソース裏付けのあるCVEレコードです。このワークフローは、あなた自身の資産が脆弱かどうかを判定するものではありません。

スコープを限定した現在状態ページをエクスポートする

エクスポートは別のワークフローです。Pulse、Infrastructure、URLs、または Malware から開始し、時間枠を選択して、利用可能な検索またはフィルターを適用します。次に Export を選択し、ソースの選択と表示ページの件数を確認し、JSONL、CSV、STIX 2.1、defang済みテキスト、またはマニフェストを選択して、結果をダウンロードします。

エクスポートは、選択したポリシーを適用した後の読み込み済みページを対象とします。出力件数と未サポート件数を確認してください。専用の Exploited ワークスペースのKEVフィルターは、Exportに直接引き継がれ ません。

証拠が意味するもの

現在のソース状態、重要な変更イベント、取得テレメトリは分離されたままです。インターフェースはデモレコードや推測された帰属で置き換えることは決してありません。収集はオンデマンド駆動であり、このデプロイメントは継続的な監視を主張するものではありません。

実装と制限事項は以下に文書化されており、ソースカバレッジ、保持、来歴、エクスポートのセマンティクスを含みます。

本番ビュー

badBANANA Threat Observatory Pulse relationship view

Pulse — クロスソースの関係、ソースの健全性、現在状態の分析。

badBANANA Threat Observatory Transition Replay

Replay — 保持された NEW、UPDATED、REMOVED の遷移をページ単位で再構築したもの。

その他のライブサーフェスには、おおよそのパブリックIPインフラの地理情報や、ファーストパーティのURLhaus / MalwareBazaar証拠ビューが含まれます。これらのサーフェスは、このREADMEでは意図的にプレースホルダーや重複したスクリーンショットで表現されていません。

本番キャプチャは、ライブv1.2.0オブザバトリーからのソースを保持したスクリーンショットです。これらはプレゼンテーション用に切り抜き、サイズ変更/圧縮されていますが、表示される証拠、タイムスタンプ、件数、IOC値、インターフェース状態は再生成または置換されていません。

ライブデプロイメント

  • 本番環境: https://badbanana-threat-observatory.badbanana6969.workers.dev
  • 現在のソース: https://github.com/GnomeMan4201/badBANANA-threat-observatory/tree/main
  • 凍結された v1.2.2 ソース: https://github.com/GnomeMan4201/badBANANA-threat-observatory/tree/release/v1.2.2

本番環境の Worker は Cloudflare D1 によって支えられています。フィードの認証情報はサーバー専用の Cloudflare Worker シークレットのままであり、ブラウザ側で必要になることはありません。

リリース状況

  • バージョン: 1.2.2
  • ランタイム: Node.js 22.13.0 以降
  • デプロイ: vinext と Cloudflare Vite プラグインを介した Cloudflare Workers 上の Next.js
  • 永続化: Cloudflare D1(明示的にラベル付けされた isolate メモリへの縮退を伴う)
  • 本番依存関係の監査: CI で high 重大度に対して強制

取り込みモード

このデプロイは demand-driven モードで動作します。リポジトリは現在、標準の Cloudflare Workers を直接ターゲットとしています。v1.2.2 ではスケジュールトリガーは意図的に有効化されていないため、アプリケーションは継続的な収集を主張しません。将来のスケジューラーは、別途の正確性および運用上の検証を経た後、同じ runIngestionCycle() 操作を呼び出すことができます。

ブラウザは初回利用時および開いている間の5分ごとに、明示的な範囲指定付きのメンテナンスリクエストを送信します:

POST /api/ingest
        ↓
runIngestionCycle()
        ↓
configuration → TTL → backoff → D1 lease → fetch → normalize → validate
        ↓
snapshot cache + current observations + material events + cycle statistics

通常の読み取りは別個かつローカルです:

GET /api/observations → D1 current state, scoped before pagination
GET /api/search       → D1 current state, scoped before pagination
GET /api/kev          → D1 current CISA catalog
GET /api/events       → D1 material change ledger
GET /api/geo          → local observations + bounded cached IP enrichment

これらの GET ルートはいずれもソースアダプターを呼び出しません。このプロジェクトが後に真にサポートされるスケジューラーを獲得した場合、2 つ目のリフレッシュ実装を作成することなく、同じ runIngestionCycle() 操作を呼び出すことができます。

ソースカバレッジ

ソース認証情報TTL実際のカバレッジ
CISA KEVなし30 分完全な現在の検証済みカタログ
ThreatFoxTHREATFOX_AUTH_KEY15 分要求された 24 時間の IOC ウィンドウ
URLhausURLHAUS_AUTH_KEY15 分recent エンドポイントが返す最新 500 レコード
MalwareBazaarMALWAREBAZAAR_AUTH_KEY15 分エンドポイントが返す最新 100 メタデータレコード

カバレッジはソースごとに表示されます。境界付き API が完全なカタログとして提示されることはありません。

ストレージモデル

DB バインディングは個別のデータセットを所有します:

  • threat_source_cache と threat_source_cache_chunks: ソースごとの最新の検証済みスナップショットで、世代キー付きチャンクに保存されます。
  • observations: 安定したソース ID ごとの最新の正規化された現在状態。初回取り込み、最新のソース観測、最後の実質的変更、現在のハッシュ、リビジョン数、最新の取り込み結果を保持します。
  • observation_events: 意味のある NEW、UPDATED、および正当化可能な REMOVED の証拠イベント。以前と現在の正規化ペイロード、ハッシュ、および決定論的なフィールド差分により、以前の状態を再構築できます。
  • source_fetch_log: レスポンスボディや認証情報を含まない、境界付きのフェッチ試行テレメトリ。
  • source_ingest_cycles: フェッチ済み、有効、拒否、新規、更新、変更なし、削除済みレコードのリフレッシュごとの境界付きカウント。
  • source_refresh_lease: 同時実行されるアイソレートが上流のリフレッシュを重複して行うのを防ぐ、D1 に基づくソースごとの短命リース。
  • ingestion_runtime: 取り込みサイクル全体の最新のヘルス状態。
  • geo_ip_cache: 検証済みの概算 IP ジオロケーション結果と境界付きのネガティブキャッシュエントリ。成功した結果は 30 日後に期限切れになり、失敗したルックアップは 5 分後に再試行されます。期限切れの D1 行は GEO リクエスト中に機会的に削除され、アイソレートのフォールバックは 2,000 エントリに制限されます。

ランタイムスキーマ定義は db/schema.ts にあります。初期化では、依存インデックスを作成する前に、新しい現在状態のカラムを既存の observations テーブルに追加します。

状態と保持のセマンティクス

これらの問いは意図的に異なります:

  1. ソースは今何を言っているか? observations と検証済みソーススナップショットがこれに答えます。
  2. このソース時間ウィンドウ中に badBANANA は何を観測したか? /api/observations?window=... は上流の observedAt によって現在の観測をフィルタリングします。
  3. 観測間で何が変わったか? observation_events と /api/revisions がこれに答えます。

現在状態は、7 日間の履歴テーブルとして不正確に記述されることはありません。実質的イベント台帳は 7 日間保持されます。フェッチとサイクルのテレメトリは 2 日間保持され、ソースごとに 200 行に制限されます。7 日間再出現しなかった非カタログの現在観測は削除されます。CISA はすべての成功レスポンスが完全なカタログであるため現在のままです。そのカタログから削除された行は、削除される前に 30 日間利用可能なままです。 現在、CISA の不在のみが REMOVED イベントを作成できます。そのアダプターが完全な現在のカタログを取得するためです。境界付きの ThreatFox、URLhaus、または MalwareBazaar の結果からの不在は、削除として扱われません。

変更のない観測は現在の lastObservedInSnapshotAt/lastIngestedAt を進めますが、イベントを作成したり revisionCount を増やしたりしません。lastChangedAt はその後の変更のない観測でも保持されます。

CISA アナリストワークスペース

Exploited ビューは以下を分離します:

  • Current KEV Catalog: ダッシュボードの時間ウィンドウに依存しない、完全な検証済み現在状態。
  • Recent KEV: 日単位の CISA dateAdded が明示的な TODAY、7D、または 30D の範囲内に収まるレコード。1 日未満の Observatory ウィンドウが CISA の精度として提示されることはありません。

現在のカタログは、サーバーサイド検索、ベンダー、製品、新規追加、ランサムウェア関連、追加日フィルター、および不透明カーソルによるページネーションをサポートしています。CVE、ベンダー、製品、脆弱性名、追加日、期限日、ランサムウェア関連、および必要な対応を表示します。CVSSスコアを捏造することはありません。

変更台帳とリビジョン

コンテンツハッシュは正規化されたエビデンスフィールドを対象とし、Observatoryの帳簿管理は含みません。ハッシュが変更されると、以前の正規化ペイロード、新しい正規化ペイロード、以前/新しいハッシュ、および以下に対する決定論的diffを含むUPDATEDイベントが生成されます:

  • タイトル
  • マルウェアファミリー
  • 脅威タイプ
  • 信頼度
  • ソースの初回/最終確認日時
  • タグ
  • 参照
  • 正規化されたメタデータキー

プロベナンスドロワーは/api/revisions?id=...をクエリし、現在のハッシュ、最終的な実質的変更、リビジョン数、保持されているイベント、およびフィールドレベルのdiffを表示します。揮発性の取り込みタイムスタンプはコンテンツdiffには現れません。

ドロワーはまた、受け入れられたすべてのレコードについてバージョン管理されたエビデンストレースを表示します:受け入れられた正規化フィールド、存在しないままのオプションフィールド、表示専用の変換、分類の根拠、および安定した識別の根拠。このトレースは保持されたエビデンスのみを記述します。拒否された上流の値は保持されず、合成されたObservatory識別子が割り当てられることもありません。拒否は、境界付きのフィールドコードと理由コードを伴うサイクルごとの集計カウントとして別途表現されます。そのスキーマより前に収集された古いサイクルは、再構築されるのではなく、内訳を欠くものとしてラベル付けされます。

Recent Eventsは実質的な変更のみを表示します。CISAの完全なリフレッシュ後に、変化のない数百行のSEEN行を出力することはありません。それらの目撃情報はソースサイクル統計に要約されます。

デバイスローカルブリーフィング

ツールをダウンロード