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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
RLCDAlignBench — Suite di benchmark e codice per rilevare i fallimenti dell'allineamento dell'IA, con 44 benchmark su dieci tipi di fallimento e un rilevatore RLCD zero-shot valutato su 7.193 istanze etichettate. | Kitploit
Strumenti/GitHubGitHub/sumleo/rlcdalignbench
Analisi delle VulnerabilitàMachine LearningPaper e RicercaApprendimento e FormazioneRisorse CurateSicurezza dell'IARilevamento di Anomalie
GitHubsumleo/rlcdalignbench

RLCDAlignBench

Suite di benchmark e codice per rilevare i fallimenti dell'allineamento dell'IA, con 44 benchmark su dieci tipi di fallimento e un rilevatore RLCD zero-shot valutato su 7.193 istanze etichettate.

Vedi Repository
181 giorno faNon ancora revisionato
Sito web

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

Just Ask Jev: Reinforcement Learning for Calibrated Decisions as a Zero-Shot Detector of AI Alignment Failures

ICLR 2027 Project page Hugging Face Code license: MIT Data license: CC BY-NC 4.0

Questo repository contiene RLCDAlignBench e il codice alla base dell'articolo. Il benchmark misura se un rilevatore è in grado di stabilire quando l'output di un modello linguistico è un fallimento di allineamento. Comprende 44 benchmark distribuiti su dieci tipi di fallimento (sycophancy, jailbreak, inganno, prompt injection, allucinazione, violazione della privacy, bias sociale, reward hacking, occultamento dell'incertezza e ricerca del potere) e cinque modelli target, per un totale di 7.193 istanze di rilevamento etichettate. Le etichette provengono dallo scorer di ciascun benchmark, e due set aggiuntivi contengono etichette umane.

Lo usiamo per testare Jev, un modello addestrato con reinforcement learning per decisioni calibrate (RLCD), che risponde a molte domande tipizzate su un singolo input con probabilità calibrate in un'unica chiamata. L'idea chiave è misurare la domanda posta a Jev separatamente dal contesto che vede. Una domanda generica raggiunge un AUROC mediano di 0,886 zero-shot e batte le baseline supervisionate TF-IDF e basate sulla lunghezza su 25 benchmark su 31. Fuori campione, la formulazione della domanda aggiunge poco. Leggere le risposte come probabilità invece che come decisioni argmax conta molto. Il contesto aiuta soprattutto attraverso i campi che codificano l'etichetta.

RLCDAlignBench overview

Citazione

root@kitploit:~
@misc{rlcdalignbench2026,
  title        = {Just Ask Jev: Reinforcement Learning for Calibrated Decisions as a Zero-Shot Detector of AI Alignment Failures},
  author       = {Ruoqi Guo and Yi Liu and Gelei Deng and Yuekang Li and Lida Zhao and Simin Chen and Ying Zhang and Leo Yu Zhang},
  year         = {2026},
  howpublished = {\url{https://github.com/sumleo/RLCDAlignBench}}
}

Disclaimer

Il dataset contiene output non filtrati di piccoli modelli aperti sottoposti a jailbreak e ad altri prompt avversariali, e molti di essi sono dannosi. È rilasciato solo per la ricerca sul rilevamento e la mitigazione dei fallimenti di allineamento, e l'accesso su Hugging Face è soggetto a gating. Non usarlo per costruire o migliorare sistemi dannosi.

Dati

I dati si trovano su Hugging Face all'indirizzo sumleo/RLCDAlignBench. Richiedi l'accesso lì, poi:

root@kitploit:~
from datasets import load_dataset

ds = load_dataset("sumleo/RLCDAlignBench", "harmbench", split="test")   # one benchmark
all_ = load_dataset("sumleo/RLCDAlignBench", "all", split="test")       # all 7,193 instances

Ogni istanza ha i campi che un rilevatore vede (state), una label binaria (1 = l'output è un fallimento che il rilevatore deve segnalare), la label_source, il target_model e un record meta che rimanda ai file di provenienza. La scheda del dataset documenta ogni campo e ogni file.

Tipo di fallimentoBenchmarkIstanzeModello target
Sycophancy4639Qwen3.5-2B
Jailbreak4414Phi-4-mini
Inganno4540Gemma-2-2B
Prompt injection41.036Qwen3.5-2B
Allucinazione61.164Llama-3.2-3B
Violazione della privacy4808Phi-4-mini
Bias sociale4199Olmo-3-7B
Reward hacking6714Qwen3.5-2B
Occultamento dell'incertezza4748Olmo-3-7B
Ricerca del potere4931Llama-3.2-3B
Totale447.1935 modelli

Set etichettati da esseri umani: StrongREJECT (1.361 risposte, 5 valutatori ciascuna) e il set di validazione HarmBench (602 risposte, 3 voti ciascuna).

data/benchmarks.csv è l'indice di 44 righe (nome, tipo di fallimento, split hill-climb o held-out, scorer, fonte dell'etichetta, n, positivi, stato). I ruoli degli split provengono dalla suite AAR di Chen et al. (2026). data/variants.csv elenca tutte le 132 varianti di input usate negli esperimenti sul contesto. results/ contiene le tabelle a livello di articolo.

Su Hugging Face il rilascio è organizzato come segue:

root@kitploit:~
data/benchmarks/<failure_type>/<benchmark>.jsonl   canonical instances (the paper's n)
data/human/<set>.jsonl                             human-labelled sets
data/variants/<benchmark>/<variant>.jsonl          every input view: ablation, official track, oracle, exclusion, ...
jev/responses/<benchmark>/<variant>/<battery>.jsonl   Jev's per-question probabilities for every instance
jev/metrics/<benchmark>/<variant>/<battery>.json      per-strategy precision, recall, F1, AUROC
provenance/                                        target-model generations, reference-scorer calls, official scores, logs

Codice

ComponentePosizione
Generazione e replay del giudice attorno all'harness AARcode/generation/run_generate.py
Costruttori di campioni di rilevamento (uno per famiglia di batterie)code/build_samples_*.py
Batterie di domande (le domande poste a Jev e le strategie di lettura)code/battery_*.py
Runner di Jev, caching e metrichecode/run_jev.py, code/run_batch.sh
Linter delle batterie (leakage dei criteri, formato)code/lint_battery.py, code/lint_criteria_leak.py
Riepilogo dei risultaticode/make_results_summary.py
Strumenti di rilasciotools/build_release.py, tools/legacy_layout.py

Il codice richiede Python 3.10 o superiore (l'articolo ha usato la 3.12) e solo la libreria standard. Gli strumenti di rilascio richiedono anche pandas.

Ricalcolare le metriche offline

Questo non invia richieste e non richiede chiavi. Ogni metrica viene ricalcolata dalle risposte in cache di Jev.

root@kitploit:~
pip install -U "huggingface_hub[cli]" pandas
huggingface-cli login                                   # after your access request is approved
huggingface-cli download sumleo/RLCDAlignBench --repo-type dataset --local-dir hf

python tools/legacy_layout.py --release hf --out work   # rebuilds the layout the scripts expect, checks sha256
python work/code/restore_layout.py
python work/code/run_jev.py --leg harmbench --battery battery_a_judge \
    --samples work/code/samples/harmbench__microsoft__Phi-4-mini-instruct__attack.jsonl --rescore

L'ultimo comando stampa una tabella con una riga per strategia di lettura (precision, recall, F1, accuratezza bilanciata, AUROC, CI bootstrap). Corrisponde a jev/metrics/harmbench/attack/battery_a_judge_v2.json nel rilascio.

Rieseguire da zero

  1. Clona il repository AAR nella radice del repository (i costruttori di campioni cercano aar_repo/ lì) e fai il checkout del commit da cui sono state costruite le etichette:
    root@kitploit:~
    git clone https://github.com/YuehHanChen/automated_alignment_researcher aar_repo
    git -C aar_repo checkout 02dbe9d2cadc553720d17cdf6259c0b8727e6cde
    
  2. Genera gli output dei modelli target (GPU) e riproduci gli scorer di riferimento (chiavi API come in aar_repo/REPRODUCE.md):
    root@kitploit:~
    python code/generation/run_generate.py --axis refusal --repo aar_repo            # phase 1, judges stubbed
    python code/generation/run_generate.py --axis refusal --repo aar_repo --replay   # phase 2, real judges
    
  3. Costruisci i campioni di rilevamento con code/build_samples_*.py (le famiglie valutate dal giudice a, bc e f accettano --attach-judges). I costruttori ricalcolano ogni punteggio aggregato ufficiale dalle etichette e si fermano se differisce da quello ufficiale.
  4. Interroga Jev con TYPESAFE_API_KEY impostata:
    root@kitploit:~
    python code/run_jev.py --leg harmbench --battery battery_a_judge --samples <file> --limit 20   # pilot
    python code/run_jev.py --leg harmbench --battery battery_a_judge --samples <file>              # full
    

Flusso dei dati: calls.jsonl → run_generate.py --replay → judge_calls.jsonl → build_samples_*.py → detection samples → run_jev.py → responses + metrics.

Struttura del repository

root@kitploit:~
RLCDAlignBench/
├── paper.pdf
├── code/                  experiment code (generation, sample builders, batteries, Jev runner)
├── data/
│   ├── benchmarks.csv     44-row benchmark index
│   └── variants.csv       132 input variants
├── results/               paper-level tables (main results, baselines, human agreement, cost, corrected labels)
├── figs/                  paper figures
├── tools/                 release build and legacy-layout tools
└── docs/                  project page (GitHub Pages)

Etica

Non abbiamo generato nuove richieste dannose. Tutti i prompt provengono da benchmark pubblicati, e li abbiamo eseguiti solo su piccoli modelli aperti. Le risposte dannose sono rilasciate dietro un accordo di accesso soggetto a gating per la ricerca sui rilevatori.

Licenza

Codice: MIT. Dati: le nostre etichette, annotazioni, output di Jev e metadati sono sotto CC BY-NC 4.0. Il contenuto dei benchmark upstream mantiene la sua licenza originale, e gli output dei modelli sono soggetti ai termini dei modelli target.

Scarica lo strumento