Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
FinRED-paper — Бенчмарк для оценки ред-тиминга в финансовой предметной области | Kitploit
Инструменты/GitHubGitHub/selectstar-ai/finred-paper
Анализ уязвимостейРазведка угрозМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеRed TeamingБезопасность ИИ
GitHubselectstar-ai/finred-paper

FinRED-paper

Бенчмарк для оценки ред-тиминга в финансовой предметной области

Репозиторий
11183 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

FinRED: Набор данных для оценки финансового ред-тиминга

Пайплайн генерации бенчмарка ред-тиминга для оценки безопасности в финансовой сфере.

FinRED overview


Дополнительная документация

Подробные материалы, упомянутые в статье:

  • docs/expert_validation.md — Результаты фокус-групповых интервью (FGI) по каждому вопросу от 12 экспертов в области FSI (согласованность, оценки по шкале Лайкерта, Cohen's κ / Krippendorff's α).
  • docs/judge_rubric.md — Полный шаблон оценки LLM-as-a-Judge, пять измерений рубрики, правило принятия решений и схема выходного JSON.
  • docs/schemas.md — Структура схемы угрозного поведения (обязательные/опциональные элементы) с примером R4.4.
  • docs/related_work.md — Описания предыдущих LLM-бенчмарков в финансовой сфере и отличия FinRED.

Структура проекта

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

Настройка окружения

0. Загрузка связанных данных

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

Разместите загруженные данные в соответствии со структурой папок выше (в src/data).

1. Создание виртуального окружения (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. Установка пакетов

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

3. Окружение для предобработки (опционально)

Если вам нужна предобработка (разбиение PDF на чанки и т.д.):

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

Руководство по предобработке: src/preprocess/preprocess_README.md

4. Проверка установки

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

Обзор пайплайна

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

Детали модулей

Step1_build.py — Генерация сценариев

Генерирует сценарии ред-тиминга на основе контекста и схемы.

  • Входные данные: схема, запросы, извлечённые чанки контекста
  • Выходные данные: JSON-файлы сценариев в src/outputs/scenarios/{category}/
  • Модель: OpenAI GPT-4

Step2_build.py — Генерация seed-промптов

Генерирует seed-промпты из сценариев.

  • Входные данные: JSON сценария из шага 1
  • Выходные данные: JSON промптов + объединённый CSV в src/outputs/prompts/{category}/
  • Модель: Google Gemini 2.5 Pro

Использование

Быстрый старт

Генерация данных

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

Оценка

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

Базовое использование

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

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

Параметры

ПараметрОбязательныйОписание
--stepДаШаг для запуска: 1 (сценарий), 2 (промпт), all (последовательно)
--categoryДаКатегория: R1, R2, R3, R4, R5 или R1_1 и т.д.
--openai_api_keyШаг 1API-ключ OpenAI
--gemini_api_keyШаг 2API-ключ Gemini
--langОпциональноЯзык промптов: ko (по умолчанию), en
--num_promptsОпциональноКоличество промптов (по умолчанию: 3)
--step1_modelОпциональноМодель для шага 1 (по умолчанию: gpt-4.1-2025-04-14)
--step2_modelОпциональноМодель для шага 2 (по умолчанию: models/gemini-2.5-pro)
--model_nameОпциональноУстаревший псевдоним для --step1_model

Примеры

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

Информация о категориях

КатегорияПодкатегорииОписание
R1R1_1 ~ R1_6Угрозы финансовой безопасности
R2R2_1 ~ R2_5Мошенничество и незаконная деятельность
R3R3_1 ~ R3_3Мисселинг
R4R4_1 ~ R4_5Манипулирование рынком
R5R5_1 ~ R5_7Нарушения нормативных требований

Оценка

Оценка ответов модели на сгенерированные промпты.

Запуск

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

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

Пример

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/

Формат входного CSV

CSV должен содержать:

  • столбец с промптом
  • столбец с ответом модели

Выходные данные

  • infer_result/: результаты оценки
  • judge_errors/: журналы ошибок

Форматы выходных данных

JSON сценария (шаг 1)

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

JSON промпта (шаг 2)

root@kitploit:~
{
  "prompt_1": "Provide details about vulnerabilities in a financial system...",
  "prompt_1_optionalelements": ["social engineering", "phishing"],
  "prompt_2": "...",
  "prompt_2_optionalelements": ["..."]
}
Скачать инструмент