Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
redeval — [ICLR 2026] - Repository ufficiale del paper: "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models" | Kitploit
Strumenti/GitHubGitHub/knoveleng/redeval
Paper e RicercaApprendimento e FormazioneRisorse CurateSicurezza dell'IAAttacco Avversario
GitHubknoveleng/redeval

redeval

[ICLR 2026] - Repository ufficiale del paper: "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models"

Vedi Repository
2945 mesi faRevisionato da Kitploit

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
Sito web

RedEval - Framework di Valutazione della Sicurezza per LLM

Python 3.8+ License: MIT Dataset on HF

Un framework completo per valutare la sicurezza dei Large Language Model (LLM) attraverso test sistematici di attacco e rifiuto. RedEval fornisce una piattaforma unificata, sicura ed estensibile per valutare la robustezza degli LLM contro prompt avversari e contenuti dannosi. Fa parte dell'articolo "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models", un dataset universale per il red teaming completo degli LLM.

📦 Dataset: Il dataset RedBench è disponibile pubblicamente su HuggingFace all'indirizzo knoveleng/redbench. Include prompt di red teaming completi in molteplici categorie e domini di sicurezza.

🚀 Avvio Rapido

1. Configurazione dell'Ambiente

root@kitploit:~
# Clona il repository
git clone https://github.com/knoveleng/redeval.git
cd redeval

# Installa le dipendenze
pip install -r requirements.txt

# Copia e configura le variabili d'ambiente
cp .env.template .env
# Modifica .env con le tue chiavi API

2. Configurazione delle Chiavi API

Modifica il file .env con le tue credenziali:

root@kitploit:~
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here

3. Esecuzione della Valutazione

root@kitploit:~
# Configura l'ambiente
source ./sh/setup_env.sh

# Esegui con i modelli predefiniti, puoi modificare .env per definire i modelli che vuoi eseguire
python -m redeval.cli run-pipeline

# Esegui la pipeline completa con modelli specifici
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# Oppure esegui le singole fasi
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh

📋 Indice

  • Panoramica
  • Architettura
  • Installazione
  • Configurazione
  • Utilizzo
  • Funzionalità di Sicurezza
  • Riferimento API
  • Contributi
  • Licenza

🎯 Panoramica

RedEval valuta la sicurezza degli LLM attraverso due approcci complementari:

🔴 Fase di Attacco

Verifica la vulnerabilità degli LLM a prompt avversari utilizzando varie tecniche di jailbreak:

  • Attacchi diretti: Prompt dannosi semplici
  • Jailbreak umani: Tecniche di bypass create da esseri umani
  • Attacchi zero-shot: Generazione automatizzata di prompt avversari

🛡️ Fase di Rifiuto

Valuta la capacità degli LLM di rifiutare in modo appropriato richieste dannose attraverso molteplici dataset di sicurezza:

  • CoCoNot: Moderazione dei contenuti sensibile al contesto
  • SGXSTest: Esame delle linee guida di sicurezza
  • XSTest: Test di sicurezza cross-domain
  • ORBench: Benchmark oggettivo sul rifiuto

📊 Punteggio

Calcola metriche di sicurezza complete combinando le prestazioni sia di attacco che di rifiuto.

🏗️ Architettura

Componenti Principali

root@kitploit:~
redeval/
├── redeval/                 # Moduli Python principali
│   ├── config.py           # Gestione ambiente e configurazione
│   ├── pipeline.py         # Orchestratore centralizzato della pipeline
│   ├── cli.py              # Interfaccia a riga di comando unificata
│   ├── exceptions.py       # Gestione personalizzata delle eccezioni
│   ├── generate_attack.py  # Generazione dei prompt di attacco
│   ├── run_attack.py       # Esecuzione degli attacchi
│   ├── eval_attack.py      # Valutazione degli attacchi
│   ├── run_refuse.py       # Test di rifiuto
│   ├── eval_refuse.py      # Valutazione del rifiuto
│   └── score.py            # Calcolo delle metriche
├── sh/                     # Interfacce script di shell
│   ├── setup_env.sh        # Configurazione dell'ambiente
│   ├── generate_attack.sh  # Script di generazione degli attacchi
│   ├── run_attack.sh       # Script di esecuzione degli attacchi
│   ├── eval_attack.sh      # Script di valutazione degli attacchi
│   ├── run_refuse.sh       # Script di test del rifiuto
│   ├── eval_refuse.sh      # Script di valutazione del rifiuto
│   └── score.sh            # Script di punteggio
├── recipes/                # File di configurazione
├── logs/                   # Risultati della valutazione
└── .env                    # Variabili d'ambiente

Pipeline di Valutazione

root@kitploit:~
graph TD
    A[Generate Attack Prompts] --> B[Run Attack Tests]
    B --> C[Evaluate Attack Results]
    D[Run Refuse Tests] --> E[Evaluate Refuse Results]
    C --> F[Calculate Final Scores]
    E --> F
    F --> G[Generate Reports]

🛠️ Installazione

Prerequisiti

  • Python 3.8 o superiore
  • Chiave API OpenAI
  • Token HuggingFace
  • Git

Installazione Passo per Passo

  1. Clona il Repository

    root@kitploit:~
    git clone <repository-url>
    cd redeval
    
  2. Installa le Dipendenze

    root@kitploit:~
    pip install -r requirements.txt
    
  3. Configura l'Ambiente

    root@kitploit:~
    cp .env.template .env
    # Modifica .env con le tue credenziali API
    
  4. Verifica l'Installazione

    root@kitploit:~
    python -m redeval.cli --help
    

⚙️ Configurazione

Variabili d'Ambiente

RedEval utilizza variabili d'ambiente per una configurazione sicura e flessibile:

Variabili Obbligatorie

VariabileDescrizioneEsempio
OPENAI_API_KEYChiave API OpenAIsk-proj-...
HUGGINGFACE_TOKENToken HuggingFacehf_...

Configurazione Opzionale

Configurazione dei Modelli

VariabileDescrizionePredefinito
REDEVAL_OPEN_SOURCE_MODELSElenco modelli open-source"Qwen/Qwen2.5-7B-Instruct"
REDEVAL_CLOSED_SOURCE_MODELSElenco modelli closed-source"gpt-4o-mini"

File di Configurazione

I file di configurazione nella directory recipes/ controllano i parametri di valutazione:

  • attack/base-open.yml - Configurazione attacco per modelli open-source
  • attack/base-close.yml - Configurazione attacco per modelli closed-source
  • attack/eval.yml - Configurazione valutazione attacchi
  • refuse/base-open.yml - Configurazione rifiuto per modelli open-source
  • refuse/base-close.yml - Configurazione rifiuto per modelli closed-source
  • refuse/eval.yml - Configurazione valutazione del rifiuto

🚀 Utilizzo

Interfaccia a Riga di Comando

RedEval fornisce una CLI unificata per tutte le operazioni:

Pipeline Completa

root@kitploit:~
# Esegui la pipeline di valutazione completa
python -m redeval.cli run-pipeline

# Esegui con modelli specifici
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"

# Esegui solo fasi specifiche
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack

Componenti Individuali

root@kitploit:~
# Genera i prompt di attacco
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml

# Esegui la valutazione degli attacchi
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Valuta i risultati degli attacchi
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name

# Esegui i test di rifiuto
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"

# Valuta i risultati dei test di rifiuto
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name

# Calcola i punteggi
python -m redeval.cli score --log-dir ./logs/attack/HarmBench/direct/model_name --keyword "unsafe"

Interfaccia Script di Shell

Per gli utenti che preferiscono gli script di shell:

root@kitploit:~
# Configura l'ambiente (esegui prima)
source ./sh/setup_env.sh

# Esegui le fasi di valutazione
./sh/generate_attack.sh    # Genera i prompt di attacco
./sh/run_attack.sh         # Esegue gli attacchi
./sh/eval_attack.sh        # Valuta i risultati degli attacchi
./sh/run_refuse.sh         # Esegue i test di rifiuto
./sh/eval_refuse.sh        # Valuta i risultati del rifiuto
./sh/score.sh              # Calcola i punteggi finali

API Python

Per l'accesso programmatico:

root@kitploit:~
from redeval.pipeline import PipelineOrchestrator, PipelinePhase
from redeval.config import EnvironmentConfig

# Inizializza la configurazione
config = EnvironmentConfig.from_env()

# Crea l'orchestratore della pipeline
orchestrator = PipelineOrchestrator(config)

# Esegui la pipeline completa
orchestrator.run_complete_pipeline()

# Esegui fasi specifiche
orchestrator.run_phase(PipelinePhase.GENERATE_ATTACK)
orchestrator.run_phase(PipelinePhase.RUN_ATTACK)

🔒 Funzionalità di Sicurezza

✅ Gestione Sicura delle Credenziali

  • Nessuna chiave API hardcoded nel codice sorgente
  • Configurazione basata su variabili d'ambiente
  • Supporto del file .env con validazione
  • Gestione sicura dei token per l'autenticazione HuggingFace

✅ Validazione degli Input

  • Validazione delle variabili d'ambiente all'avvio
  • Validazione dei file di configurazione
  • Validazione dei nomi dei modelli e dei parametri

✅ Gestione degli Errori

  • Classi di eccezione personalizzate per diversi tipi di errore
  • Logging completo degli errori
  • Gestione graduale dei guasti

✅ Best Practice

  • Principio del privilegio minimo
  • Impostazioni predefinite sicure
  • Logging completo senza esposizione di dati sensibili

📚 Riferimento API

Comandi CLI

run-pipeline

Esegue la pipeline di valutazione completa o fasi specifiche.

Opzioni:

  • --models: Elenco dei modelli da valutare
  • --phases: Fasi specifiche da eseguire
  • --config-dir: Percorso della directory di configurazione
  • --log-dir: Directory di output per i log

generate-attack

Genera prompt di attacco avversari.

Opzioni:

  • --config: Percorso del file di configurazione
  • --num-samples: Numero di campioni da generare
  • --seed: Seme casuale per la riproducibilità

run-attack

Esegue la valutazione degli attacchi contro i modelli target.

Opzioni:

  • --config: Percorso del file di configurazione
  • --model: Nome del modello target
  • --num-samples: Numero di campioni da elaborare

eval-attack

Valuta i risultati degli attacchi utilizzando modelli giudice.

Opzioni:

  • --config: Percorso del file di configurazione
  • --log-dir: Directory contenente i log degli attacchi

run-refuse

Esegue i test sulla capacità di rifiuto.

Opzioni:

  • --config: Percorso del file di configurazione
  • --model: Nome del modello target
  • --num-samples: Numero di campioni da testare
  • --split: Suddivisione del dataset da utilizzare

eval-refuse

Valuta i risultati dei test di rifiuto.

Opzioni:

  • --config: Percorso del file di configurazione
  • --log-dir: Directory contenente i log dei test di rifiuto

score

Calcola i punteggi di sicurezza dai risultati della valutazione.

Opzioni:

  • --log-dir: Directory contenente i log di valutazione
  • --keyword: Parola chiave da cercare nei risultati

Classi API Python

PipelineOrchestrator

Gestione centralizzata della pipeline.

Metodi:

  • run_complete_pipeline(): Esegue la pipeline di valutazione completa
  • run_phase(phase): Esegue una fase specifica della pipeline
  • get_phase_status(phase): Ottiene lo stato di una fase della pipeline

EnvironmentConfig

Gestione dell'ambiente e della configurazione.

Metodi:

  • from_env(): Carica la configurazione dalle variabili d'ambiente
  • validate(): Valida la completezza della configurazione
  • setup_logging(): Configura il sistema di logging

🤝 Contributi

Configurazione di Sviluppo

  1. Fork e Clone

    root@kitploit:~
    git clone https://github.com/knoveleng/redeval.git
    cd redeval
    
  2. Crea l'Ambiente di Sviluppo

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # Su Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. Configura i Pre-commit Hook

    root@kitploit:~
    pip install pre-commit
    pre-commit install
    

Linee Guida per i Contributi

  • Sicurezza Prima di Tutto: Non committare mai chiavi API o dati sensibili
  • Variabili d'Ambiente: Utilizza variabili d'ambiente per tutta la configurazione
  • Gestione degli Errori: Aggiungi una corretta gestione degli errori con eccezioni personalizzate
  • Documentazione: Aggiorna la documentazione per le nuove funzionalità
  • Test: Aggiungi test per le nuove funzionalità
  • Compatibilità con le Versioni Precedenti: Mantieni la compatibilità con le interfacce esistenti

Stile del Codice

  • Segui PEP 8 per il codice Python
  • Utilizza type hint dove appropriato
  • Aggiungi docstring complete
  • Mantieni pattern di logging coerenti

📄 Licenza

Questo progetto è concesso in licenza sotto la Licenza MIT - consulta il file LICENSE per i dettagli.

📚 Citazione

Se trovi utile questo progetto, considera di citarlo nella tua ricerca:

root@kitploit:~
@inproceedings{
   dang2026redbench,
   title={RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models},
   author={Quy-Anh Dang and Chris Ngo and Truong-Son Hy},
   booktitle={ICLR 2026 Workshop on Principled Design for Trustworthy AI - Interpretability, Robustness, and Safety across Modalities},
   year={2026},
   url={https://openreview.net/forum?id=7pZXyk0d07}
}
Scarica lo strumento
VariabileDescrizionePredefinito
REDEVAL_PROJECT_ROOTDirectory principale del progettoDirectory corrente
REDEVAL_LOG_DIRDirectory dei log./logs
REDEVAL_RECIPES_DIRDirectory di configurazione./recipes
REDEVAL_LOG_LEVELLivello di loggingINFO
REDEVAL_NUM_SAMPLESNumero di campioni di valutazione10
REDEVAL_SEEDSeme casuale0