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.

··Feed·Contatto·Privacy·© 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
11183 mesi 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: Dataset di Valutazione per il Red-Teaming Finanziario

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

Panoramica di FinRED


Documentazione Supplementare

Materiali dettagliati referenziati nel paper:

  • docs/expert_validation.md — Risultati delle interviste Focus Group (FGI) per singola domanda da parte dei 12 esperti del dominio FSI (accordo, punteggi Likert, Cohen's κ / Krippendorff's α).
  • docs/judge_rubric.md — Template completo di valutazione LLM-as-a-Judge, le cinque dimensioni della rubrica, regola decisionale e schema JSON di output.
  • docs/schemas.md — Struttura dello schema di comportamento minaccioso (elementi essenziali/opzionali) con un esempio pratico R4.4.
  • docs/related_work.md — Descrizioni per benchmark dei precedenti benchmark LLM nel dominio finanziario e come FinRED si differenzia.

Struttura del Progetto

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

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 (sotto src/data).

1. Creare un Ambiente Virtuale (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. Installare i Pacchetti

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

3. Ambiente di Preprocessing (Opzionale)

Se hai bisogno del preprocessing (chunking PDF, ecc.):

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

Guida al preprocessing: src/preprocess/preprocess_README.md

4. Verificare l'Installazione

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

Panoramica della Pipeline

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
   └─────────────┘

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 Seed Prompt

Genera seed prompt a partire dagli scenari.

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

Utilizzo

Avvio Rapido

Generazione dei Dati

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

Base

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

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

Parametri

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

Esempi

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

Informazioni sulle Categorie

CategoriaSottocategorieDescrizione
R1R1_1 ~ R1_6Minacce alla sicurezza finanziaria
R2R2_1 ~ R2_5Frodi e attività illegali
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

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

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

Esempio

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 di Input

Il CSV deve includere:

  • colonna prompt
  • colonna risposta del modello

Output

  • infer_result/: risultati della valutazione
  • judge_errors/: log degli errori

Formati di Output

JSON degli Scenari (Step 1)

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

JSON dei Prompt (Step 2)

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