Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
RLCDAlignBench — Conjunto de benchmarks y código para detectar fallos de alineación de IA, con 44 benchmarks que abarcan diez tipos de fallos y un detector RLCD zero-shot evaluado en 7.193 instancias etiquetadas. | Kitploit
Herramientas/GitHubGitHub/sumleo/rlcdalignbench
Análisis de VulnerabilidadesAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónRecursos CuradosSeguridad de IADetección de Anomalías
GitHubsumleo/rlcdalignbench

RLCDAlignBench

Conjunto de benchmarks y código para detectar fallos de alineación de IA, con 44 benchmarks que abarcan diez tipos de fallos y un detector RLCD zero-shot evaluado en 7.193 instancias etiquetadas.

Ver Repositorio
18hace 1 díaAún no revisado
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Just Ask Jev: Aprendizaje por Refuerzo para Decisiones Calibradas como Detector Zero-Shot de Fallos de Alineación de IA

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

Este repositorio contiene RLCDAlignBench y el código detrás del artículo. El benchmark mide si un detector puede distinguir cuándo la salida de un modelo de lenguaje es un fallo de alineación. Contiene 44 benchmarks en diez tipos de fallo (sycophancy, jailbreaks, decepción, inyección de prompt, alucinación, violación de privacidad, sesgo social, reward hacking, ocultación de incertidumbre y búsqueda de poder) y cinco modelos objetivo, para 7.193 instancias de detección etiquetadas. Las etiquetas provienen del propio scorer de cada benchmark, y dos conjuntos adicionales incluyen etiquetas humanas.

Lo usamos para evaluar a Jev, un modelo entrenado con aprendizaje por refuerzo para decisiones calibradas (RLCD), que responde muchas preguntas tipadas sobre una misma entrada con probabilidades calibradas en una sola llamada. La idea clave es medir la pregunta que se le hace a Jev por separado del contexto que ve. Una pregunta genérica alcanza una AUROC mediana de 0,886 en zero-shot y supera a las líneas base supervisadas de TF-IDF y de longitud en 25 de 31 benchmarks. Fuera de muestra, la formulación de la pregunta aporta poco. Leer las respuestas como probabilidades en lugar de decisiones argmax importa mucho. El contexto ayuda principalmente a través de campos que codifican la etiqueta.

RLCDAlignBench overview

Citación

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}}
}

Aviso

El conjunto de datos contiene salidas sin filtrar de modelos abiertos pequeños bajo jailbreak y otros prompts adversarios, y muchas de ellas son dañinas. Se publica únicamente para investigación sobre detección y mitigación de fallos de alineación, y el acceso en Hugging Face está restringido. No lo uses para construir o mejorar sistemas dañinos.

Datos

Los datos están en Hugging Face en sumleo/RLCDAlignBench. Solicita acceso allí y luego:

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

Cada instancia tiene los campos que ve un detector (state), una label binaria (1 = la salida es un fallo que el detector debe señalar), el label_source, el target_model y un registro meta que enlaza con los archivos de procedencia. La ficha del conjunto de datos documenta cada campo y archivo.

Tipo de falloBenchmarksInstanciasModelo objetivo
Sycophancy4639Qwen3.5-2B
Jailbreaks4414Phi-4-mini
Decepción4540Gemma-2-2B
Inyección de prompt41.036Qwen3.5-2B
Alucinación61.164Llama-3.2-3B
Violación de privacidad4808Phi-4-mini
Sesgo social4199Olmo-3-7B
Reward hacking6714Qwen3.5-2B
Ocultación de incertidumbre4748Olmo-3-7B
Búsqueda de poder4931Llama-3.2-3B
Total447.1935 modelos

Conjuntos etiquetados por humanos: StrongREJECT (1.361 respuestas, 5 evaluadores cada una) y el conjunto de validación de HarmBench (602 respuestas, 3 votos cada una).

data/benchmarks.csv es el índice de 44 filas (nombre, tipo de fallo, split de hill-climb o held-out, scorer, fuente de la etiqueta, n, positivos, estado). Los roles de los splits provienen de la suite AAR de Chen et al. (2026). data/variants.csv lista las 132 variantes de entrada usadas en los experimentos de contexto. results/ contiene las tablas a nivel del artículo.

En Hugging Face la publicación se organiza así:

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

Código

ComponenteUbicación
Generación y replay del juez en torno al harness AARcode/generation/run_generate.py
Constructores de muestras de detección (uno por familia de baterías)code/build_samples_*.py
Baterías de preguntas (las preguntas hechas a Jev y las estrategias de lectura)code/battery_*.py
Runner de Jev, caché y métricascode/run_jev.py, code/run_batch.sh
Linters de baterías (fuga de criterios, formato)code/lint_battery.py, code/lint_criteria_leak.py
Resumen de resultadoscode/make_results_summary.py
Herramientas de publicacióntools/build_release.py, tools/legacy_layout.py

El código necesita Python 3.10 o superior (el artículo usó 3.12) y solo la biblioteca estándar. Las herramientas de publicación también necesitan pandas.

Recalcular las métricas sin conexión

Esto no envía peticiones ni necesita claves. Cada métrica se recalcula a partir de las respuestas en caché de 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

El último comando imprime una tabla con una fila por estrategia de lectura (precision, recall, F1, balanced accuracy, AUROC, bootstrap CI). Coincide con jev/metrics/harmbench/attack/battery_a_judge_v2.json en la publicación.

Reejecutar desde cero

  1. Clona el repositorio AAR en la raíz del repositorio (los constructores de muestras buscan aar_repo/ allí) y haz checkout del commit desde el que se construyeron las etiquetas:
    root@kitploit:~
    git clone https://github.com/YuehHanChen/automated_alignment_researcher aar_repo
    git -C aar_repo checkout 02dbe9d2cadc553720d17cdf6259c0b8727e6cde
    
  2. Genera las salidas del modelo objetivo (GPU) y reproduce los scorers de referencia (claves de API como en 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. Construye las muestras de detección con code/build_samples_*.py (las familias puntuadas por el juez a, bc y f aceptan --attach-judges). Los constructores recalculan cada puntuación agregada oficial a partir de las etiquetas y se detienen si difiere de la oficial.
  4. Consulta a Jev con TYPESAFE_API_KEY definida:
    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
    

Flujo de datos: calls.jsonl → run_generate.py --replay → judge_calls.jsonl → build_samples_*.py → detection samples → run_jev.py → responses + metrics.

Estructura del repositorio

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)

Ética

No generamos nuevas peticiones dañinas. Todos los prompts provienen de benchmarks publicados, y solo los ejecutamos en modelos abiertos pequeños. Las respuestas dañinas se publican bajo un acuerdo de acceso restringido para investigación sobre detectores.

Licencia

Código: MIT. Datos: nuestras etiquetas, anotaciones, salidas de Jev y metadatos están bajo CC BY-NC 4.0. El contenido de los benchmarks upstream conserva su licencia original, y las salidas de los modelos están sujetas a los términos de los modelos objetivo.

Descargar herramienta