Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
TrustworthyRAG — Un agente di valutazione per rilevare disinformazione e avvelenamento della conoscenza nei sistemi di generazione aumentata da recupero. | Kitploit
Strumenti/GitHubGitHub/gpt-laboratory/trustworthyrag
Analisi del CodiceMachine LearningPaper e RicercaSicurezza dell'IARilevamento di Anomalie
GitHubgpt-laboratory/trustworthyrag

TrustworthyRAG

Un agente di valutazione per rilevare disinformazione e avvelenamento della conoscenza nei sistemi di generazione aumentata da recupero.

Vedi Repository
703 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

RAG Affidabile

Un agente di valutazione per il rilevamento di disinformazione e avvelenamento della conoscenza nei sistemi di generazione aumentata da recupero.

Panoramica

Questo progetto implementa un framework RAG affidabile con un Evaluation Agent integrato che valuta l'affidabilità delle risposte RAG utilizzando tre componenti di analisi complementari:

  • NLI Verifier - Verifica della coerenza fattuale tramite inferenza in linguaggio naturale (BART-MNLI)
  • Poison Detector - Rilevamento di contenuti avversari multi-segnale (linguistico, strutturale, semantico, NLI intra/cross-documento)
  • Trust Index Calculator - Punteggio composito ponderato che combina fattualità, coerenza e sicurezza contro l'avvelenamento

Il sistema produce un Trust Score (0-1) per ogni risposta RAG, consentendo il rilevamento automatico di attacchi di avvelenamento della conoscenza e contenuti allucinati.

Questo repository è l'artefatto di ricerca per l'articolo della conferenza ICSEA 2026 con lo stesso titolo. Consulta [Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/main/Conference_ICSEA2026) per le fonti LaTeX e la sezione Paper di seguito.

Architettura

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

Struttura del Progetto

src/
  retriever/              # Document retrieval (embeddings, FAISS, chunking)
  generator/              # LLM response generation (FARMI client, prompts)
  evaluation_agent/       # Core evaluation (NLI, poison detection, trust index)
  experiments/            # Experiment framework (poisoned datasets, runner)
  pipeline/               # End-to-end RAG pipeline orchestrator

tests/                    # Unit tests (78 tests, pytest)
configs/config.yaml       # All configuration parameters
figures/                  # Auto-generated charts (7 figures, 300 DPI)
run_experiment.py         # Experiment CLI (main entry point)
generate_charts.py        # Visualization generator
requirements.txt          # Python dependencies

Configurazione

# Create and activate virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1    # Windows PowerShell
# source venv/bin/activate     # Linux/Mac

# Install dependencies
pip install -r requirements.txt

# Configure FARMI API access (required for LLM generation)
# Copy the template and fill in your own credentials:
#   cp .env.example .env       # then edit .env and set FARMI_API_KEY
# The .env file is .gitignored - never commit it or hardcode keys in source.

Utilizzo

Esegui la Suite Completa di Esperimenti

python run_experiment.py --all

Questo esegue tutti gli esperimenti e genera automaticamente i grafici:

  • Esperimento principale TruthfulQA (100 campioni, avvelenamento misto)
  • Esperimenti per strategia (100 campioni ciascuno: iniezione, contraddizione, scambio di entità, sottile)
  • Esperimento sul dataset FEVER (100 campioni)
  • Studio di ablazione (5 configurazioni di pesi, 60 campioni ciascuno)

Altre Opzioni degli Esperimenti

python run_experiment.py --quick          # Quick test (10 samples)
python run_experiment.py --samples 30     # Custom sample count
python run_experiment.py --per-strategy   # Per-strategy breakdown only
python run_experiment.py --fever          # Include FEVER dataset
python run_experiment.py --ablation       # Ablation study only
python run_experiment.py --grid           # 2x2 factorial grid (all LLM x embedding combos)
python run_experiment.py --grid --samples 50  # Full grid run (100 samples per config)

Il prompt interattivo consente di selezionare:

  • LLM: Llama 3.3 70B (principale), Qwen 3.5 35B o Mistral 7B Instruct (confronto)
  • Embedding: all-MiniLM-L6-v2 (locale) o snowflake-arctic-embed2 (API)
  • K: Profondità di recupero — K=3 (più veloce) o K=5 (standard, predefinito)

Puoi anche fissare il generatore in modalità non interattiva tramite la variabile d'ambiente LLM_MODEL (corrispondente a configs/config.yaml e ai MODEL_DESCRIPTIONS di run_experiment.py):

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

Caso d'Uso Secure-Coding nell'SDLC

Riproduci l'esperimento dell'assistente di secure coding (40 regole OWASP/CWE) dalla radice del progetto. Riutilizza i componenti esistenti ExperimentRunner + PoisonedDatasetGenerator e scrive i risultati in data/experiments/seccode_*.json:

$env:LLM_MODEL = "llama3.3:70b"; $env:HF_HUB_OFFLINE = "1"; $env:TRANSFORMERS_OFFLINE = "1"
python Conference_ICSEA2026/run_seccode_usecase.py
# Set $env:SECCODE_N = "4" first for a quick smoke run over a few rules.

Rigenera Solo i Grafici

python generate_charts.py

Esegui i Test

pytest                    # All tests (includes slow model-loading tests)
pytest -m "not slow"      # Fast tests only (~0.4s)
pytest --cov=src          # With coverage report

Risultati Principali

Risultati Principali (Llama 3.3 70B + all-MiniLM-L6-v2, TruthfulQA, K=5, 100 campioni)

DatasetAccuratezzaPrecisioneRecallF1 Scorevs. Baseline
TruthfulQA (mixed)91%100%40%57.1%+7%
FEVER (full run)73%20%26.7%22.9%−12%

Baseline naive di fiducia incondizionata: 85% (TruthfulQA), 85% (FEVER). FEVER ottiene prestazioni inferiori alla baseline — il Trust Index richiede una calibrazione specifica del dominio per affermazioni fattuali brevi.

Con intervalli di confidenza al 95% (Wilson per le proporzioni, bootstrap percentile B=20.000 per l'F1), il risultato misto principale di TruthfulQA è: accuratezza 91% (IC 83.8–95.2), recall 40% (IC 19.8–64.3), F1 57.1% (IC 25.0–80.0), Δ=0.225. Gli intervalli sono ampi perché ogni esecuzione ha solo 15 campioni avvelenati, quindi li riportiamo per evitare di sovrastimare la precisione.

Rilevamento per Strategia (TruthfulQA, 100 campioni ciascuno)

StrategiaAccuratezzaPrecisioneRecallF1Separazione
Iniezione99%93.8%100%96.8%0.498
Contraddizione92%88.9%53.3%66.7%0.311
Sottile88%100%20.0%33.3%0.149
Scambio di entità85%—0%0%0.053

Griglia Fattoriale 2×2 (K=3, TruthfulQA, 100 campioni)

Scarica lo strumento