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
Оборонительные ИнструментыАнализ уязвимостейЭксфильтрация данныхМашинное ОбучениеСтатьи и ИсследованияБезопасность ИИСостязательная Атака
GitHubhanxi19/black_hole_attack_for_vector_database

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Black_Hole_Attack_for_Vector_Database

Исследовательская реализация атаки «чёрная дыра», которая отравляет индексы векторных баз данных через управляемую центральностью хабность, с конвейерами FAISS и оценкой средств обнаружения и защиты.

Репозиторий
4263 месяцев назадЕщё не проверено
Поделиться

Атака «чёрной дыры» на поиск в векторных базах данных

Этот репозиторий содержит реализацию, сопровождающую статью Black-Hole Attack from Embedding Space Defects. Атака «чёрной дыры» эксплуатирует геометрический дефект в высокоразмерных пространствах эмбеддингов — центральность-обусловленную хабность (centrality-driven hubness) — для отравления векторных баз данных: небольшое число вредоносных векторов, внедрённых вблизи центроидов кластеров, становятся ближайшими соседями для значительной доли пользовательских запросов, при этом не требуется никакого знания об этих запросах.

Требования

  • Python ≥ 3.10
  • FAISS (рекомендуется GPU: faiss-gpu; CPU: faiss-cpu)
  • NumPy, Pandas, PyArrow (для ввода-вывода parquet)
  • 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 / 3000Оценка top‑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-subdirautoПодкаталог в data/result/ для выходного JSON

Векторы атак

Четыре вектора атак, описанные в статье, соответствуют следующим вызовам:

ВекторКоманда
(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

Для защиты на основе смягчения (один или несколько методов):

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 и убедитесь, что файлы векторов .npy существуют в data/vector/<model>_<dataset>.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}, 
}
Скачать инструмент