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
bloom — Marco de evaluación conductual automatizado para LLMs que genera diversos escenarios de prueba para sondear la sicofancia, el sesgo y otros comportamientos relevantes para la seguridad con configuraciones de semilla reproducibles. | Kitploit
Herramientas/GitHubGitHub/safety-research/bloom
Pruebas de PenetraciónAprendizaje AutomáticoAprendizaje y EducaciónRed TeamingSeguridad de IAAtaque Adversario
GitHubsafety-research/bloom

bloom

Marco de evaluación conductual automatizado para LLMs que genera diversos escenarios de prueba para sondear la sicofancia, el sesgo y otros comportamientos relevantes para la seguridad con configuraciones de semilla reproducibles.

Ver Repositorio
1.4k17120hace 4 mesesRevisado por Kitploit

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

Bloom: Evaluaciones Automatizadas de Comportamiento para LLMs

[!IMPORTANT] Bloom tiene un nuevo hogar. Ahora es desarrollado y mantenido por Meridian Labs y vive en meridianlabs-ai.github.io/petri_bloom — todas las nuevas funcionalidades y correcciones llegarán allí.

Este repositorio está congelado en su última versión independiente y no recibirá actualizaciones. Los usuarios existentes pueden seguir usándolo como se documenta a continuación, pero los nuevos proyectos deben empezar desde la versión de Meridian Labs.


Bloom genera suites de evaluación que prueban LLMs para comportamientos específicos (adulación, autopreservación, sesgo político, etc.). Dada una configuración "semilla" que describe el comportamiento objetivo y los parámetros de evaluación, Bloom produce diversos escenarios de prueba, ejecuta conversaciones con el modelo objetivo y puntúa los resultados. La suite de evaluación crece de manera diferente según cómo se siembre—a diferencia de los benchmarks fijos, las evaluaciones de Bloom deben citarse con su configuración semilla completa para la reproducibilidad.

Instalación

# Con pip
pip install git+https://github.com/safety-research/bloom.git

# O con uv
uv pip install git+https://github.com/safety-research/bloom.git

Inicio Rápido

# 1. Inicializar un espacio de trabajo (crea configuración a partir de valores por defecto incluidos)
bloom init

# 2. Agrega tus claves API a .env, luego cárgalas
source .env

# 3. Ejecutar el pipeline de evaluación
bloom run bloom-data

Esto crea:

./
├── .env                          # Claves API (agrega tus claves aquí)
├── bloom-data/                   # Directorio de configuración
│   ├── seed.yaml                 # Config principal (editar para personalizar)
│   ├── models.json               # Mapeos de IDs de modelos
│   ├── behaviors.json            # Definiciones de comportamientos
│   └── ...
└── bloom-results/                # Salida (creada en la primera ejecución)

Usa --debug para salida detallada, o establece debug: true en seed.yaml.

Configuración

Edita bloom-data/seed.yaml para personalizar tu evaluación:

ParámetroDescripción
behavior.nameComportamiento objetivo (ej., "adulación", "autopreservación")
behavior.examplesTranscripciones de ejemplo para guiar la generación (opcional)
ideation.num_scenariosNúmero de escenarios base a generar
ideation.variation_dimensionsLista de dimensiones a variar por escenario (ej., ["ruido", "presión_emocional"])
rollout.targetModelo a evaluar
rollout.modality"conversación" o "simenv" (con llamadas a herramientas)

Consulta bloom-data/seed.yaml para la referencia completa de parámetros con documentación en línea.

Dimensiones de Variación

Las dimensiones de variación permiten generar variaciones dirigidas de cada escenario base para probar qué tan estable es un comportamiento bajo diferentes condiciones. Cada dimensión especificada en variation_dimensions debe tener una descripción en behaviors.json:

# seed.yaml
ideation:
  num_scenarios: 5
  variation_dimensions:
    - noise
    - emotional_pressure

Esto genera 5 escenarios base más 2 variaciones cada uno = 15 evaluaciones en total.

Especificación del Modelo

Especifica los modelos usando cualquiera de estos formatos:

# ID directo de LiteLLM (recomendado)
rollout:
  target: "anthropic/claude-sonnet-4-20250514"

# O nombre corto de bloom-data/models.json
rollout:
  target: "claude-sonnet-4"

Consulta proveedores de LiteLLM para proveedores compatibles.

Etapas del Pipeline

  1. Comprensión — Analiza el comportamiento objetivo y los ejemplos
  2. Ideación — Genera diversos escenarios de evaluación
  3. Despliegue — Ejecuta conversaciones con el modelo objetivo
  4. Juicio — Puntúa la presencia del comportamiento y cualidades adicionales

Ejecuta etapas individuales:

bloom understanding bloom-data
bloom ideation bloom-data
bloom rollout bloom-data
bloom judgment bloom-data

Visualización de Resultados

Los resultados se guardan en bloom-results/{nombre_comportamiento}/. Visualiza las transcripciones con el visor interactivo:

npx @isha-gpt/bloom-viewer --port 8080 --dir ./bloom-results

Uso Avanzado

Integración con Weights & Biases

Para experimentos a gran escala, usa configuraciones de sweep desde examples/sweeps/:

# Crear un sweep (devuelve un ID de sweep)
wandb sweep examples/sweeps/self-preferential-bias.yaml

# Ejecutar bloom como agente de sweep
wandb agent <sweep-id>

La configuración del sweep especifica bloom sweep como comando. Esto lee parámetros de wandb.config en lugar de un archivo local. Usa bloom sweep --debug para salida detallada.

Chat Interactivo

Prueba modelos de forma interactiva y guarda transcripciones:

bloom chat --system-prompt "Eres un asistente útil" --model claude-sonnet-4

Las transcripciones se guardan en bloom-results/manual/ por defecto. Usa --reasoning-effort (low, medium, high) para modelos de razonamiento extendido.

Comparación de Múltiples Modelos

Para evaluar múltiples modelos en escenarios idénticos:

  1. Ejecuta las etapas de comprensión + ideación una vez
  2. Crea un sweep con resume: "run_id", resume_stage: "rollout"
  3. Establece rollout.target como un parámetro del sweep

Razonamiento Extendido

Bloom soporta razonamiento extendido para modelos Claude y la serie o de OpenAI. Establece reasoning_effort en "low", "medium" o "high". Requiere temperature: 1.0.

Uso Programático

Línea de comandos (después de la instalación):

# Usando el comando bloom
bloom run bloom-data

# O como módulo de Python
python -m bloom run bloom-data

Como biblioteca:

from bloom.core import run_pipeline
from bloom.utils import load_config

# Cargar configuración y ejecutar pipeline completo
config = load_config("bloom-data/seed.yaml")
run_pipeline(config=config)

# O ejecutar etapas individuales
from bloom.stages.step1_understanding import run_understanding
from bloom.stages.step2_ideation import run_ideation

run_understanding(config=config)
run_ideation(config=config)

Desarrollo

Configuración

git clone https://github.com/safety-research/bloom.git
cd bloom

# Con uv (recomendado)
uv sync

# O con pip
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Opcionalmente, instala hooks de pre-commit para linting, formateo y verificación de tipos:

uvx pre-commit install  # o: pip install pre-commit && pre-commit install

Ejecución de Pruebas

Las pruebas utilizan respuestas de API simuladas para verificar el pipeline sin hacer llamadas reales a la API:

pytest tests/ -v

Linting y Verificación de Tipos

# Lint y formateo
ruff check src/ --fix
ruff format src/

# Verificación de tipos (requiere ty: https://github.com/astral-sh/ty)
ty check

Si usas uvx, antepone los comandos con uvx (ej., uvx ruff check src/).

Estructura del Proyecto

bloom/
├── src/bloom/              # Paquete principal
│   ├── cli.py              # Punto de entrada CLI
│   ├── core.py             # Orquestación del pipeline
│   ├── utils.py            # Utilidades
│   ├── data/               # Datos incluidos (comportamientos, modelos, esquemas, plantillas)
│   ├── stages/             # Implementaciones de las etapas del pipeline
│   ├── prompts/            # Generación de prompts
│   └── orchestrators/      # Orquestación de conversaciones
├── tests/                  # Suite de pruebas con fixtures
├── examples/sweeps/        # Configuraciones de sweep para W&B
└── pyproject.toml

Citación

Descargar herramienta