Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FinRED-paper — référentiel d'évaluation pour l'évaluation comparative de red-teaming spécifique au domaine financier | Kitploit
Outils/GitHubGitHub/selectstar-ai/finred-paper
Analyse des VulnérabilitésRenseignement sur les MenacesApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationRed TeamingSécurité de l'IA
GitHubselectstar-ai/finred-paper

FinRED-paper

référentiel d'évaluation pour l'évaluation comparative de red-teaming spécifique au domaine financier

Voir le dépôt
1118il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

FinRED : Jeu de données d'évaluation par red-teaming financier

Un pipeline de génération de benchmarks de red-team pour l'évaluation de la sécurité dans le domaine financier.

FinRED overview


Documentation complémentaire

Documents détaillés référencés dans l'article :

  • docs/expert_validation.md — Résultats des entretiens de groupe (FGI) question par question menés auprès des 12 experts du domaine FSI (accord, scores de Likert, κ de Cohen / α de Krippendorff).
  • docs/judge_rubric.md — Modèle complet d'évaluation LLM-as-a-Judge, les cinq dimensions de la grille d'évaluation, la règle de décision et le schéma JSON de sortie.
  • docs/schemas.md — Structure du schéma de comportement de menace (éléments essentiels/facultatifs) avec un exemple concret R4.4.
  • docs/related_work.md — Descriptions par benchmark des benchmarks LLM antérieurs dans le domaine financier et en quoi FinRED s'en distingue.

Structure du projet

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

Configuration de l'environnement

0. Télécharger les données associées

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

Placez les données téléchargées de manière à respecter la structure de dossiers ci-dessus (sous src/data).

1. Créer un environnement virtuel (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. Installer les paquets

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

3. Environnement de prétraitement (facultatif)

Si vous avez besoin du prétraitement (découpage 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

Guide de prétraitement : src/preprocess/preprocess_README.md

4. Vérifier l'installation

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

Aperçu du 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
   └─────────────┘

Détails des modules

Step1_build.py - Génération de scénarios

Génère des scénarios de red-team à partir du contexte et du schéma.

  • Entrées : schéma, requêtes, fragments de contexte récupérés
  • Sorties : fichiers JSON de scénarios dans src/outputs/scenarios/{category}/
  • Modèle : OpenAI GPT-4

Step2_build.py - Génération de prompts initiaux

Génère des prompts initiaux à partir des scénarios.

  • Entrées : JSON de scénario issu de l'étape 1
  • Sorties : JSON de prompts + CSV fusionné dans src/outputs/prompts/{category}/
  • Modèle : Google Gemini 2.5 Pro

Utilisation

Démarrage rapide

Génération de données

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

Juge

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

Basique

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

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

Paramètres

ParamètreRequisDescription
--stepOuiÉtape à exécuter : 1 (scénario), 2 (prompt), all (séquentiel)
--categoryOuiCatégorie : R1, R2, R3, R4, R5 ou R1_1, etc.
--openai_api_keyÉtape 1Clé API OpenAI
--gemini_api_keyÉtape 2Clé API Gemini
--langFacultatifLangue des prompts : ko (par défaut), en
--num_promptsFacultatifNombre de prompts (par défaut : 3)
--step1_modelFacultatifModèle pour l'étape 1 (par défaut : gpt-4.1-2025-04-14)
--step2_modelFacultatifModèle pour l'étape 2 (par défaut : models/gemini-2.5-pro)
--model_nameFacultatifAlias obsolète pour --step1_model

Exemples

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

Informations sur les catégories

CatégorieSous-catégoriesDescription
R1R1_1 ~ R1_6Menaces de sécurité financière
R2R2_1 ~ R2_5Fraude et activités illégales
R3R3_1 ~ R3_3Vente abusive
R4R4_1 ~ R4_5Manipulation de marché
R5R5_1 ~ R5_7Infractions réglementaires

Évaluation

Évaluez les réponses du modèle aux prompts générés.

Exécution

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

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

Exemple

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/

Format du CSV d'entrée

Le CSV doit inclure :

  • une colonne prompt
  • une colonne de réponse du modèle

Sortie

  • infer_result/ : résultats de l'évaluation
  • judge_errors/ : journaux d'erreurs

Formats de sortie

JSON de scénario (étape 1)

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

JSON de prompt (étape 2)

root@kitploit:~
{
  "prompt_1": "Provide details about vulnerabilities in a financial system...",
  "prompt_1_optionalelements": ["social engineering", "phishing"],
  "prompt_2": "...",
  "prompt_2_optionalelements": ["..."]
}
Télécharger l’outil