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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
FinRED-paper — benchmark di red-teaming specifico per il dominio finanziario con rubrica di valutazione | Kitploit
Strumenti/GitHubGitHub/selectstar-ai/finred-paper
Analisi delle VulnerabilitàThreat IntelligenceMachine LearningPaper e RicercaApprendimento e FormazioneRed TeamingSicurezza dell'IA
GitHubselectstar-ai/finred-paper

FinRED-paper

benchmark di red-teaming specifico per il dominio finanziario con rubrica di valutazione

Vedi Repository
41861 mese faNon ancora revisionato

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

FinRED: un framework esperto per la generazione e la valutazione di benchmark per il red-teaming dei LLM in ambito finanziario (IEEE ICDM 2026)

Una pipeline di generazione di benchmark di red-team per la valutazione della sicurezza nel dominio finanziario.

Panoramica di FinRED


Documentazione supplementare

Materiali dettagliati a cui si fa riferimento nel paper:

  • docs/expert_validation.md — Risultati delle interviste di focus group (FGI) per singola domanda condotte dai 12 esperti di dominio FSI (accordo, punteggi Likert, κ di Cohen / α di Krippendorff).
  • docs/judge_rubric.md — Template completo di valutazione LLM-as-a-Judge, le cinque dimensioni della rubrica, la regola decisionale e lo schema JSON di output.
  • docs/schemas.md — Struttura dello schema dei comportamenti di minaccia (elementi essenziali/opzionali) con un esempio svolto R4.4.
  • docs/related_work.md — Descrizioni per singolo benchmark dei precedenti benchmark LLM in ambito finanziario e di come FinRED si differenzia.

Struttura del progetto

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

Configurazione dell'ambiente

0. Scaricare i dati correlati

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

Posizionare i dati scaricati in modo che corrispondano alla struttura delle cartelle sopra indicata (all'interno di src/data).

1. Creare un ambiente virtuale (Python 3.10)

# 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. Installa i pacchetti

cd /path/to/FinRED
pip install -r requirements.txt

3. Ambiente di pre-elaborazione (Opzionale)

Se hai bisogno della pre-elaborazione (suddivisione in chunk dei PDF, ecc.):

# 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

Guida alla preelaborazione: src/preprocess/preprocess_README.md

4. Verifica dell'installazione

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

Panoramica della pipeline

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

Dettagli dei moduli

Step1_build.py - Generazione degli scenari

Genera scenari red-team basati sul contesto e sullo schema.

  • Input: schema, query, chunk di contesto recuperati
  • Output: file JSON degli scenari in src/outputs/scenarios/{category}/
  • Modello: OpenAI GPT-4

Step2_build.py - Generazione dei prompt seed

Genera prompt seed a partire dagli scenari.

  • Input: JSON degli scenari dal Passo 1
  • Output: JSON dei prompt + CSV unito in src/outputs/prompts/{category}/
  • Modello: Google Gemini 2.5 Pro

Utilizzo

Avvio rapido

Generazione dei dati

# Run the full pipeline with the example script
sh run/run_data_generate.sh

Giudice

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

Base

cd /path/to/FinRED

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

Parametri

ParametroObbligatorioDescrizione
--stepSìPasso da eseguire: 1 (scenario), 2 (prompt), all (sequenziale)
--categorySìCategoria: R1, R2, R3, R4, R5 o R1_1, ecc.
--openai_api_keyPasso 1Chiave API OpenAI
--gemini_api_keyPasso 2Chiave API Gemini
--langOpzionaleLingua del prompt: ko (predefinita), en
--num_promptsOpzionaleNumero di prompt (predefinito: 3)
--step1_modelOpzionaleModello per il Passo 1 (predefinito: gpt-4.1-2025-04-14)
--step2_modelOpzionaleModello per il Passo 2 (predefinito: models/gemini-2.5-pro)
--model_nameOpzionaleAlias deprecato per --step1_model

Esempi

# 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..."

Informazioni sulle categorie

CategoriaSottocategorieDescrizione
R1R1_1 ~ R1_6Minacce alla sicurezza finanziaria
R2R2_1 ~ R2_5Frodi e attività illecite
R3R3_1 ~ R3_3Vendita scorretta
R4R4_1 ~ R4_5Manipolazione del mercato
R5R5_1 ~ R5_7Violazioni normative

Valutazione

Valuta le risposte del modello ai prompt generati.

Esecuzione

cd /path/to/FinRED/src/eval

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

Esempio

Scarica lo strumento