Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
signed-but-steerable — Измерение и устранение разрыва целостности между текстом и вектором в офлайн-RAG: закон запаса, аудит векторных баз данных и проверка на уровне кода. | Kitploit
Инструменты/GitHubGitHub/securagenai/signed-but-steerable
Статический анализАнализ уязвимостейАнализ КодаСтатьи и ИсследованияБезопасность ИИ
GitHubsecuragenai/signed-but-steerable

signed-but-steerable

Измерение и устранение разрыва целостности между текстом и вектором в офлайн-RAG: закон запаса, аудит векторных баз данных и проверка на уровне кода.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
412 дней назадЕщё не проверено
Поделиться

Signed but Steerable: разрыв целостности текст-вектор в офлайн-RAG

Код, данные и результаты для статьи Signed but Steerable: Measuring and Closing the Text-Vector Integrity Gap in Offline Retrieval-Augmented Generation (G. Feretzakis, A. Papaspyridis, securagen.ai).

DOI

Архивировано на Zenodo: 10.5281/zenodo.23945569 (все версии; релиз v1.0.2, цитируемый в статье: 10.5281/zenodo.23948839). Идентификатор arXiv статьи будет добавлен, когда он станет доступен.

Что здесь есть

  • ragtrust/ — общая библиотека, включая codeverify.py, эталонный верификатор на уровне кода, используемый для каждого результата проверки кода (неоднозначность решается только по пересчёту верификатора; принятие только по соседям; канонизация).
  • desktop/ — эксперименты, выполненные на десктопе: оценка воздержания (E1) и её проверка на MS MARCO, атака рассинхронизации векторов и закон запаса (E7), запасы BEIR, экспозиция векторной базы данных, демонстрация FAISS, проверка на уровне кода и детерминизм float-конвейеров.
  • device/ — эксперименты, выполненные на CPU Raspberry Pi 5: сокращение контекста (E2), стоимость проверки рядом с языковой моделью (E4), эмбеддинг на устройстве и точность INT8 (E5), сквозная атака (E7) и обновления пакетов (E8).
  • analysis/ — анализы, проверки точности и единиц измерения, а также make_figures.py, который перегенерирует рисунки.
  • data/ — корпус на основе SQuAD, окна, вопросы и векторы; results/ — выходные данные по экспериментам; tests/ — модульные тесты; remote/ — вспомогательные скрипты для управления Pi с десктопа (адаптируйте имена хостов).
  • PROTOCOL.md — гипотезы, зафиксированные до сбора данных, и журнал отклонений и исследовательских анализов. Номера экспериментов соответствуют протоколу; E3 и E6 не входят в этот релиз.
  • pins.json — закреплённые ревизии моделей и инструментов.

Быстрый старт

  • Тесты: python tests/test_codeverify.py.
  • Окружение для десктопа: bash desktop/setup_desktop.sh; рисунки: python analysis/make_figures.py.
  • Эксперименты на устройстве: Raspberry Pi 5, Python с device/requirements_device.txt и llama.cpp на коммите из pins.json.

Запуск экспериментов на устройстве

На Raspberry Pi после cp device/config.env.example device/config.env (адаптируйте пути) и установки device/requirements_device.txt в venv_device:

  • Генерация E2 и E7: bash device/inner_generate.sh запускает llama-server и выполняет k3_full (первые 60 вопросов, проверка воспроизводимости), k5_ce3, k10_ce3, k10_ce5, k5_bi3, k5_ce3 с онлайн-селектором INT8 и конфигурации E7; только сквозная конфигурация CPU-INT8: bash device/run_e7_cpu_int8.sh. Варианты k5_ce3w, k3_ce3 и k3_ce3w запускаются через python device/e2_generate.py --config <name>, пока llama-server работает (запускается так же, как в device/inner_generate.sh). Конфигурация пропускается, если существует results/e2/status_<name>.json; переместите эти файлы в сторону, чтобы перегенерировать опубликованные результаты.
  • E4: python device/e4_contention.py; E5: python device/e5_reindex.py --backends ort-fp32,ort-int8 --batch 32 (размер батча опубликованных результатов: динамический INT8 зависит от батча, и батчи по 64 дают другие векторы); E8: python device/e8_device_verify.py --vector-backend ort-fp32.
  • С десктопа remote/pi_sync.sh копирует репозиторий на Pi, а remote/pi_fetch.sh забирает результаты.

Где находятся числа из статьи

  • Закон запаса на SQuAD (таблица 2): results/e7/margin_law_squad.json; другие корпуса и рис. 1: results/e7/beir_margins.json и results/e7/margins/; экспозиция при эталонном пороге CPU-INT8: results/e7/cpu_int8_exposure.json; проверки численной точности и единиц измерения: results/e7/margin_precision_check.json; калибровка эталонного порога INT8 (точный квантиль, честные окна ниже него, побитовое перекодирование при размере батча 32): results/e5/int8_calibration_check.json (analysis/e5_int8_calibration_check.py).
  • Сжатые хранилища: results/e7/vecdb_quant.json; аудит FAISS и выполненная атака: results/e7/faiss_integrity.json; бюджет невязки: results/e7/guard_budget.json.
  • Сквозной прогон на устройстве: results/e7/analysis.json (правильные ответы и отказы) и results/e7/e2e_checks.json (те же вопросы, угловой бюджет, полезная нагрузка в контексте top-3).
  • Сокращение контекста (E2): results/e2/decomposition.json; стоимость рядом с языковой моделью (E4): results/e4/.
  • Рисунки: results/figures/fig_margin_law.pdf (рис. 1) и results/figures/fig_vdb.pdf (рис. 2), перегенерируются скриптом analysis/make_figures.py.

Что не включено

  • Веса моделей и экспортированные графы ONNX (лицензии): скачиваются и пересобираются скриптами на закреплённых ревизиях.
  • Данные BEIR и MS MARCO и производные векторы (лицензии): скачиваются скриптами.
  • Большие файлы векторов и кэши, перегенерируемые скриптами: results/e7/squad_question_vectors.npz (analysis/margin_law_squad.py) и results/e7/proxy_vectors.npz (analysis/margin_law.py).
  • Промежуточные входные данные, перегенерируемые или скачиваемые скриптами: results/e7/vecs/ (записывается desktop/beir_margins.py), results/e7/scale_*.npy (записывается скриптами проверки кода), data/beir/ и artifacts/models/ (записывается desktop/export_onnx.py).
  • Журналы запусков.

Некоторые аналитические скрипты загружают кэши, которые они сами создали, с помощью numpy.load(..., allow_pickle=True); загружайте такие файлы только из собственных запусков и никогда из недоверенных источников.

Сторонние ресурсы

Модели, наборы данных и их лицензии перечислены в DATA_LICENSES.md. Пожалуйста, также цитируйте SQuAD 2.0 (Rajpurkar et al., 2018), BEIR (Thakur et al., 2021), MS MARCO (Bajaj et al., 2016), BGE-M3 (Chen et al., 2024) и Sentence-BERT (Reimers and Gurevych, 2019), когда используете соответствующие части.

Примечания

  • FAISS на всём протяжении ведёт себя так, как задумано: он предоставляет форматы хранения и поиск, а не аудит целостности. Модель угроз — скомпрометированный издатель или писатель хранимых векторов, а не дефект какой-либо библиотеки или продукта.
  • Это исследовательский код, предоставляемый как есть и без гарантий (см. LICENSE).
  • Raspberry Pi является товарным знаком Raspberry Pi Ltd. Другие названия продуктов являются товарными знаками их соответствующих владельцев.

Лицензия

Copyright 2026 securagen.ai P.C. MIT для кода и наших результатов; данные, производные от SQuAD, файлы результатов, содержащие текст SQuAD, и сгенерированные ответы сохраняют CC BY-SA 4.0; см. LICENSE и DATA_LICENSES.md для подробностей и для условий других наборов данных и моделей.

Скачать инструмент