Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
signed-but-steerable — Messung und Schließung der Text-Vektor-Integritätslücke in Offline-RAG: Margin-Gesetz, Vektordatenbank-Audits und Verifikation auf Code-Ebene. | Kitploit
Tools/GitHubGitHub/securagenai/signed-but-steerable
Statische AnalyseSchwachstellenanalyseCode-AnalysePapers & ForschungKI-Sicherheit
GitHubsecuragenai/signed-but-steerable

signed-but-steerable

Messung und Schließung der Text-Vektor-Integritätslücke in Offline-RAG: Margin-Gesetz, Vektordatenbank-Audits und Verifikation auf Code-Ebene.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
41vor 2 TagenNoch nicht geprüft
Teilen

Signiert, aber steuerbar: die Text-Vektor-Integritätslücke in Offline-RAG

Code, Daten und Ergebnisse für das Paper Signed but Steerable: Measuring and Closing the Text-Vector Integrity Gap in Offline Retrieval-Augmented Generation (G. Feretzakis, A. Papaspyridis, securagen.ai).

DOI

Archiviert auf Zenodo: 10.5281/zenodo.23945569 (alle Versionen; Release v1.0.2, zitiert im Paper: 10.5281/zenodo.23948839). Die arXiv-Kennung des Papers wird ergänzt, sobald sie verfügbar ist.

Was hier enthalten ist

  • ragtrust/ gemeinsame Bibliothek, einschließlich codeverify.py, dem referenziellen Verifier auf Code-Ebene, der für jedes Code-Verifikationsergebnis verwendet wird (Ambiguität wird ausschließlich aus der Neuberechnung des Verifiers entschieden; Akzeptanz nur bei Nachbarschaft; Kanonisierung).
  • desktop/ Experimente, die auf dem Desktop ausgeführt wurden: Abstention-Scoring (E1) und dessen MS-MARCO-Prüfung, der Vektor- Desynchronisationsangriff und das Margin-Gesetz (E7), BEIR-Margins, Vektor-Datenbank-Exposition, die FAISS- Demonstration, Verifikation auf Code-Ebene und die Determinismus-Eigenschaften von Float-Pipelines.
  • device/ Experimente, die auf der Raspberry Pi 5 CPU ausgeführt wurden: Context-Pruning (E2), die Kosten der Verifikation neben dem Sprachmodell (E4), geräteseitiges Embedding und INT8-Treue (E5), der End-to-End-Angriff (E7) und Pack-Updates (E8).
  • analysis/ Analysen, die Präzisions- und Einheitenprüfungen sowie make_figures.py, das die Abbildungen neu erzeugt.
  • data/ der aus SQuAD abgeleitete Korpus, Fenster, Fragen und Vektoren; results/ Ausgaben pro Experiment; tests/ Unit-Tests; remote/ Hilfsmittel zur Steuerung des Pi vom Desktop aus (Hostnamen anpassen).
  • PROTOCOL.md vor der Datenerhebung festgelegte Hypothesen sowie das Protokoll der Abweichungen und explorativen Analysen. Die Experimentnummern folgen dem Protokoll; E3 und E6 sind nicht Teil dieses Releases.
  • pins.json gepinnte Revisionen von Modellen und Werkzeugen.

Schnellstart

  • Tests: python tests/test_codeverify.py.
  • Desktop-Umgebung: bash desktop/setup_desktop.sh; Abbildungen: python analysis/make_figures.py.
  • Geräteexperimente: ein Raspberry Pi 5, Python mit device/requirements_device.txt und llama.cpp beim Commit in pins.json.

Ausführen der Geräteexperimente

Auf dem Raspberry Pi, nach cp device/config.env.example device/config.env (Pfade anpassen) und Installation von device/requirements_device.txt in venv_device:

  • E2- und E7-Generierung: bash device/inner_generate.sh startet llama-server und führt k3_full (erste 60 Fragen, Reproduzierbarkeitsprüfung), k5_ce3, k10_ce3, k10_ce5, k5_bi3, k5_ce3 mit dem Online-INT8-Selektor sowie die E7- Konfigurationen aus; nur die CPU-INT8-End-to-End-Konfiguration: bash device/run_e7_cpu_int8.sh. Die Varianten k5_ce3w, k3_ce3 und k3_ce3w laufen mit python device/e2_generate.py --config <name>, während llama-server läuft (gestartet wie in device/inner_generate.sh). Eine Konfiguration wird übersprungen, wenn results/e2/status_<name>.json existiert; verschieben Sie diese Dateien, um die veröffentlichten Ergebnisse neu zu erzeugen.
  • E4: python device/e4_contention.py; E5: python device/e5_reindex.py --backends ort-fp32,ort-int8 --batch 32 (die Batch-Größe der veröffentlichten Ergebnisse: dynamisches INT8 hängt von der Batch ab, und Batches von 64 ergeben andere Vektoren); E8: python device/e8_device_verify.py --vector-backend ort-fp32.
  • Vom Desktop aus kopiert remote/pi_sync.sh das Repository auf den Pi und remote/pi_fetch.sh ruft Ergebnisse ab.

Wo die Zahlen des Papers zu finden sind

  • Margin-Gesetz auf SQuAD (Tabelle 2): results/e7/margin_law_squad.json; weitere Korpora und Abb. 1: results/e7/beir_margins.json und results/e7/margins/; Exposure am CPU-INT8-Referenzschwellenwert: results/e7/cpu_int8_exposure.json; numerische Präzisions- und Einheitenprüfungen: results/e7/margin_precision_check.json; Kalibrierung des INT8-Referenz- schwellenwerts (exaktes Quantil, ehrliche Fenster darunter, bitgenaue Re-Encodierung bei Batch 32): results/e5/int8_calibration_check.json (analysis/e5_int8_calibration_check.py).
  • Komprimierte Stores: results/e7/vecdb_quant.json; FAISS-Audit und ausgeführter Angriff: results/e7/faiss_integrity.json; Residualbudget: results/e7/guard_budget.json.
  • End-to-End auf dem Gerät: results/e7/analysis.json (richtige Antworten und Verweigerungen) und results/e7/e2e_checks.json (dieselben Fragen, Winkelbudget, Payload im Top-3-Kontext).
  • Kontext-Pruning (E2): results/e2/decomposition.json; Kosten neben dem Sprachmodell (E4): results/e4/.
  • Abbildungen: results/figures/fig_margin_law.pdf (Abb. 1) und results/figures/fig_vdb.pdf (Abb. 2), neu erzeugt durch analysis/make_figures.py.

Nicht enthalten

  • Modellgewichte und exportierte ONNX-Graphen (Lizenzen): werden von den Skripten in den gepinnten Revisionen heruntergeladen und neu gebaut.
  • BEIR- und MS-MARCO-Daten und abgeleitete Vektoren (Lizenzen): werden von den Skripten heruntergeladen.
  • Große Vektordateien und Caches, neu erzeugt durch die Skripte: results/e7/squad_question_vectors.npz (analysis/margin_law_squad.py) und results/e7/proxy_vectors.npz (analysis/margin_law.py).
  • Zwischenergebnisse, die von den Skripten neu erzeugt oder heruntergeladen werden: results/e7/vecs/ (geschrieben von desktop/beir_margins.py), results/e7/scale_*.npy (geschrieben von den Code-Verifikationsskripten), data/beir/ und artifacts/models/ (geschrieben von desktop/export_onnx.py).
  • Ausführungsprotokolle.

Einige Analyseskripte laden Caches, die sie selbst mit numpy.load(..., allow_pickle=True) erstellt haben; laden Sie solche Dateien nur aus Ihren eigenen Läufen, niemals aus nicht vertrauenswürdigen Quellen.

Ressourcen von Drittanbietern

Modelle, Datensätze und ihre Lizenzen sind in DATA_LICENSES.md aufgeführt. Bitte zitieren Sie außerdem SQuAD 2.0 (Rajpurkar et al., 2018), BEIR (Thakur et al., 2021), MS MARCO (Bajaj et al., 2016), BGE-M3 (Chen et al., 2024) und Sentence-BERT (Reimers und Gurevych, 2019), wenn Sie die entsprechenden Teile verwenden.

Hinweise

  • FAISS verhält sich durchgängig wie vorgesehen: Es bietet Speicherformate und Suche, keine Integritätsaudits. Das Bedrohungsmodell ist ein kompromittierter Herausgeber oder Schreiber der gespeicherten Vektoren, nicht ein Defekt einer Bibliothek oder eines Produkts.
  • Dies ist Forschungscode, bereitgestellt wie besehen und ohne Gewährleistung (siehe LICENSE).
  • Raspberry Pi ist eine Marke von Raspberry Pi Ltd. Andere Produktnamen sind Marken ihrer jeweiligen Inhaber.

Lizenz

Copyright 2026 securagen.ai P.C. MIT für Code und unsere Ergebnisse; aus SQuAD abgeleitete Daten, Ergebnisdateien, die SQuAD- Text enthalten, und die generierten Antworten behalten CC BY-SA 4.0; siehe LICENSE und DATA_LICENSES.md für die Details und für die Bedingungen der anderen Datensätze und Modelle.

Tool herunterladen