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
Uncensored-AI — Remoção de censura totalmente automática para modelos de linguagem | Kitploit
Ferramentas/GitHubGitHub/0xsojalsec/uncensored-ai
Aprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IAAtaque Adversário
GitHub0xsojalsec/uncensored-ai

Uncensored-AI

Remoção de censura totalmente automática para modelos de linguagem

Ver Repositório
231524há 2 mesesRevisado pelo Kitploit

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
Logotipo

Heretic: Remoção automática total de censura para modelos de linguagem

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Heretic é uma ferramenta que remove a censura (também conhecida como "alinhamento de segurança") de modelos de linguagem baseados em transformadores sem necessidade de pós-treinamento caro. Ela combina uma implementação avançada de ablação direcional, também conhecida como "abliteration" (Arditi et al. 2024, Lai 2025 (1, 2)), com um otimizador de parâmetros baseado em TPE alimentado pelo Optuna.

Essa abordagem permite que o Heretic funcione de forma completamente automática. O Heretic encontra parâmetros de abliteração de alta qualidade minimizando conjuntamente o número de recusas e a divergência KL em relação ao modelo original. Isso resulta em um modelo sem censura que retém o máximo possível da inteligência do modelo original. Usar o Heretic não exige compreensão dos internos do transformador. Na verdade, qualquer pessoa que saiba executar um programa de linha de comando pode usar o Heretic para descensurar modelos de linguagem.

O Heretic suporta a maioria dos modelos densos, incluindo muitos modelos multimodais, várias arquiteturas MoE diferentes e até mesmo alguns modelos híbridos como Qwen3.5. Modelos puros de espaço de estado e algumas outras arquiteturas de pesquisa ainda não são suportados prontamente.

Captura de tela

 

Executado sem supervisão com a configuração padrão, o Heretic pode produzir modelos descensurados que rivalizam com a qualidade de abliterações criadas manualmente por especialistas humanos:

A versão do Heretic, gerada sem qualquer esforço humano, atinge o mesmo nível de supressão de recusas que outras abliterações, mas com uma divergência KL muito menor, indicando menos dano às capacidades do modelo original. (Você pode reproduzir esses números usando a funcionalidade de avaliação integrada do Heretic, ex: heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic. Observe que os valores exatos podem depender da plataforma e do hardware. A tabela acima foi compilada usando PyTorch 2.8 em uma RTX 5090.)

É claro que métricas matemáticas e benchmarks automatizados nunca contam toda a história e não substituem a avaliação humana. Modelos gerados com Heretic têm sido bem recebidos pelos usuários (links e ênfase adicionados):

"Eu estava cético antes, mas acabei de baixar GPT-OSS 20B Heretic e caramba. Ele dá respostas longas e bem formatadas sobre tópicos sensíveis, usando exatamente as palavras sem censura que você esperaria de um modelo sem censura, produz tabelas em markdown com detalhes e tudo mais. Parece que esta é a melhor versão abliterada deste modelo até agora..." (Link para o comentário)

"Heretic GPT 20b parece ser o melhor modelo sem censura que já experimentei. Ele não destrói a inteligência do modelo e responde a prompts que normalmente seriam rejeitados pelo modelo base." (Link para o comentário)

"[Qwen3-4B-Instruct-2507-heretic] Tem sido o melhor modelo abliterado não quantizado que consegui executar em 16gb de vram." (Link para o comentário)

Modelos do Heretic também foram avaliados independentemente usando métricas padrão como MMLU e GSM8K, e descobriu-se que se comparam favoravelmente com modelos produzidos por ferramentas de abliteração concorrentes: 1, 2.

A comunidade criou e publicou bem mais de 4000 modelos com o Heretic.

Uso

Prepare um ambiente Python 3.10+ com PyTorch 2.2+ instalado conforme apropriado para seu hardware. Em seguida, execute:

root@kitploit:~
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507

Substitua Qwen/Qwen3-4B-Instruct-2507 pelo modelo que você deseja descensurar.

[!IMPORTANT]

Embora PyTorch 2.2 seja a versão mínima necessária para o Heretic funcionar, alguns modelos e configurações podem exigir recursos encontrados apenas em versões posteriores. Por exemplo, carregar modelos quantizados em MXFP4 como gpt-oss usa torch.accelerator, que foi adicionado no PyTorch 2.6.

[!TIP]

O Heretic usa uv para gerenciamento de dependências, e o repositório inclui um arquivo uv.lock que fixa a versão de cada pacote. Se você já usa uv (e provavelmente deveria!), pode simplesmente clonar o repositório e executar o Heretic com uv run heretic, o que garante que suas dependências correspondam às usadas pelos desenvolvedores, melhorando a confiabilidade e a segurança.

O processo é totalmente automático e não requer configuração; no entanto, o Heretic possui uma variedade de parâmetros de configuração que podem ser alterados para maior controle. Execute heretic --help para ver as opções de linha de comando disponíveis, ou veja config.default.toml se preferir usar um arquivo de configuração.

No início de uma execução, o Heretic avalia o sistema para determinar o tamanho de lote ideal para aproveitar ao máximo o hardware disponível. Em uma RTX 3090, com a configuração padrão, descensurar Qwen3-4B-Instruct-2507 leva cerca de 20 a 30 minutos. Observe que o Heretic suporta quantização de modelos com bitsandbytes, o que pode reduzir drasticamente a quantidade de VRAM necessária para processar modelos. Defina a opção quantization como bnb_4bit para ativar a quantização.

Após o Heretic terminar de descensurar um modelo, você tem a opção de salvar o modelo, enviá-lo para o Hugging Face, conversar com ele para testar seu funcionamento, executar benchmarks padrão nele, ou qualquer combinação dessas ações.

Recursos de pesquisa

Além de sua função principal de remover a censura do modelo, o Heretic também fornece recursos projetados para apoiar a pesquisa sobre a semântica dos internos do modelo (interpretabilidade). Para usar esses recursos, você precisa instalar o Heretic com o extra opcional research:

root@kitploit:~
pip install -U heretic-llm[research]

Isso lhe dá acesso à seguinte funcionalidade:

Gerar gráficos de vetores residuais passando --plot-residuals

Quando executado com esta flag, o Heretic irá:

  1. Calcular vetores residuais (estados ocultos) para o primeiro token de saída, para cada camada do transformador, tanto para prompts "prejudiciais" quanto "inócuos".
  2. Realizar uma projeção PaCMAP do espaço residual para o espaço 2D.
  3. Alinhar à esquerda e à direita as projeções de resíduos "prejudiciais"/"inócuos" por suas medianas geométricas para tornar as projeções de camadas consecutivas mais similares. Além disso, o PaCMAP é inicializado com as projeções da camada anterior para cada nova camada, minimizando transições disruptivas.
  4. Criar gráficos de dispersão das projeções, gerando uma imagem PNG para cada camada.
  5. Gerar uma animação mostrando como os resíduos se transformam entre as camadas, como um GIF animado.
Gráfico de vetores residuais

Veja o arquivo de configuração para opções que permitem controlar vários aspectos dos gráficos gerados.

Observe que PaCMAP é uma operação cara executada na CPU. Para modelos maiores, pode levar uma hora ou mais para calcular as projeções para todas as camadas.

Imprimir detalhes sobre a geometria residual passando --print-residual-geometry

Se você estiver interessado em uma análise quantitativa de como os vetores residuais para prompts "prejudiciais" e "inócuos" se relacionam, esta flag fornece a seguinte tabela, repleta de métricas que podem facilitar a compreensão do mesmo (para gemma-3-270m-it neste caso):

root@kitploit:~
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Layer ┃ S(g,b) ┃ S(g*,b*) ┃  S(g,r) ┃ S(g*,r*) ┃  S(b,r) ┃ S(b*,r*) ┃      |g| ┃     |g*| ┃      |b| ┃     |b*| ┃     |r| ┃    |r*| ┃   Silh ┃
┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
│     1 │ 1.0000 │   1.0000 │ -0.4311 │  -0.4906 │ -0.4254 │  -0.4847 │   170.29 │   170.49 │   169.78 │   169.85 │    1.19 │    1.31 │ 0.0480 │
│     2 │ 1.0000 │   1.0000 │  0.4297 │   0.4465 │  0.4365 │   0.4524 │   768.55 │   768.77 │   771.32 │   771.36 │    6.39 │    5.76 │ 0.0745 │
│     3 │ 0.9999 │   1.0000 │ -0.5699 │  -0.5577 │ -0.5614 │  -0.5498 │  1020.98 │  1021.13 │  1013.80 │  1014.71 │   12.70 │   11.60 │ 0.0920 │
│     4 │ 0.9999 │   1.0000 │  0.6582 │   0.6553 │  0.6659 │   0.6627 │  1356.39 │  1356.20 │  1368.71 │  1367.95 │   18.62 │   17.84 │ 0.0957 │
│     5 │ 0.9987 │   0.9990 │ -0.6880 │  -0.6761 │ -0.6497 │  -0.6418 │   766.54 │   762.25 │   731.75 │   732.42 │   51.97 │   45.24 │ 0.1018 │
│     6 │ 0.9998 │   0.9998 │ -0.1983 │  -0.2312 │ -0.1811 │  -0.2141 │  2417.35 │  2421.08 │  2409.18 │  2411.40 │   43.06 │   43.47 │ 0.0900 │
│     7 │ 0.9998 │   0.9997 │ -0.5258 │  -0.5746 │ -0.5072 │  -0.5560 │  3444.92 │  3474.99 │  3400.01 │  3421.63 │   86.94 │   94.38 │ 0.0492 │
│     8 │ 0.9990 │   0.9991 │  0.8235 │   0.8312 │  0.8479 │   0.8542 │  4596.54 │  4615.62 │  4918.32 │  4934.20 │  384.87 │  377.87 │ 0.2278 │
│     9 │ 0.9992 │   0.9992 │  0.5335 │   0.5441 │  0.5678 │   0.5780 │  5322.30 │  5316.96 │  5468.65 │  5466.98 │  265.68 │  267.28 │ 0.1318 │
│    10 │ 0.9974 │   0.9973 │  0.8189 │   0.8250 │  0.8579 │   0.8644 │  5328.81 │  5325.63 │  5953.35 │  5985.15 │  743.95 │  779.74 │ 0.2863 │
│    11 │ 0.9977 │   0.9978 │  0.4262 │   0.4045 │  0.4862 │   0.4645 │  9644.02 │  9674.06 │  9983.47 │  9990.28 │  743.28 │  726.99 │ 0.1576 │
│    12 │ 0.9904 │   0.9907 │  0.4384 │   0.4077 │  0.5586 │   0.5283 │ 10257.40 │ 10368.50 │ 11114.51 │ 11151.21 │ 1711.18 │ 1664.69 │ 0.1890 │
│    13 │ 0.9867 │   0.9874 │  0.4007 │   0.3680 │  0.5444 │   0.5103 │ 12305.12 │ 12423.75 │ 13440.31 │ 13432.47 │ 2386.43 │ 2282.47 │ 0.1293 │
│    14 │ 0.9921 │   0.9922 │  0.3198 │   0.2682 │  0.4364 │   0.3859 │ 16929.16 │ 17080.37 │ 17826.97 │ 17836.03 │ 2365.23 │ 2301.87 │ 0.1282 │
│    15 │ 0.9846 │   0.9850 │  0.1198 │   0.0963 │  0.2913 │   0.2663 │ 16858.58 │ 16949.44 │ 17496.00 │ 17502.88 │ 3077.08 │ 3029.60 │ 0.1611 │
│    16 │ 0.9686 │   0.9689 │ -0.0029 │  -0.0254 │  0.2457 │   0.2226 │ 18912.77 │ 19074.86 │ 19510.56 │ 19559.62 │ 4848.35 │ 4839.75 │ 0.1516 │
│    17 │ 0.9782 │   0.9784 │ -0.0174 │  -0.0381 │  0.1908 │   0.1694 │ 27098.09 │ 27273.00 │ 27601.12 │ 27653.12 │ 5738.19 │ 5724.21 │ 0.1641 │
│    18 │ 0.9184 │   0.9196 │  0.1343 │   0.1430 │  0.5155 │   0.5204 │   190.16 │   190.35 │   219.91 │   220.62 │   87.82 │   87.59 │ 0.1855 │
└───────┴────────┴──────────┴─────────┴──────────┴─────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────────┴─────────┴────────┘
g = média dos vetores residuais para prompts bons
g* = mediana geométrica dos vetores residuais para prompts bons
b = média dos vetores residuais para prompts ruins
b* = mediana geométrica dos vetores residuais para prompts ruins
r = direção de recusa para as médias (isto é, b - g)
r* = direção de recusa para as medianas geométricas (isto é, b* - g*)
S(x,y) = similaridade cosseno de x e y
|x| = norma L2 de x
Silh = Coeficiente de silhueta médio dos resíduos para clusters bom/ruim

Como o Heretic funciona

O Heretic implementa uma variante parametrizada de ablação direcional. Para cada componente do transformador suportado (atualmente, a projeção de saída da atenção e a projeção de saída do MLP), ele identifica as matrizes associadas em cada camada do transformador e as ortogonaliza em relação à "direção de recusa" relevante, inibindo a expressão dessa direção no resultado das multiplicações com essa matriz.

As direções de recusa são computadas para cada camada como uma diferença de médias entre os resíduos do primeiro token para prompts "prejudiciais" e "inócuos" de exemplo.

O processo de ablação é controlado por vários parâmetros otimizáveis:

  • direction_index: O índice de uma direção de recusa, ou o valor especial per layer, indicando que cada camada deve ser ablada usando a direção de recusa associada a essa camada.
  • max_weight, max_weight_position, min_weight e min_weight_distance: Para cada componente, esses parâmetros descrevem a forma e a posição do kernel de peso de ablação sobre as camadas. O diagrama a seguir ilustra isso:
Explicação

 

As principais inovações do Heretic em relação aos sistemas de abliteração existentes são:

  • A forma do kernel de peso de ablação é altamente flexível, o que, combinado com a otimização automática de parâmetros, pode melhorar a relação conformidade/qualidade. Pesos de ablação não constantes foram explorados anteriormente por Maxime Labonne em gemma-3-12b-it-abliterated-v2.
  • O índice da direção de recusa é um float em vez de um inteiro. Para valores não inteiros, os dois vetores de direção de recusa mais próximos são interpolados linearmente. Isso desbloqueia um vasto espaço de direções adicionais além daquelas identificadas pelo cálculo da diferença de médias, e frequentemente permite que o processo de otimização encontre uma direção melhor do que a pertencente a qualquer camada individual.
  • Os parâmetros de ablação são escolhidos separadamente para cada componente. Descobri que intervenções no MLP tendem a ser mais prejudiciais ao modelo do que intervenções na atenção, portanto, usar pesos de ablação diferentes pode extrair desempenho extra.

Trabalhos anteriores

Conheço as seguintes implementações públicas de técnicas de abliteração:

  • AutoAbliteration
  • abliterator.py
  • wassname's Abliterator
  • ErisForge
  • Removing refusals with HF Transformers
  • deccp

Observe que o Heretic foi escrito do zero e não reutiliza código de nenhum desses projetos.

Agradecimentos

O desenvolvimento do Heretic foi informado por:

  • O artigo original sobre abliteração (Arditi et al. 2024)
  • O artigo de Maxime Labonne sobre abliteração, bem como alguns detalhes dos model cards de seus próprios modelos abliterados (veja acima)
  • Os artigos de Jim Lai descrevendo "projected abliteration" e "norm-preserving biprojected abliteration"

Citação

Se você usar o Heretic em sua pesquisa, por favor, cite-o usando a seguinte entrada BibTeX:

root@kitploit:~
@misc{heretic,
  author = {Weidmann, Philipp Emanuel},
  title = {Heretic: Fully automatic censorship removal for language models},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/p-e-w/heretic}}
}

Licença

Copyright © 2025-2026 Philipp Emanuel Weidmann ([email protected]) + contribuidores

Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral Affero GNU, conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO PARTICULAR. Veja a Licença Pública Geral Affero GNU para mais detalhes.

Você deve ter recebido uma cópia da Licença Pública Geral Affero GNU junto com este programa. Caso contrário, veja https://www.gnu.org/licenses/.

Ao contribuir para este projeto, você concorda em liberar suas contribuições sob a mesma licença.

Baixar ferramenta
ModeloRecusas para prompts "prejudiciais"Divergência KL do modelo original para prompts "inócuos"
google/gemma-3-12b-it (original)97/1000 (por definição)
mlabonne/gemma-3-12b-it-abliterated-v23/1001.04
huihui-ai/gemma-3-12b-it-abliterated3/1000.45
p-e-w/gemma-3-12b-it-heretic (nosso)3/1000.16