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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Black_Hole_Attack_for_Vector_Database — ブラックホール攻撃の研究実装。中心性駆動型のハブ性を利用してベクトルデータベースのインデックスを汚染し、FAISSパイプラインと検出・緩和防御の評価を備える。 | Kitploit
ツール/GitHubGitHub/hanxi19/black_hole_attack_for_vector_database
防御ツール脆弱性分析データ流出機械学習論文と研究AIセキュリティ敵対的攻撃
GitHubhanxi19/black_hole_attack_for_vector_database

Black_Hole_Attack_for_Vector_Database

人気

すべて見る →

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

すべてのツールを探索

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

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

ブラックホール攻撃の研究実装。中心性駆動型のハブ性を利用してベクトルデータベースのインデックスを汚染し、FAISSパイプラインと検出・緩和防御の評価を備える。

リポジトリを見る
4123ヶ月前未レビュー

ベクトルデータベース検索に対するブラックホール攻撃

このリポジトリには、論文 Black-Hole Attack from Embedding Space Defects に付随する実装が含まれています。ブラックホール攻撃は、高次元埋め込み空間における幾何学的欠陥——中心性駆動型ハブ性(centrality-driven hubness)——を悪用してベクトルデータベースを汚染します。クラスタの重心付近に注入された少数の悪意あるベクトルが、ユーザークエリに関する知識を一切必要とせずに、多数のユーザークエリに対する最近傍となるのです。

要件

  • Python ≥ 3.10
  • FAISS(GPU推奨: faiss-gpu、CPU: faiss-cpu)
  • NumPy、Pandas、PyArrow(parquet I/O用)
  • scikit-learn、tqdm
  • PyTorch および Transformers(scripts/encode_*.py でのみ必要。攻撃パイプライン自体は torch をインポートしません)

コア依存関係のインストール:

pip install numpy pandas pyarrow scikit-learn tqdm faiss-gpu

クイックスタート

1. データのダウンロードと準備

# Download BEIR datasets
bash scripts/download_data.sh

# Encode to vectors + build FAISS indexes
bash scripts/process_data.sh

各スクリプトの MODELS 配列と DATASETS 配列を編集して、特定のモデルやデータセットを選択します。

2. 基本的な攻撃を実行する

# Full-Export Attack on HotpotQA with Contriever
python run.py --model contriever --src hotpotqa

これにより、フルパイプラインが実行されます:ベクトルの読み込み → クラスタリング → 敵対的ベクトルの生成 → 注入 → ポイズニングされたインデックスの構築 → MO@10、ASR、FPR の評価。

3. 主要な引数

フラグデフォルト説明
--model / --srccontriever / hotpotqa埋め込みモデルとソースデータセット
--modedefaultdefault(同一データセット)または transfer(データセット間)
--preprocessdefaultdefault、query_trans、または multi_query_transfer
--clusterkmeanskmeans、minibatch_kmeans、faiss_gpu
--num-copies / --epsilon10 / 0.001セントロイドごとの摂動コピー数;摂動の大きさ
--eval-k / --sample-queries10 / 3000Top‑k 評価;サンプリングするクエリ数
--eval-index-typesFlatIP評価するインデックスタイプ:FlatIP、HNSW、IVF、IVFPQ
--eval-runnersevaluate評価ステップ:evaluate、evaluate_recall、evaluate_defense、evaluate_defense_performance_loss、evaluate_mitigation_defense、evaluate_mitigation_performance_loss
--result-subdir自動出力 JSON 用の data/result/ 配下のサブディレクトリ

攻撃パス

論文で説明されている 4 つの攻撃パスは、以下の呼び出しに対応しています:

パスコマンド
(1) データベース全体のエクスポートpython run.py --mode default --preprocess default
(2) データベースの部分エクスポートクラスタリング前にベクトルの一部を外部にエクスポートする;パイプラインの残りは (1) と同一
(3) サロゲートデータセット攻撃python run.py --mode transfer --preprocess multi_query_transfer --victim <dataset>
(4) 公開済み事前埋め込みデータセットへのポイズニング事前埋め込みデータセットの .npy ファイルを改変し、HuggingFace に再アップロードする

(3) の場合、攻撃者は他のすべてのデータセットのクエリから悪意のあるベクトルを構築し、それらを被害者に注入します。サロゲートソースデータセット用のクエリ .npy ファイルが data/vector/ に存在している必要があります。

防御の評価

検出ベースの防御を実行するには:

python run.py --model contriever --src hotpotqa \
    --eval-runners evaluate_defense evaluate_defense_performance_loss

緩和策ベースの防御(1つ以上の手法)の場合:

python run.py --model contriever --src hotpotqa \
    --eval-runners evaluate_mitigation_defense evaluate_mitigation_performance_loss \
    --mitigation-methods cl2 zn nohub

デモ

demo/ には、BEIR データセットから小さなナレッジベースを構築し、それをエンコードし、悪意のあるベクトルを注入し、検索レベルでの影響を測定する、自己完結型の最小限のサンプルが含まれています。独自の requirements.txt を使用し、src/ には依存しません。CLI の詳細については demo/src/main.py を参照してください。

データセットとモデル

config.json は、サポートされているモデル(contriever、bge、gte)とデータセット(14 個の BEIR ベンチマーク)を定義しています。新しいモデルを追加するには、config.json を拡張し、data/vector/<model>_<dataset>.npy の下に .npy ベクトルファイルが存在することを確認してください。

引用

@misc{li2026trustvectorsvectordatabase,
      title={Can You Trust the Vectors in Your Vector Database? Black-Hole Attack from Embedding Space Defects}, 
      author={Hanxi Li and Jianan Zhou and Jiale Lao and Yibo Wang and Zhengmao Ye and Yang Cao and Junfen Wang and Mingjie Tang},
      year={2026},
      eprint={2604.05480},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2604.05480}, 
}
ツールをダウンロード