Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
TrustworthyRAG — Ein Evaluierungsagent zur Erkennung von Fehlinformationen und Wissensvergiftung in Retrieval-Augmented-Generation-Systemen. | Kitploit
Tools/GitHubGitHub/gpt-laboratory/trustworthyrag
Code-AnalyseMaschinelles LernenPapers & ForschungKI-SicherheitAnomalieerkennung
GitHubgpt-laboratory/trustworthyrag

TrustworthyRAG

Ein Evaluierungsagent zur Erkennung von Fehlinformationen und Wissensvergiftung in Retrieval-Augmented-Generation-Systemen.

Repository anzeigen
vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Trustworthy RAG

Ein Evaluierungsagent zur Erkennung von Fehlinformationen und Wissensvergiftung in Retrieval-Augmented-Generation-Systemen.

Übersicht

Dieses Projekt implementiert ein Trustworthy RAG Framework mit einem integrierten Evaluierungsagenten, der die Zuverlässigkeit von RAG-Antworten anhand von drei komplementären Analysekomponenten bewertet:

  • NLI-Verifizierer – Faktische Konsistenzprüfung mittels Natural Language Inference (BART-MNLI)
  • Giftdetektor – Mehrsignal-Erkennung adversarischer Inhalte (linguistisch, strukturell, semantisch, Intra-/Cross-Dokument-NLI)
  • Trust-Index-Rechner – Gewichteter Gesamtscore, der Faktizität, Konsistenz und Gift-Sicherheit kombiniert

Das System erzeugt für jede RAG-Antwort einen Trust Score (0-1) und ermöglicht so die automatisierte Erkennung von Wissensvergiftungsangriffen und halluzinierten Inhalten.

Dieses Repository ist das Forschungsartefakt zum ICSEA-2026-Konferenzpapier gleichen Titels. Siehe [Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/HEAD/Conference_ICSEA2026/) für die LaTeX-Quellen sowie den Abschnitt Paper weiter unten.

Architektur

root@kitploit:~
User Query
    |
    v
+-------------------+
|     RETRIEVER     |   Embedding (MiniLM-L6-v2 or Snowflake Arctic Embed2) + FAISS
+--------+----------+
         |
         v
+-------------------+
|     GENERATOR     |   Llama 3.3 70B / Qwen 3.5 35B / Mistral 7B Instruct via FARMI API
+--------+----------+
         |
         v
+--------------------------------------------+
|           EVALUATION AGENT                 |
|                                            |
|  NLI Verifier    Poison Detector           |
|  (factuality)    (5 detection methods)     |
|       |                |                   |
|       v                v                   |
|     Trust Index Calculator                 |
|     T = 0.4*F + 0.35*C + 0.25*(1-P)       |
+--------------------------------------------+
         |
         v
   Answer + Trust Score + Evaluation Report

Projektstruktur

root@kitploit:~
src/
  retriever/              # Dokumentabruf (Embeddings, FAISS, Chunking)
  generator/              # LLM-Antwortgenerierung (FARMI-Client, Prompts)
  evaluation_agent/       # Kernbewertung (NLI, Gift-Erkennung, Trust Index)
  experiments/            # Experimentierframework (vergiftete Datensätze, Runner)
  pipeline/               # End-to-End-RAG-Pipeline-Orchestrierung

tests/                    # Unit-Tests (78 Tests, pytest)
configs/config.yaml       # Alle Konfigurationsparameter
figures/                  # Automatisch generierte Diagramme (7 Abbildungen, 300 DPI)
run_experiment.py         # Experiment-CLI (Haupteinstiegspunkt)
generate_charts.py        # Visualisierungsgenerator
requirements.txt          # Python-Abhängigkeiten

Einrichtung

root@kitploit:~
# Virtuelle Umgebung erstellen und aktivieren
python -m venv venv
.\venv\Scripts\Activate.ps1    # Windows PowerShell
# source venv/bin/activate     # Linux/Mac

# Abhängigkeiten installieren
pip install -r requirements.txt

# FARMI-API-Zugriff konfigurieren (für LLM-Generierung erforderlich)
# Vorlage kopieren und eigene Zugangsdaten eintragen:
#   cp .env.example .env       # dann .env bearbeiten und FARMI_API_KEY setzen
# Die .env-Datei ist .gitignored – niemals committen oder Schlüssel im Quellcode hartkodieren.

Verwendung

Vollständige Experiment-Suite ausführen

root@kitploit:~
python run_experiment.py --all

Dies führt alle Experimente aus und generiert automatisch Diagramme:

  • TruthfulQA-Hauptexperiment (100 Stichproben, gemischte Vergiftung)
  • Experimente pro Strategie (je 100 Stichproben: Injektion, Widerspruch, Entitätentausch, subtil)
  • FEVER-Datensatzexperiment (100 Stichproben)
  • Ablationsstudie (5 Gewichtskonfigurationen, je 60 Stichproben)

Weitere Experimentoptionen

root@kitploit:~
python run_experiment.py --quick          # Schnelltest (10 Stichproben)
python run_experiment.py --samples 30     # Benutzerdefinierte Stichprobenanzahl
python run_experiment.py --per-strategy   # Nur Aufschlüsselung nach Strategie
python run_experiment.py --fever          # FEVER-Datensatz einbeziehen
python run_experiment.py --ablation       # Nur Ablationsstudie
python run_experiment.py --grid           # 2x2-faktorielles Raster (alle LLM-x-Embedding-Kombinationen)
python run_experiment.py --grid --samples 50  # Vollständiger Rasterlauf (100 Stichproben pro Konfiguration)

Über die interaktive Eingabeaufforderung können Sie Folgendes auswählen:

  • LLM: Llama 3.3 70B (primär), Qwen 3.5 35B oder Mistral 7B Instruct (Vergleich)
  • Embedding: all-MiniLM-L6-v2 (lokal) oder snowflake-arctic-embed2 (API)
  • K: Abruftiefe – K=3 (schneller) oder K=5 (Standard, Voreinstellung)

Sie können den Generator auch nicht-interaktiv über die Umgebungsvariable LLM_MODEL festlegen (übereinstimmend mit configs/config.yaml und MODEL_DESCRIPTIONS in run_experiment.py):

root@kitploit:~
$env:LLM_MODEL = "mistral-7b-instruct"   # oder "qwen3.5:35b", "llama3.3:70b"
python run_experiment.py --all

Use Case für sicheres Codieren im SDLC

Reproduzieren Sie das Experiment des Assistenten für sichere Codierung (40 OWASP/CWE-Regeln) aus dem Projektstammverzeichnis. Es verwendet den vorhandenen ExperimentRunner + PoisonedDatasetGenerator erneut und schreibt Ergebnisse nach data/experiments/seccode_*.json:

root@kitploit:~
$env:LLM_MODEL = "llama3.3:70b"; $env:HF_HUB_OFFLINE = "1"; $env:TRANSFORMERS_OFFLINE = "1"
python Conference_ICSEA2026/run_seccode_usecase.py
# Setzen Sie zuerst $env:SECCODE_N = "4" für einen schnellen Smoke-Test über einige Regeln.

Nur Diagramme neu generieren

root@kitploit:~
python generate_charts.py

Tests ausführen

root@kitploit:~
pytest                    # Alle Tests (inklusive langsamer Modell-Lade-Tests)
pytest -m "not slow"      # Nur schnelle Tests (~0.4s)
pytest --cov=src          # Mit Coverage-Bericht

Kernergebnisse

Primärergebnisse (Llama 3.3 70B + all-MiniLM-L6-v2, TruthfulQA, K=5, 100 Stichproben)

Naive Baseline, die immer vertraut: 85% (TruthfulQA), 85% (FEVER). FEVER schneidet schlechter ab als die Baseline – der Trust Index erfordert eine domänenspezifische Kalibrierung für kurze faktische Behauptungen.

Mit 95-%-Konfidenzintervallen (Wilson für Anteile, Perzentil-Bootstrap B=20,000 für F1) lautet das primäre TruthfulQA-Mischergebnis: Genauigkeit 91 % (CI 83.8–95.2), Recall 40 % (CI 19.8–64.3), F1 57.1 % (CI 25.0–80.0), Δ=0.225. Die Intervalle sind breit, da jeder Lauf nur 15 vergiftete Stichproben enthält; wir berichten sie, um die Präzision nicht zu überschätzen.

Erkennung pro Strategie (TruthfulQA, je 100 Stichproben)

2×2-Faktorielles Raster (K=3, TruthfulQA, 100 Stichproben)

Wichtigste Erkenntnisse:

  • Embedding-Invarianz bei Llama: Beide Embedding-Modelle liefern identische Erkennungsergebnisse – der Trust Index wird vom LLM bestimmt, nicht vom Retrieval
  • Problem des Qwen-Generierungsstils: Wortreiche/abgesicherte Ausgaben reduzieren das NLI-Entailment bei sauberen Stichproben → 71 % Genauigkeit, 14 Prozentpunkte unter der naiven Baseline von 85 %
  • Nullergebnis zur K-Sensitivität: K=5 erzeugt bei Llama 3.3 70B die gleiche Erkennungsleistung wie K=3 – die Trennung der Trust Scores ändert sich nur um 0.015; die Erkennung wird durch die Schwierigkeit der Angriffsstrategie begrenzt, nicht durch die Abruftiefe

Use Case für sicheres Codieren im SDLC (OWASP/CWE)

Eine Software-Engineering-Anwendung des Agenten: ein Assistent für sichere Codierung, der aus einer kuratierten Wissensbasis von 40 Regeln aus dem OWASP Top 10 und CWE abruft (z. B. parametrisierte Abfragen gegen SQL-Injection, adaptives Passwort-Hashing, TLS-Konfiguration). Eine Entwicklerabfrage ruft Empfehlungen ab, die der Evaluierungsagent prüft, bevor das LLM eine Empfehlung ausgibt. Wir vergiften 30 % der Regeln mit den fünf Strategien als Sicherheits-Payloads (z. B. eine unechte CORRECTION:-Direktive, eine vertauschte CWE-Kennung).

Erkennung nach Strategie (Llama 3.3 70B + all-MiniLM-L6-v2, K=5):

  • Injektion wird nahezu perfekt blockiert (F1 92.3%, Δ=0.54): Der Agent fängt offene Versuche, unsichere Empfehlungen einzuschleusen (z. B. Deaktivierung der Eingabevalidierung), zuverlässig ab, bevor sie den Entwickler erreichen.
  • Entitätentausch erreicht 58 % Recall (gegenüber 0 % im Open-Domain-TruthfulQA): Die Veränderung einer strukturierten CWE-Kennung erzeugt dokumentübergreifende Inkonsistenzen, die die NLI-Signale erkennen können.
  • Widerspruch und subtile Manipulation entgehen weiterhin der Erkennung (0 % Recall): Eine stillschweigend abgeschwächte Empfehlung trägt kein Oberflächenartefakt und besteht die Prüfung – der gefährliche, schwer sichtbare Fall in einem Sicherheitsworkflow.

Drei-LLM-Vergleich & Schwellenwert-Unabhängigkeit

Über den Arbeitspunkt τ=0.5 hinaus liefert der Trust Index über drei LLMs hinweg ein starkes, schwellenwertunabhängiges Signal (gepoolte Läufe mit gemischter Strategie):

  • Generierungsstil > Modellgröße: Mistral 7B übertrifft Qwen 3.5 35B, obwohl es ~5× kleiner ist – Qwens abgesicherte, wortreiche Antworten senken das NLI-Entailment.
  • τ ist ein LLM-spezifischer Hyperparameter: Die drei Modelle benötigen drei verschiedene optimale Schwellenwerte (0.71 / 0.58 / 0.43). Die Kalibrierung von τ anhand von Scores ausschließlich sauberer Stichproben verbessert Qwen von 65.5% auf 74.5% Genauigkeit, indem falsch-positive Ergebnisse reduziert werden.
  • Alle drei liegen deutlich über dem Zufallsniveau (ROC-AUC > 0.70), daher ist Qwens schwache Genauigkeit bei τ=0.5 ein Schwellenwert-Artefakt, kein fehlendes Signal.

Stabilität & Overhead

  • Geringe Lauf-zu-Lauf-Varianz: Über 5 unabhängige Wiederholungen erzielt die gemischte Konfiguration 90.6 ± 0.5 % Genauigkeit und 56.1 ± 1.3 % F1; Injektion ist invariant bei 99.0 ± 0.0 %. Die Bewertungen werden durch die abgerufenen Belege bestimmt, nicht durch die Formulierung einer einzelnen Generierung.
  • Overhead: Die Evaluierung benötigt zusätzlich ≈14.7 s/Stichprobe (≈17× gegenüber Baseline-RAG), dominiert von bis zu 20 CPU-NLI-Durchläufen bei K=5. Dies eignet sich für Stapel- bzw. asynchrone Nutzung (z. B. ein Code-Review-/CI-Gate); GPU-Inferenz soll dies voraussichtlich auf unter 2 s senken.

Tech-Stack

  • LLMs: Llama 3.3 70B (primär), Qwen 3.5 35B und Mistral 7B Instruct (Vergleich) – FARMI-Cluster, Tampere University
  • NLI-Modell: facebook/bart-large-mnli
  • Embeddings: all-MiniLM-L6-v2 (384-dim), snowflake-arctic-embed2 (1024-dim)
  • Vektor-Store: FAISS (CPU)
  • Datensätze: TruthfulQA, FEVER (HuggingFace) sowie eine Wissensbasis für sicheres Codieren mit 40 kuratierten OWASP-Top-10-/CWE-Regeln
  • Framework: Python 3.10+, PyTorch, Transformers, LangChain

Trust-Index-Formel

root@kitploit:~
Trust = alpha * Factuality + beta * Consistency + gamma * (1 - PoisonProbability)

Standardgewichtung: alpha=0.4, beta=0.35, gamma=0.25

Ein nichtlinearer Dämpfer greift, wenn die Giftwahrscheinlichkeit 0.7 überschreitet: delta = 1 - 0.4 * (P - 0.70) / 0.30 – bei P=1.0 wird das Vertrauen um 40% reduziert.

Beiträge

  • Ein autonomer Evaluierungsagent, der als defensive Middleware innerhalb der RAG-Inferenzschleife arbeitet
  • Ein Fünf-Signal-Giftdetektor mit relevanzgewichteter Aggregation (linguistisch, strukturell, Intra-/Cross-Dokument-NLI, semantische Ausreißer)
  • Ein zusammengesetzter Trust Index mit nichtlinearem Dämpfer für stark kontaminierte Kontexte
  • Charakterisierung einer Erkennungshierarchie pro Strategie (Injektion gelöst → Entitätentausch unerkannt)
  • Belege, dass der Generierungsstil mehr zählt als die Modellgröße, sowie eine Methode zur Schwellenwertkalibrierung pro LLM
  • Ein Software-Engineering-Use Case für sicheres Codieren (OWASP/CWE) im SDLC
  • Ein reproduzierbares Framework, einen Angriffsgenerator und eine Experiment-Veröffentlichung

Paper

  • Konferenzpapier – Trustworthy RAG: An Evaluation Agent for Detecting Misinformation and Knowledge Poisoning in Generative AI Systems, ICSEA 2026. LaTeX-Quellen in [Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/HEAD/Conference_ICSEA2026/).

Das kompilierte PDF ist bewusst nicht in dieser Veröffentlichung enthalten; es kann aus den LaTeX-Quellen erstellt werden.

Autoren & Kontakt

Autoren des ICSEA-2026-Konferenzpapiers – Tampere University (TUNI).

Balkrishna Giri, MSc-Forscher, Fakultät für Informationstechnologie und Kommunikationswissenschaften, Tampere University
E-Mail: [email protected], [email protected]

Md Toufique Hasan, Doktorand, GPT Lab, Fakultät für Informationstechnologie und Kommunikationswissenschaften, Tampere University
E-Mail: [email protected]

Koautoren – Fakultät für Informationstechnologie und Kommunikationswissenschaften, Tampere University:

  • Dr. Jussi Rasku – [email protected]
  • Dr. Muhammad Waseem – [email protected]
  • Professor Dr. Pekka Abrahamsson – [email protected]

Entwickelt am GPT Lab, Tampere University.

Tool herunterladen
DatensatzGenauigkeitPräzisionRecallF1-Scorevs. Baseline
TruthfulQA (gemischt)91%100%40%57.1%+7%
FEVER (vollständiger Lauf)73%20%26.7%22.9%−12%
StrategieGenauigkeitPräzisionRecallF1Trennung
Injektion99%93.8%100%96.8%0.498
Widerspruch92%88.9%53.3%66.7%0.311
Subtil88%100%20.0%33.3%0.149
Entitätentausch85%—0%0%0.053
LLMEmbeddingGenauigkeitPräzisionRecallF1Clean TrustTrennung
Llama 3.3 70Ball-MiniLM-L6-v291%100%40%57.1%0.8300.240
Llama 3.3 70Bsnowflake-arctic-embed291%100%40%57.1%0.7990.188
Qwen 3.5 35Ball-MiniLM-L6-v271%25.0%46.7%32.6%0.6330.161
Qwen 3.5 35Bsnowflake-arctic-embed271%28.1%60.0%38.3%0.6530.199
StrategieAccPrecRecallF1Δ
Anweisungsinjektion97.5%85.7%100.0%92.3%0.542
Widerspruch85.0%—0.0%0.0%0.156
Subtile Manipulation85.0%—0.0%0.0%0.066
Entitätentausch72.5%29.2%58.3%38.9%0.291
Gemischt86.2%100.0%8.3%15.4%0.163
LLMGenauigkeit (τ=0.5)ROC-AUCOptimales τ*
Llama 3.3 70B91%0.810.71
Mistral 7B Instruct87%0.790.58
Qwen 3.5 35B69–71%0.730.43
VertrauensstufeScore-BereichBedeutung
HIGH> 0.8Zuverlässig
MEDIUM0.5 - 0.8Bei Wichtigkeit überprüfen
LOW0.3 - 0.5Weist wahrscheinlich Probleme auf
VERY_LOW< 0.3Nicht vertrauen