Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/suraj-ranganath/stealthrl
Papers & ResearchLearning & EducationRed TeamingAI SecurityAdversarial Attack
GitHubsuraj-ranganath/stealthrl

StealthRL

StealthRL: RL framework for adversarially paraphrasing AI text to stress-test detector robustness.

Ver Repositório
182há 2 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
Site

StealthRL: Ataques de Paráfrase por Aprendizado por Reforço para Evasão Multi-Detector de Detectores de Texto de IA

Paper (arXiv)
Demo
Modelo (Hugging Face)
Conjunto de Dados de Benchmark (Hugging Face)

Visão Geral do Pipeline do StealthRL

Resumo

Detectores de texto de IA são cada vez mais usados em contextos de alto risco, mas sua robustez a reescritas adversariais que preservam o significado permanece incerta. Apresentamos o StealthRL, uma estrutura de aprendizado por reforço para testar a resistência de detectores de texto de IA com ataques de paráfrase adaptativos. O StealthRL treina uma política de paráfrase contra um conjunto de detectores, preservando o conteúdo semântico, e então avalia a transferência para famílias de detectores não utilizadas no treinamento. No pool completo de teste MAGE filtrado (15.310 amostras humanas / 14.656 amostras de IA), o StealthRL reduz a AUROC média de 0,79 para 0,43 e atinge um TPR médio de 0,024 @ 1%FPR entre RoBERTa, Fast-DetectGPT, Binoculars e MAGE. O ataque transfere-se para dois detectores não utilizados durante o treinamento, expondo vulnerabilidades compartilhadas, em vez de uma falha em um único detector. Analisamos ainda as distribuições das pontuações dos detectores e avaliamos a qualidade com E5, BERTScore e classificações Likert baseadas em LLM. Nossos resultados mostram que os atuais detectores de texto de IA permanecem frágeis sob pressão realista de paráfrase e fornecem um protocolo reproduzível para avaliação de robustez adversarial.

O Que Este Repositório Contém

Este repositório é a base de código de pesquisa e engenharia por trás do StealthRL. Ele contém:

  • Código de treinamento baseado em GRPO para a política de paráfrase do StealthRL
  • Implementações dos métodos de ataque M0-M5 descritos no artigo
  • Wrappers para detectores e utilitários de avaliação
  • O pipeline de avaliação completo em estágios para o MAGE usado para produzir os resultados relatados
  • Código para gráficos, métricas e julgamento de qualidade para figuras e tabelas prontas para publicação

O repositório pretende ser um ponto de partida útil para pesquisadores que desejam:

  • Reproduzir nossa avaliação de robustez de detectores
  • Substituir ou adicionar novos detectores ou métodos de ataque
  • Estudar a transferência para famílias de detectores não utilizadas
  • Avaliar suas próprias defesas de paráfrase ou métodos de equipe vermelha

Mapa do Repositório

  • stealthrl/: código de treinamento, wrappers de detectores, recompensas, utilitários de dados e o pacote original StealthBench
  • eval/: harness de avaliação de nível de pesquisa usado para os resultados do artigo
  • scripts/: pontos de entrada executáveis para treinamento, avaliação, orquestração, gráficos e utilitários
  • configs/: configurações YAML para treinamento, avaliação e ablações
  • figures/: diagramas do pipeline e ativos estáticos
  • tests/: testes de integração e sanidade
  • analysis/: auxiliares de análise ad hoc e utilitários pontuais

Configuração do Ambiente

Ambiente base

root@kitploit:~
python -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Dependências opcionais

Dependendo de quais partes do projeto você deseja executar, também pode ser necessário:

root@kitploit:~
pip install tinker
pip install openai
pip install vllm

Observações:

  • tinker é necessário para o caminho de inferência de checkpoint StealthRL baseado em nuvem usado pelo M2.
  • openai é necessário apenas para a etapa de avaliação de qualidade GPT/Likert.
  • vllm é recomendado para geração local rápida nas linhas de base do artigo.

Variáveis de ambiente

Variáveis de ambiente típicas usadas pelo repositório:

root@kitploit:~
export HF_HOME=$HOME/.cache/huggingface
export TRANSFORMERS_CACHE=$HF_HOME
export OPENAI_API_KEY=...
export TINKER_API_KEY=...

Para o pipeline de avaliação em estágios do artigo, usamos um arquivo env mais um JSON descritor de checkpoint. Os scripts públicos permitem substituir ambos os caminhos explicitamente:

root@kitploit:~
python scripts/run_full_mage_research_eval.py \
  --env-file ~/.config/stealthrl/eval.env \
  --checkpoint-json ~/.config/stealthrl/m2_checkpoint.json

Início Rápido

Teste rápido de avaliação (fumaça)

root@kitploit:~
python scripts/run_eval.py --quick

Executar o harness legado StealthBench

root@kitploit:~
python scripts/run_stealthbench.py --config configs/stealthbench.yaml

Isso agora carrega os arquivos de texto configurados, executa os detectores configurados, salva saídas CSV e gera gráficos de comparação. O antigo stub apenas com TODO foi removido.

Executar uma avaliação completa do MAGE em estágios

root@kitploit:~
python scripts/run_full_mage_research_eval.py \
  --env-file ~/.config/stealthrl/eval.env \
  --checkpoint-json ~/.config/stealthrl/m2_checkpoint.json \
  --run-root outputs/eval_runs/full_mage_public \
  --gpus 0 1 2 3

Executar o site de demonstração

O repositório inclui um site de demonstração baseado em FastAPI em demo/. Ele serve uma interface de usuário estática polida e expõe POST /api/paraphrase com suporte a chave de API mais uma cota pública de 20/dia para usuários não autenticados.

root@kitploit:~
pip install -r demo/requirements.txt
uvicorn demo.stealthrl_demo.app:app --reload --port 8080

Por padrão, a demo executa em modo mock de custo zero para teste de interface. Para usar o amostrador StealthRL real, defina STEALTHRL_DEMO_INFERENCE_BACKEND=tinker, STEALTHRL_DEMO_CHECKPOINT_JSON e TINKER_API_KEY. Consulte demo/README.md para notas sobre chave de API, cota, Docker e implantação AWS.

Reproduzindo os Resultados do Artigo

O artigo relata resultados no pool de avaliação MAGE completo filtrado:

  • 15.310 amostras humanas
  • 14.656 amostras de IA
  • 29.966 total

O pipeline de avaliação de nível de pesquisa é implementado no módulo eval/ mais os scripts em estágios em scripts/.

Fluxo de reprodução recomendado

  1. Prepare as credenciais e metadados do checkpoint.

    Crie um arquivo env contendo OPENAI_API_KEY e TINKER_API_KEY, e um JSON de checkpoint descrevendo o caminho do amostrador Tinker do StealthRL.

  2. Execute a verificação pré-voo.

root@kitploit:~
python scripts/preflight_research_eval.py \
  --env-file ~/.config/stealthrl/eval.env \
  --checkpoint-json ~/.config/stealthrl/m2_checkpoint.json
  1. Lance a avaliação completa.
root@kitploit:~
python scripts/run_full_mage_research_eval.py \
  --env-file ~/.config/stealthrl/eval.env \
  --checkpoint-json ~/.config/stealthrl/m2_checkpoint.json \
  --run-root outputs/eval_runs/full_mage_repro \
  --gpus 0 1 2 3
  1. Inspecione as saídas dos métodos gerados, pontuações dos detectores, métricas e gráficos no diretório de execução escolhido.

  2. Se você precisar apenas reexecutar o julgamento de qualidade baseado em GPT em saídas em cache:

root@kitploit:~
python scripts/run_gpt_quality_only.py \
  --run-root outputs/eval_runs/full_mage_repro \
  --env-file ~/.config/stealthrl/eval.env
  1. Se você precisar apenas adicionar BERTScore a uma execução montada com saídas em cache:
root@kitploit:~
python scripts/compute_bertscore_for_run.py \
  --run-dir outputs/eval_runs/full_mage_repro/assembled \
  --device cuda:0 \
  --batch-size 16 \
  --chunk-size 512

O script BERTScore atualiza quality.parquet e quality.csv imediatamente após cada bloco, para que execuções interrompidas possam ser retomadas sem recalcular linhas concluídas. Use --limit-per-method para um pequeno teste de fumaça e --force apenas quando for necessário recalcular colunas BERTScore existentes intencionalmente.

Principais artefatos de saída

A execução em estágios produz:

  • method_runs/: saídas geradas por método
  • detector_scores/: arquivos de pontuação parquet por detector
  • assembled/metrics.json: métricas agregadas dos detectores
  • assembled/thresholds.json: limites calibrados dos detectores
  • assembled/quality.parquet: métricas automáticas de qualidade
  • assembled/quality_gpt.parquet: classificações de qualidade GPT/Likert
  • assembled/figures/: gráficos prontos para publicação

Configurações canônicas do artigo

O checkpoint principal do artigo usa configs/tinker_mage_10k.yaml como configuração de treinamento canônica: Qwen3-4B-Instruct com LoRA rank 32, tamanho de grupo GRPO 8, 10.000 amostras de treinamento MAGE, três épocas, taxa de aprendizado 2.8e-4, coeficiente KL 0.05, temperatura 1.0, top-p 0.9 e um conjunto de recompensas de dois detectores ponderado 0.6 RoBERTa / 0.4 Fast-DetectGPT. Outras configurações em configs/ são mantidas como exemplos legados, configurações de teste de fumaça ou modelos de ablação e não devem ser tratadas como autoritativas para o artigo, a menos que documentadas explicitamente.

Implementação do Treinamento

StealthRL treina uma política de paráfrase, não um detector. A ideia central é otimizar um modelo que reescreve texto gerado por IA de modo que permaneça semanticamente fiel enquanto reduz a confiança do detector.

Modelo e otimização

  • Modelo base: Qwen/Qwen3-4B-Instruct-2507
  • Adaptação: LoRA
  • Algoritmo de RL: GRPO
  • Estilo de treinamento: otimização de política de paráfrase guiada por detector

Projeto da recompensa

A recompensa é multiobjetivo e equilibra:

  • evasão do detector contra o conjunto de detectores em treinamento
  • preservação semântica em relação ao texto fonte
  • restrições de validade e estabilidade da geração

A implementação reside principalmente em:

  • stealthrl/tinker/train.py
  • stealthrl/rewards/
  • configs/

Comportamento em tempo de inferência

O ataque StealthRL do artigo é de tiro único no momento do teste:

  • uma chamada de geração da política por amostra
  • nenhum loop de refinamento iterativo
  • nenhuma consulta ao detector alvo durante a avaliação

O acesso ao detector é usado durante o treinamento offline de RL e para avaliação externa, não para busca adaptativa em tempo de consulta no M2.

Implementação da Avaliação

A avaliação do artigo é implementada na pilha mais nova eval/, em vez do harness stealthrl/evaluation/ mais antigo.

Métodos

  • M0: sem ataque
  • M1: linha de base de paráfrase simples
  • M2: StealthRL
  • M3: linha de base de paráfrase adversarial guiada por detector
  • M4: linha de base AuthorMist
  • M5: linha de base de ofuscação em nível de caractere

Código relevante:

  • eval/methods/
  • scripts/generate_method_outputs.py

Painel de detectores

O painel principal de detectores do artigo usa:

  • roberta: openai-community/roberta-large-openai-detector
  • fast_detectgpt
  • binoculars
  • mage: yaful/MAGE

O repositório também mantém suporte a ghostbuster para experimentos legados/de compatibilidade, mas Ghostbuster não faz parte do painel final de quatro detectores do artigo.

Código relevante:

  • eval/detectors.py
  • scripts/score_detector_outputs.py
  • eval/runner.py

Métricas e análise de qualidade

O código de avaliação público calcula:

  • AUROC
  • TPR@1%FPR
  • TPR@5%FPR
  • ASR
  • similaridade E5
  • precisão/recall/F1 do BERTScore
  • perplexidade
  • taxa de edição
  • pontuações de qualidade e similaridade GPT/Likert
  • intervalos de confiança bootstrap

Código relevante:

  • eval/metrics.py
  • eval/plots.py
  • eval/quality_judge.py
  • scripts/finalize_eval_run.py

Notas de Engenharia

Integração com vLLM

O código de avaliação atual suporta geração local baseada em vLLM para avaliação de alto rendimento das linhas de base. Isso é implementado em:

  • eval/methods/vllm_backend.py

Integração com Tinker

O método StealthRL M2 suporta amostragem via Tinker usando um JSON descritor de checkpoint. Este caminho é implementado em:

  • eval/methods/stealthrl.py

Orquestração em estágios e retomada

O pipeline MAGE completo é intencionalmente em estágios:

  • verificações pré-voo falham rapidamente em problemas de configuração do detector/modelo
  • a geração por método é isolada e retomável
  • a pontuação do detector é separada da geração
  • a montagem final e o julgamento GPT são retomáveis

Isso torna execuções longas com múltiplas GPUs mais robustas e fáceis de depurar.

Estendendo o Repositório

Adicionar um novo método de ataque

  1. Adicione uma classe em eval/methods/
  2. Implemente a interface BaseAttackMethod
  3. Registre o método em eval/methods/__init__.py
  4. Adicione-o ao executor em estágios se quiser que seja incluído em execuções orquestradas

Adicionar um novo detector

  1. Adicione um wrapper de detector à pilha de avaliação
  2. Implemente carregamento e pontuação em lote
  3. Registre-o no registro de detectores usado por eval/runner.py
  4. Adicione limites, gráficos e ganchos de tabela conforme necessário

Adicionar um novo conjunto de dados de benchmark

  1. Adicione um carregador ou adaptador de conjunto de dados
  2. Normalize-o para o esquema de amostra de avaliação
  3. Atualize os scripts de execução com o nome do conjunto de dados e a lógica de amostragem

Uso Responsável

Este repositório é disponibilizado para pesquisa sobre robustez de detectores de texto de IA, avaliação adversarial e benchmarking defensivo. Não se destina a apoiar trapaças, plágio ou evasão de sistemas legítimos de segurança e integridade.

Se você construir sobre este trabalho, use-o para melhorar a robustez, calibração, avaliação de transferência e transparência em torno das limitações de implantação dos detectores.

Citação

Se você usar este repositório, por favor cite o artigo:

root@kitploit:~
@article{ranganath2026stealthrl,
  title={StealthRL: Reinforcement Learning Paraphrase Attacks for Multi-Detector Evasion of AI-Text Detectors},
  author={Ranganath, Suraj e outros},
  journal={arXiv preprint arXiv:2602.08934},
  year={2026}
}
Baixar ferramenta