Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
FinRED-paper — benchmark de red-teaming específico do domínio financeiro rubrica de avaliação | Kitploit
Ferramentas/GitHubGitHub/selectstar-ai/finred-paper
Análise de VulnerabilidadesInteligência de AmeaçasAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoRed TeamingSegurança de IA
GitHubselectstar-ai/finred-paper

FinRED-paper

benchmark de red-teaming específico do domínio financeiro rubrica de avaliação

Ver Repositório
1118há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

FinRED: Conjunto de Dados de Avaliação de Red-Teaming Financeiro

Um pipeline de geração de benchmark de red-team para avaliação de segurança no domínio financeiro.

Visão geral do FinRED


Documentação Suplementar

Materiais detalhados referenciados no artigo:

  • docs/expert_validation.md — Resultados de Entrevistas de Grupo Focal (FGI) por questão dos 12 especialistas do domínio FSI (concordância, pontuações Likert, Cohen's κ / Krippendorff's α).
  • docs/judge_rubric.md — Template completo de avaliação LLM-as-a-Judge, as cinco dimensões da rubrica, regra de decisão e esquema JSON de saída.
  • docs/schemas.md — Estrutura do esquema de comportamento de ameaça (elementos essenciais/opcionais) com um exemplo prático R4.4.
  • docs/related_work.md — Descrições por benchmark de benchmarks LLM anteriores no domínio financeiro e como o FinRED se diferencia.

Estrutura do Projeto

root@kitploit:~
FinRED/
├── main.py                      # Executor principal
├── requirements.txt             # Dependências
├── run/                         # Scripts de execução de exemplo
├── prompts/                     # Arquivos de prompt
├── tests/                       # Notebooks de exemplo
├── README.md
│
├── src/
│   ├── Step1_build.py           # Módulo de geração de cenários
│   ├── Step2_build.py           # Módulo de geração de prompts semente
│   ├── __init__.py
│   │
│   ├── data/                    # Dados baixados
│   │   ├── contexts/            # Dados de contexto
│   │   │   ├── R3_products/     # Resumos de produtos R3
│   │   │   └── retrieved_chunks/# Saídas de busca por similaridade
│   │   ├── orig/                # Dados brutos
│   │   │   ├── db/              # Banco de dados CSV de chunks
│   │   │   ├── parsed_docs/     # PDFs + JSON de chunks
│   │   │   └── investinfo/      # Texto de produtos R3
│   │   └── queries/             # Arquivos CSV de consultas
│   │
│   ├── data/schemas/            # Definições de esquema de saída
│   │   ├── ko/                  # Esquemas em coreano
│   │   └── en/                  # Esquemas em inglês
│   │
│   ├── outputs/                 # Saídas de geração
│   │   ├── scenarios/           # Saídas da Etapa 1
│   │   └── prompts/             # Saídas da Etapa 2
│   │
│   ├── preprocess/              # Pipeline de pré-processamento
│   │   ├── preprocess_README.md # Guia detalhado de pré-processamento
│   │   ├── 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/                    # Módulo de avaliação
│   │   ├── judge_finred.py      # Script de avaliação
│   │   ├── dataset/             # Conjunto de dados de avaliação

Configuração do Ambiente

0. Baixar Dados Relacionados

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

Coloque os dados baixados de forma a corresponder à estrutura de pastas acima (em src/data).

1. Criar um Ambiente Virtual (Python 3.10)

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

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

2. Instalar Pacotes

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

3. Ambiente de Pré-processamento (Opcional)

Se você precisar de pré-processamento (chunking de PDF, etc.):

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

# Dependências do sistema (Ubuntu/Debian)
sudo apt-get install -y libmagic-dev poppler-utils tesseract-ocr tesseract-ocr-kor libreoffice pandoc

Guia de pré-processamento: src/preprocess/preprocess_README.md

4. Verificar Instalação

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

Visão Geral do Pipeline

root@kitploit:~
[Context + Schema + Query]
         │
         ▼
   ┌─────────────┐
   │ Step1_build │  Geração de cenários (OpenAI GPT-4)
   └─────────────┘
         │
         ▼
   [Scenario JSON]
         │
         ▼
   ┌─────────────┐
   │ Step2_build │  Geração de prompts semente (Gemini)
   └─────────────┘
         │
         ▼
   [Seed Prompts]
         │
         ▼
   ┌─────────────┐
   │ Evaluation  │  Avaliação de respostas do modelo
   └─────────────┘

Detalhes dos Módulos

Step1_build.py - Geração de Cenários

Gera cenários de red-team com base no contexto e esquema.

  • Entradas: esquema, consultas, chunks de contexto recuperados
  • Saídas: arquivos JSON de cenários em src/outputs/scenarios/{category}/
  • Modelo: OpenAI GPT-4

Step2_build.py - Geração de Prompts Semente

Gera prompts semente a partir de cenários.

  • Entradas: JSON de cenário da Etapa 1
  • Saídas: JSON de prompt + CSV mesclado em src/outputs/prompts/{category}/
  • Modelo: Google Gemini 2.5 Pro

Uso

Início Rápido

Geração de Dados

root@kitploit:~
# Executar o pipeline completo com o script de exemplo
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âmetroObrigatórioDescrição
--stepSimEtapa a executar: 1 (cenário), 2 (prompt), all (sequencial)
--categorySimCategoria: R1, R2, R3, R4, R5 ou R1_1, etc.
--openai_api_keyEtapa 1Chave de API da OpenAI
--gemini_api_keyEtapa 2Chave de API do Gemini
--langOpcionalIdioma do prompt: ko (padrão), en
--num_promptsOpcionalNúmero de prompts (padrão: 3)
--step1_modelOpcionalModelo para a Etapa 1 (padrão: gpt-4.1-2025-04-14)
--step2_modelOpcionalModelo para a Etapa 2 (padrão: models/gemini-2.5-pro)
--model_nameOpcionalAlias obsoleto para --step1_model

Exemplos

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

# Apenas Etapa 1
python main.py \
    --step 1 \
    --category R2 \
    --openai_api_key "sk-proj-..."

# Apenas Etapa 2 (Inglês, 5 prompts)
python main.py \
    --step 2 \
    --category R5 \
    --lang en \
    --num_prompts 5 \
    --gemini_api_key "AIza..."

# Subcategoria única
python main.py \
    --step 2 \
    --category R1_1 \
    --num_prompts 3 \
    --gemini_api_key "AIza..."

Informações das Categorias

CategoriaSubcategoriasDescrição
R1R1_1 ~ R1_6Ameaças à segurança financeira
R2R2_1 ~ R2_5Fraudes e atividades ilegais
R3R3_1 ~ R3_3Venda inadequada
R4R4_1 ~ R4_5Manipulação de mercado
R5R5_1 ~ R5_7Violações regulatórias

Avaliação

Avalia as respostas do modelo aos prompts gerados.

Executar

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

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

Exemplo

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 do CSV de Entrada

O CSV deve incluir:

  • coluna de prompt
  • coluna de resposta do modelo

Saída

  • infer_result/: resultados da avaliação
  • judge_errors/: logs de erros

Formatos de Saída

JSON de Cenário (Etapa 1)

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

JSON de Prompt (Etapa 2)

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