Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
socbench — Un arnés y punto de referencia abiertos para la IA en operaciones de ciberseguridad. | Kitploit
Herramientas/GitHubGitHub/deeptempo/socbench
Seguridad de RedesInteligencia de AmenazasAprendizaje AutomáticoAprendizaje y EducaciónSeguridad de IA
GitHubdeeptempo/socbench

socbench

Un arnés y punto de referencia abiertos para la IA en operaciones de ciberseguridad.

Ver Repositorio
5664hace 16 díasRevisado 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 →
Sitio web
Compartir

socbench

Evalúa modelos de razonamiento de frontera como agentes SOC sobre datos NetFlow en bruto.

socbench evalúa modelos de razonamiento de frontera como agentes SOC: cada modelo ejecuta un bucle de agente multi-turno acotado contra un corpus NetFlow determinista e indexado previamente, con herramientas de solo lectura con ámbito de persona, límites fijos de dólar por investigación y un contrato JSON de respuesta final estricta. Cuatro personas (Analista SOC, Analista de Amenazas, Cazador de Adversarios, Ingeniero de Detección) y tres proveedores (OpenAI, Anthropic, Google) comparten las mismas unidades de evaluación, lentes de puntuación y superficie de ablación, por lo que los números principales y los deltas tools_off / playbooks_off son directamente comparables.

El repositorio es local-first. Un portátil, tres claves API y un parquet de muestra incluido en el repo son suficientes para reproducir un smoke por menos de $10.

Estado

Alfa. El pipeline completo funciona de punta a punta. El desarrollo cubre:

  • Paso 1: esqueleto del paquete, contratos, configuraciones, esquema
  • Paso 2: el constructor de índices (socbench build-index) con índices deterministas direccionados por contenido
  • Paso 3: capa de herramientas de solo lectura con lista blanca de persona
  • generador de muestras
  • Paso 4: personas, playbooks, composición de prompt + verificación de tokens prohibidos
  • Paso 5: adaptadores de proveedor (OpenAI / Anthropic / Gemini + mock siempre activo) y el bucle de agente multi-turno con límites de presupuesto y resúmenes de costo/latencia
  • Paso 6: puntuación (F1 por flujo / por par / por host), muestreo estratificado, agregación de ablaciones
  • Paso 7: cuaderno de inicio rápido y explorador de resultados; instrucciones de reproducción en REPRODUCE.md
  • Puede ejecutar un smoke completo hoy sin claves API mediante el proveedor mock (consulte Inicio rápido paso 3, o notebooks/quickstart.ipynb).

    Instalación

    socbench se distribuye como un proyecto estándar PEP 621 / hatchling. Cualquiera de las rutas de instalación funciona.

    Con uv (recomendado para desarrollo)

    root@kitploit:~
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    git clone https://github.com/DeepTempo/socbench.git
    cd socbench
    
    uv venv --python 3.11
    source .venv/bin/activate
    uv pip install -e ".[dev,providers]"
    

    Con pip simple

    root@kitploit:~
    git clone https://github.com/DeepTempo/socbench.git
    cd socbench
    
    python3.11 -m venv .venv
    source .venv/bin/activate
    pip install -e ".[dev,providers]"
    

    De cualquier forma, socbench --help debería listar los subcomandos disponibles.

    Configuración

    SuperficieValor por defectoUbicación
    Valores predeterminados del benchmark (muestreo, presupuestos de agente, proveedores, matriz persona × herramienta)benchmark_config.yamlconfig/
    Esquema canónico de NetFlow + alias de normalizaciónschema.jsonconfig/
    Instantánea de precios del proveedor (USD por 1M tokens)pricing.yamlconfig/
    Claves API de proveedoresvariables de entorno OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEYshell env

    config/benchmark_config.yaml trae valores seguros por defecto: smoke cost_budget_usd: 10, completo cost_budget_usd: 900, fijo cost_usd_cap_per_rendering: 0.50. Las rutas internas que apuntan a archivos de configuración hermanos (schema_path, pricing_path) se resuelven relativas al propio directorio del YAML, por lo que renombrar o reubicar config/ no requiere cambios en el código.

    Inicio rápido

    1. Construir un índice direccionado por contenido a partir de un dataset parquet

    root@kitploit:~
    socbench build-index \
      --config config/benchmark_config.yaml \
      --dataset sample
    

    Esto normaliza el parquet contra config/schema.json, ordena globalmente por ts_start con desempate determinista, asigna flow_ids estables, deriva unidades de evaluación pair_timeline / host_egress, calcula resúmenes y escribe en indexes/<dataset_hash>/.

    Volver a ejecutar el comando sobre los mismos datos no tiene efecto. Pase --rebuild para forzar la reconstrucción.

    2. Inspeccionar la capa de herramientas

    root@kitploit:~
    socbench tools-smoke \
      --dataset-hash <dataset_hash> \
      --persona soc_analyst
    

    Esto invoca cada herramienta en la lista blanca de la persona contra el índice construido e imprime un resumen, sin llamadas a modelos.

    3. Ejecutar el benchmark

    root@kitploit:~
    # Gratuito, determinista, sin claves API (proveedor mock):
    socbench run --dataset-hash <dataset_hash> --providers mock --personas all
    
    # Modelos reales (tras `pip install -e ".[providers]"` y exportar las claves API):
    socbench run --dataset-hash <dataset_hash> --providers all --personas all
    

    La selección de unidades por defecto usa muestreo estratificado, determinista en (dataset_hash, sample_seed, mode). Cada renderizado (unit × persona × provider) ejecuta un bucle de agente multi-turno acotado; los resultados se guardan en runs/<run_id>/ con summary.json (puntuación + costo + resúmenes de caché), eval_units_summary.jsonl, predictions_raw.jsonl, renderings.jsonl, tool_calls.jsonl y prompts_used/.

    4. Ejecutar ablaciones y agregar los deltas

    root@kitploit:~
    socbench run --dataset-hash <dataset_hash> --ablation tools_off --providers mock --personas all
    socbench aggregate --dataset-hash <dataset_hash>
    # → ablations/<dataset_hash>/<seed>/ablation_summary.json  (tools_off → deltas principales)
    

    5. Explorar

    notebooks/quickstart.ipynb ejecuta el bucle completo (sintetiza un dataset de muestra, por lo que no necesita datos comprometidos) y grafica F1 por persona. notebooks/results_explorer.ipynb carga cualquier runs/<run_id>/ y segmenta los resultados por estrato, persona y proveedor. Instale con pip install -e ".[notebooks]".

    Ampliar el benchmark

    Cada interfaz diseñada para evolucionar es un registro o una clave YAML:

    • Nueva herramienta: coloque un nuevo archivo en src/socbench/tools/catalog/<name>.py con una subclase de Tool, regístrelo en src/socbench/tools/catalog/__init__.py añadiéndolo a ALL_TOOLS, luego agregue su nombre a las listas tools: de la persona correspondiente en config/benchmark_config.yaml. El tools_manifest_sha cambia automáticamente. El nombre del archivo, el nombre en YAML y la entrada en la matriz son 1:1 por diseño.
    • Nuevo tipo de unidad de evaluación: agregue un asignador en src/socbench/index.py y un Literal correspondiente a EvalUnitType en src/socbench/models.py.
    • Nuevo adaptador de proveedor: implemente el ABC Adapter en un nuevo src/socbench/providers/<name>_adapter.py, regístrelo en la fábrica build_adapter en providers/base.py, y añada una entrada en providers: en config/benchmark_config.yaml. Los precios van en config/pricing.yaml. Las importaciones del SDK se mantienen perezosas para que la dependencia sea opcional.
    • Nueva persona: agregue un bloque bajo agent.personas: en config/benchmark_config.yaml con su presupuesto y lista blanca tools:.
    • Nueva lente de puntuación: añada una lente a score_unit en src/socbench/scoring.py y un campo correspondiente a EvalUnitSummary en models.py.
    • Nueva ablación: extienda el manejo de Ablation en prompts.py / agent.py y la lista de etiquetas en aggregate.py.

    Metodología

    La metodología completa (unidades de evaluación, matriz persona × herramienta, bucle de agente, puntuación, modelo de costos, política de reparación, muestreo, ablaciones, artefactos de ejecución) está implementada en los archivos a nivel de módulo en src/socbench/ (cada uno lleva un docstring de módulo enfocado).

    Licencia

    Apache-2.0. Ver LICENSE.

    Descargar herramienta