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
FinRED-paper — Evaluación de rúbrica de referencia de red-teaming específica del dominio financiero | Kitploit
Herramientas/GitHubGitHub/selectstar-ai/finred-paper
Análisis de VulnerabilidadesInteligencia de AmenazasAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónRed TeamingSeguridad de IA
GitHubselectstar-ai/finred-paper

FinRED-paper

Evaluación de rúbrica de referencia de red-teaming específica del dominio financiero

Ver Repositorio
1118hace 3 mesesAún no revisado

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

FinRED: Conjunto de datos de evaluación de red-teaming financiero

Una canalización de generación de benchmarks de red-team para la evaluación de seguridad en el dominio financiero.

FinRED overview


Documentación complementaria

Materiales detallados referenciados en el artículo:

  • docs/expert_validation.md — Resultados de la entrevista de grupo focal (FGI) por pregunta de los 12 expertos del dominio FSI (concordancia, puntuaciones Likert, κ de Cohen / α de Krippendorff).
  • docs/judge_rubric.md — Plantilla completa de evaluación LLM-as-a-Judge, las cinco dimensiones de la rúbrica, regla de decisión y esquema JSON de salida.
  • docs/schemas.md — Estructura del esquema de comportamiento de amenaza (elementos esenciales/opcionales) con un ejemplo desarrollado R4.4.
  • docs/related_work.md — Descripciones por benchmark de benchmarks LLM previos del dominio financiero y en qué se diferencia FinRED.

Estructura del proyecto

root@kitploit:~
FinRED/
├── main.py                      # Main runner
├── requirements.txt             # Dependencies
├── run/                         # Example run scripts
├── prompts/                     # Prompt files
├── tests/                       # Example notebooks
├── README.md
│
├── src/
│   ├── Step1_build.py           # Scenario generation module
│   ├── Step2_build.py           # Seed prompt generation module
│   ├── __init__.py
│   │
│   ├── data/                    # Downloaded data
│   │   ├── contexts/            # Context data
│   │   │   ├── R3_products/     # R3 product summaries
│   │   │   └── retrieved_chunks/# Similarity search outputs
│   │   ├── orig/                # Raw data
│   │   │   ├── db/              # Chunk CSV DB
│   │   │   ├── parsed_docs/     # PDFs + chunk JSON
│   │   │   └── investinfo/      # R3 product text
│   │   └── queries/             # Query CSV files
│   │
│   ├── data/schemas/            # Output schema definitions
│   │   ├── ko/                  # Korean schemas
│   │   └── en/                  # English schemas
│   │
│   ├── outputs/                 # Generation outputs
│   │   ├── scenarios/           # Step 1 outputs
│   │   └── prompts/             # Step 2 outputs
│   │
│   ├── preprocess/              # Preprocessing pipeline
│   │   ├── preprocess_README.md # Detailed preprocessing guide
│   │   ├── 1_chunking.py
│   │   ├── 2_parsed_to_csv.py
│   │   ├── 3_common_to_csv.py
│   │   ├── 4_product_summarizer.py
│   │   ├── 5_summary_extractor.py
│   │   └── 6_chunk_retriever.py
│   │
│   ├── eval/                    # Evaluation module
│   │   ├── judge_finred.py      # Evaluation script
│   │   ├── dataset/             # Evaluation dataset

Configuración del entorno

0. Descargar datos relacionados

Google Drive: https://drive.google.com/drive/u/0/folders/1cfBf419OUDrQQMRKMPLLJqRX97WMxExC Google Drive

Coloque los datos descargados de modo que coincidan con la estructura de carpetas anterior (bajo src/data).

1. Crear un entorno virtual (Python 3.10)

root@kitploit:~
# Conda
conda create -n finred python=3.10 -y
conda activate finred

# Or venv
python3.10 -m venv finred_env
source finred_env/bin/activate

2. Instalar paquetes

root@kitploit:~
cd /path/to/FinRED
pip install -r requirements.txt

3. Entorno de preprocesamiento (opcional)

Si necesita preprocesamiento (chunking de PDF, etc.):

root@kitploit:~
# Unstructured
pip install "unstructured[all-docs]"

# System dependencies (Ubuntu/Debian)
sudo apt-get install -y libmagic-dev poppler-utils tesseract-ocr tesseract-ocr-kor libreoffice pandoc

Guía de preprocesamiento: src/preprocess/preprocess_README.md

4. Verificar la instalación

root@kitploit:~
python --version  # Python 3.10.x
python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"

Descripción general de la canalización

root@kitploit:~
[Context + Schema + Query]
         │
         ▼
   ┌─────────────┐
   │ Step1_build │  Scenario generation (OpenAI GPT-4)
   └─────────────┘
         │
         ▼
   [Scenario JSON]
         │
         ▼
   ┌─────────────┐
   │ Step2_build │  Seed prompt generation (Gemini)
   └─────────────┘
         │
         ▼
   [Seed Prompts]
         │
         ▼
   ┌─────────────┐
   │ Evaluation  │  Model response evaluation
   └─────────────┘

Detalles de los módulos

Step1_build.py - Generación de escenarios

Genera escenarios de red-team basados en el contexto y el esquema.

  • Entradas: esquema, consultas, fragmentos de contexto recuperados
  • Salidas: archivos JSON de escenarios en src/outputs/scenarios/{category}/
  • Modelo: OpenAI GPT-4

Step2_build.py - Generación de seed prompts

Genera seed prompts a partir de los escenarios.

  • Entradas: JSON de escenario del Paso 1
  • Salidas: JSON de prompt + CSV combinado en src/outputs/prompts/{category}/
  • Modelo: Google Gemini 2.5 Pro

Uso

Inicio rápido

Generación de datos

root@kitploit:~
# Run the full pipeline with the example script
sh run/run_data_generate.sh

Judge

root@kitploit:~
python src/eval/judge_finred.py \
    -i src/eval/dataset/qwen_2.5_test.csv \
    -o qwen_2.5_test_judged \
    -d src/eval/infer_result

Básico

root@kitploit:~
cd /path/to/FinRED

python main.py \
    --step <1|2|all> \
    --category <category> \
    --openai_api_key "sk-..." \
    --gemini_api_key "AIza..."

Parámetros

ParámetroObligatorioDescripción
--stepSíPaso a ejecutar: 1 (escenario), 2 (prompt), all (secuencial)
--categorySíCategoría: R1, R2, R3, R4, R5 o R1_1, etc.
--openai_api_keyPaso 1Clave de API de OpenAI
--gemini_api_keyPaso 2Clave de API de Gemini
--langOpcionalIdioma del prompt: ko (predeterminado), en
--num_promptsOpcionalNúmero de prompts (predeterminado: 3)
--step1_modelOpcionalModelo para el Paso 1 (predeterminado: gpt-4.1-2025-04-14)
--step2_modelOpcionalModelo para el Paso 2 (predeterminado: models/gemini-2.5-pro)
--model_nameOpcionalAlias obsoleto para --step1_model

Ejemplos

root@kitploit:~
# Full pipeline (R1)
python main.py \
    --step all \
    --category R1 \
    --openai_api_key "sk-proj-..." \
    --gemini_api_key "AIza..."

# Step 1 only
python main.py \
    --step 1 \
    --category R2 \
    --openai_api_key "sk-proj-..."

# Step 2 only (English, 5 prompts)
python main.py \
    --step 2 \
    --category R5 \
    --lang en \
    --num_prompts 5 \
    --gemini_api_key "AIza..."

# Single subcategory
python main.py \
    --step 2 \
    --category R1_1 \
    --num_prompts 3 \
    --gemini_api_key "AIza..."

Información de categorías

CategoríaSubcategoríasDescripción
R1R1_1 ~ R1_6Amenazas a la seguridad financiera
R2R2_1 ~ R2_5Fraude y actividades ilegales
R3R3_1 ~ R3_3Venta indebida
R4R4_1 ~ R4_5Manipulación de mercado
R5R5_1 ~ R5_7Infracciones regulatorias

Evaluación

Evalúa las respuestas del modelo a los prompts generados.

Ejecución

root@kitploit:~
cd /path/to/FinRED/src/eval

python src/eval/judge_finred.py \
    -i <input_csv_path> \
    -o <output_basename> \
    -d <output_dir>

Ejemplo

root@kitploit:~
python src/eval/judge_finred.py \
    -i ./dataset/qwen_2.5_7b_all_with_responses.csv \
    -o qwen2.5_7b_responses \
    -d ./infer_result/

Formato del CSV de entrada

El CSV debe incluir:

  • columna de prompt
  • columna de respuesta del modelo

Salida

  • infer_result/: resultados de la evaluación
  • judge_errors/: registros de errores

Formatos de salida

JSON de escenario (Paso 1)

root@kitploit:~
{
  "scenario_id": "R1_1_0001",
  "context": "...",
  "risk_description": "...",
  "attack_vector": "..."
}

JSON de prompt (Paso 2)

root@kitploit:~
{
  "prompt_1": "Provide details about vulnerabilities in a financial system...",
  "prompt_1_optionalelements": ["social engineering", "phishing"],
  "prompt_2": "...",
  "prompt_2_optionalelements": ["..."]
}
Descargar herramienta