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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/gpt-laboratory/trustworthyrag
Análise de CódigoAprendizado de MáquinaPapers e PesquisaSegurança de IADetecção de Anomalias
GitHubgpt-laboratory/trustworthyrag

TrustworthyRAG

Um Agente de Avaliação para Detectar Desinformação e Envenenamento de Conhecimento em Sistemas de Geração Aumentada por Recuperação.

Ver Repositório
70há 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

RAG Confiável

Um Agente de Avaliação para Detectar Desinformação e Envenenamento de Conhecimento em Sistemas de Geração Aumentada por Recuperação.

Visão Geral

Este projeto implementa um Framework RAG Confiável com um Agente de Avaliação integrado que avalia a confiabilidade das respostas RAG usando três componentes de análise complementares:

  • Verificador NLI - Verificação de consistência factual via Inferência de Linguagem Natural (BART-MNLI)
  • Detector de Envenenamento - Detecção de conteúdo adversário multissinal (linguístico, estrutural, semântico, NLI intra/entre documentos)
  • Calculadora de Índice de Confiança - Pontuação composta ponderada que combina factualidade, consistência e segurança contra envenenamento

O sistema produz um Trust Score (0-1) para cada resposta RAG, permitindo a detecção automatizada de ataques de envenenamento de conhecimento e conteúdo alucinado.

Este repositório é o artefato de pesquisa do artigo da conferência ICSEA 2026 de mesmo título. Consulte [Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/main/Conference_ICSEA2026) para os fontes LaTeX e a seção Paper abaixo.

Arquitetura

User Query
    |
    v
+-------------------+
|     RETRIEVER     |   Embedding (MiniLM-L6-v2 or Snowflake Arctic Embed2) + FAISS
+--------+----------+
         |
         v
+-------------------+
|     GENERATOR     |   Llama 3.3 70B / Qwen 3.5 35B / Mistral 7B Instruct via FARMI API
+--------+----------+
         |
         v
+--------------------------------------------+
|           EVALUATION AGENT                 |
|                                            |
|  NLI Verifier    Poison Detector           |
|  (factuality)    (5 detection methods)     |
|       |                |                   |
|       v                v                   |
|     Trust Index Calculator                 |
|     T = 0.4*F + 0.35*C + 0.25*(1-P)       |
+--------------------------------------------+
         |
         v
   Answer + Trust Score + Evaluation Report

Estrutura do Projeto

src/
  retriever/              # Document retrieval (embeddings, FAISS, chunking)
  generator/              # LLM response generation (FARMI client, prompts)
  evaluation_agent/       # Core evaluation (NLI, poison detection, trust index)
  experiments/            # Experiment framework (poisoned datasets, runner)
  pipeline/               # End-to-end RAG pipeline orchestrator

tests/                    # Unit tests (78 tests, pytest)
configs/config.yaml       # All configuration parameters
figures/                  # Auto-generated charts (7 figures, 300 DPI)
run_experiment.py         # Experiment CLI (main entry point)
generate_charts.py        # Visualization generator
requirements.txt          # Python dependencies

Configuração

# Create and activate virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1    # Windows PowerShell
# source venv/bin/activate     # Linux/Mac

# Install dependencies
pip install -r requirements.txt

# Configure FARMI API access (required for LLM generation)
# Copy the template and fill in your own credentials:
#   cp .env.example .env       # then edit .env and set FARMI_API_KEY
# The .env file is .gitignored - never commit it or hardcode keys in source.

Uso

Executar a Suíte Completa de Experimentos

python run_experiment.py --all

Isso executa todos os experimentos e gera automaticamente os gráficos:

  • Experimento principal TruthfulQA (100 amostras, envenenamento misto)
  • Experimentos por estratégia (100 amostras cada: injeção, contradição, troca de entidade, sutil)
  • Experimento no dataset FEVER (100 amostras)
  • Estudo de ablação (5 configurações de pesos, 60 amostras cada)

Outras Opções de Experimento

python run_experiment.py --quick          # Quick test (10 samples)
python run_experiment.py --samples 30     # Custom sample count
python run_experiment.py --per-strategy   # Per-strategy breakdown only
python run_experiment.py --fever          # Include FEVER dataset
python run_experiment.py --ablation       # Ablation study only
python run_experiment.py --grid           # 2x2 factorial grid (all LLM x embedding combos)
python run_experiment.py --grid --samples 50  # Full grid run (100 samples per config)

O prompt interativo permite selecionar:

  • LLM: Llama 3.3 70B (principal), Qwen 3.5 35B ou Mistral 7B Instruct (comparação)
  • Embedding: all-MiniLM-L6-v2 (local) ou snowflake-arctic-embed2 (API)
  • K: Profundidade de recuperação — K=3 (mais rápido) ou K=5 (padrão, predefinido)

Você também pode fixar o gerador de forma não interativa via variável de ambiente LLM_MODEL (correspondente a configs/config.yaml e MODEL_DESCRIPTIONS de run_experiment.py):

$env:LLM_MODEL = "mistral-7b-instruct"   # or "qwen3.5:35b", "llama3.3:70b"
python run_experiment.py --all

Caso de Uso SDLC de Codificação Segura

Reproduza o experimento do assistente de codificação segura (40 regras OWASP/CWE) a partir da raiz do projeto. Ele reutiliza o ExperimentRunner + PoisonedDatasetGenerator existentes e grava os resultados em data/experiments/seccode_*.json:

$env:LLM_MODEL = "llama3.3:70b"; $env:HF_HUB_OFFLINE = "1"; $env:TRANSFORMERS_OFFLINE = "1"
python Conference_ICSEA2026/run_seccode_usecase.py
# Set $env:SECCODE_N = "4" first for a quick smoke run over a few rules.

Regenerar Apenas os Gráficos

python generate_charts.py

Executar Testes

pytest                    # All tests (includes slow model-loading tests)
pytest -m "not slow"      # Fast tests only (~0.4s)
pytest --cov=src          # With coverage report

Principais Resultados

Resultados Principais (Llama 3.3 70B + all-MiniLM-L6-v2, TruthfulQA, K=5, 100 amostras)

DatasetAcuráciaPrecisãoRecallF1 Scorevs. Linha de Base
TruthfulQA (misto)91%100%40%57.1%+7%
FEVER (execução completa)73%20%26.7%22.9%−12%

Linha de base ingênua de confiança total: 85% (TruthfulQA), 85% (FEVER). O FEVER fica abaixo da linha de base — o Índice de Confiança exige calibração específica de domínio para afirmações factuais curtas.

Com intervalos de confiança de 95% (Wilson para proporções, bootstrap de percentil B=20,000 para F1), o resultado principal misto do TruthfulQA é: acurácia 91% (IC 83.8–95.2), recall 40% (IC 19.8–64.3), F1 57.1% (IC 25.0–80.0), Δ=0.225. Os intervalos são amplos porque cada execução tem apenas 15 amostras envenenadas, então os reportamos para evitar superestimar a precisão.

Detecção por Estratégia (TruthfulQA, 100 amostras cada)

EstratégiaAcuráciaPrecisãoRecallF1Separação
Injeção99%93.8%100%96.8%0.498
Contradição92%88.9%53.3%66.7%0.311
Sutil88%100%20.0%33.3%0.149
Troca de Entidade85%—0%0%0.053

Grade Fatorial 2×2 (K=3, TruthfulQA, 100 amostras)

Baixar ferramenta