Kit INEMA · segurança defensiva

IA sem censura, do jeito certo

Seu próprio modelo, sem sermão, para examinar o que é seu — com escopo registrado, laboratório falso e a GPU parada quando você não está usando.

Banner: IA sem censura defensiva — seu próprio modelo para proteger o que é seu; API hospedada, GPU na RunPod, local no LM Studio
Em resumo

Este é um kit gratuito do INEMA, em português, para quem estuda segurança e quer um modelo de IA aberto que não recuse perguntas técnicas — os chamados modelos abliterated, dos quais a recusa foi removida. Ele mostra como ligar esse modelo ao DeepSeek Harness (um agente de código aberto) por uma API, por uma GPU alugada na RunPod ou pelo LM Studio no seu computador. Traz prompts prontos, scripts que provam se texto, ferramenta e imagem funcionam, um laboratório falso para treinar e uma guarda que para a GPU ociosa. Você precisa de um assistente que leia arquivos, Python 3.10+ e, conforme a rota, uma conta de API ou de GPU — e de permissão para tudo o que for testar.

O que é

Um modelo que não recusa, com cercas que você controla

Tirar a recusa do modelo não tira a responsabilidade: ela passa para o escopo, o laboratório e as permissões que você dá. O kit traz as três coisas prontas.

Banner com seis cartões: API hospedada, GPU na RunPod, local no LM Studio, ferramentas MCP, laboratório sintético, escopo autorizado

🧭 Três rotas, um teste

API hospedada, GPU na RunPod ou LM Studio local. Em todas, o mesmo checador prova texto em dois turnos, uma função inofensiva e a leitura de uma imagem — cada um separado.

🧪 Laboratório antes do mundo

Uma página falsa em 127.0.0.1 com dois achados de configuração. A checagem só roda com arquivo de escopo válido, faz uma requisição e recusa qualquer host remoto.

💸 GPU não fica ligada à toa

Uma guarda local mede o tempo sem uso e, se você mandar, para o seu Pod conferindo ID e nome — começando em simulação e confirmando EXITED.

Como funciona

Escolha a rota, prove cada camada, só então use

A ordem é sempre a mesma: escopo e laboratório primeiro, uma capacidade por vez, custo sob controle.

Ler as fronteiras→ Escolher a rota→ Ligar ao Harness→ Testar texto · função · imagem→ Ferramentas MCP→ Laboratório sintético→ Seu app, com escopo

☁️ API hospedada

Menos passos, sem GPU. Você paga o uso da API (assinatura de chat não inclui). Exemplos de provedor: Abliteration e OrcaRouter.

  • Prompts 01 → 02 → 03 → 09

🖥️ GPU na RunPod

Você escolhe modelo e runtime. Paga hora de GPU e armazenamento. Exemplo: Huihui Qwen3.5 9B abliterated Q6_K com projetor de visão.

  • Prompts 01 → 04 → 05 → 06 → 03 → 09

💻 Local no LM Studio

Sem conta de GPU, se a máquina aguentar. Exemplo: Huihui Qwen3.6 35B-A3B abliterated Q4_K (~21,7 GB + ~0,9 GB de projetor).

  • Prompts 01 → 07 → 08 → 03 → 09

Modelos e preços conferidos em 26/10/2026. Mudam: confira antes de baixar ou alugar.

Glossário rápido

Abliterated

Modelo aberto do qual alguém removeu, por técnica, a tendência de recusar pedidos.

DeepSeek Harness

Agente de código aberto que conversa com o modelo e dá a ele ferramentas, numa pasta de trabalho.

MCP

Padrão para ligar ferramentas a um agente de IA. Aqui: navegador (Playwright) e pesquisa (Firecrawl).

GGUF, Q4_K, Q6_K

GGUF é o formato do arquivo do modelo; Q4_K e Q6_K são níveis de compressão (quantização): menor número, arquivo menor e um pouco menos de qualidade.

Projetor de visão

Arquivo extra (mmproj) que deixa o modelo ler imagens. Precisa combinar com o modelo e com o runtime.

Runtime

O programa que roda o modelo e serve a API (ex.: o servidor do LM Studio).

Pod e EXITED

Pod é a máquina com GPU alugada na RunPod. EXITED é o status de parada: só ele prova que a GPU parou de cobrar por hora.

Nuclei

Scanner de linha de comando que roda "templates". O kit traz um passivo, só para o laboratório.

Endpoint

O endereço da API do modelo, terminado em /v1.

Pré-requisitos

O que precisa estar na sua mesa

Os scripts do kit usam só a biblioteca padrão do Python. O resto depende da rota.

Python 3.10+ e git

Para baixar o kit e rodar os scripts e testes.

git clone https://github.com/inematds/ia-sem-censura-defensiva
cd ia-sem-censura-defensiva
python3 kit/scripts/doutor.py

Um assistente que lê arquivos

Claude Code, Codex ou similar. Ele segue os prompts e mostra antes de fazer. Node.js na versão que o Harness pedir.

Conta conforme a rota

API: conta e crédito no provedor. RunPod: conta e crédito. Local: memória livre e disco. Nenhuma assinatura de chat inclui API ou GPU.

Guia de uso · passo a passo

Do zero ao primeiro achado no laboratório

Os passos 1 a 4 rodam hoje, sem conta nenhuma. Do 5 em diante, siga os prompts da sua rota.

1

Baixe o kit e confira a máquina

O doutor só lê versões e portas; não instala nada e não abre chave.

git clone https://github.com/inematds/ia-sem-censura-defensiva && cd ia-sem-censura-defensiva
python3 kit/scripts/doutor.py
2

Rode os testes offline

25 testes em 127.0.0.1, com servidores falsos: escopo negado, alvo remoto recusado, escopo vencido, achado e correção, proxy sem token, relógio ocioso e falha de parada.

python3 -m unittest discover -s kit/testes -v   # Ran 25 tests ... OK
3

Ligue o laboratório e faça a checagem com escopo

Dois terminais. A checagem cria um escopo de 10 minutos só para o seu laboratório, faz uma requisição e lista os achados.

# terminal 1
python3 kit/scripts/laboratorio.py
# terminal 2
python3 kit/scripts/checagem_segura.py --lab-local-autorizado
# "achados": X-Content-Type-Options e Referrer-Policy ausentes
4

Corrija e reteste

Pare o laboratório (Ctrl+C), ligue a versão corrigida e repita a mesma checagem. Use o modelo de relatório para separar evidência, hipótese e correção.

python3 kit/scripts/laboratorio.py --corrigido
python3 kit/scripts/checagem_segura.py --lab-local-autorizado   # "achados": []
5

Entregue o kit ao seu assistente

Abra CONFIGURA-COM-ASSISTENTE.md, copie o pedido e cole no Claude Code (ou similar) aberto na pasta do kit. Ele pergunta a rota, a memória livre e o orçamento.

6

Ligue o modelo pela sua rota

Siga os prompts numerados: o assistente instala o que faltar (Harness, LM Studio, Nuclei) e mostra antes. Na rota local, com o LM Studio instalado (o comando lms vem com ele), o servidor fica preso em 127.0.0.1:

lms load SEU-MODELO --context-length 4096 --identifier defensivo-local --ttl 600
lms server start --bind 127.0.0.1 --port 1234
7

Prove texto, função e imagem

A chave (se houver) vem de um arquivo privado; nunca do chat. Cada capacidade sai como resultado separado.

# rota local: sem chave
python3 kit/scripts/checa_endpoint.py --base-url http://127.0.0.1:1234/v1 \
  --modelo defensivo-local --funcao --imagem kit/exemplos/teste-visao.png
# API ou nuvem: a chave vai num arquivo privado, uma linha só
mkdir -p ~/.segredos && chmod 700 ~/.segredos
nano ~/.segredos/chave-modelo && chmod 600 ~/.segredos/chave-modelo
export INEMA_CHAVE_MODELO_ARQ=~/.segredos/chave-modelo
python3 kit/scripts/checa_endpoint.py --base-url https://SEU-PROVEDOR/v1 --modelo SEU-ID --funcao
8

Dê ferramentas, uma de cada vez

Navegador (Playwright MCP), pesquisa (Firecrawl MCP) e Nuclei, cada um provado com uma chamada real — o Nuclei (scanner de linha de comando, instalado pelo prompt 03) só contra o laboratório, com o template passivo do kit.

nuclei -u http://127.0.0.1:8181/ -t kit/exemplos/nuclei-cabecalhos-lab.yaml -rl 1 -c 1
9

Na RunPod: guarda ociosa em simulação

Todo pedido passa pela guarda em 127.0.0.1:8282, com token local. Só depois de ver simulacao_pararia você liga a parada real, com ID e nome exatos do Pod. Confira EXITED no painel.

# cria um token local aleatório (é ele que o Harness usa, não a chave da RunPod)
mkdir -p ~/.segredos && chmod 700 ~/.segredos
python3 -c "import secrets;print(secrets.token_urlsafe(32))" > ~/.segredos/token-guarda
chmod 600 ~/.segredos/token-guarda
export INEMA_TOKEN_LOCAL_ARQ=~/.segredos/token-guarda
python3 kit/scripts/guarda_ociosa.py --upstream https://SEU-ENDPOINT/v1 --ocioso 900
10

Seu app, só com escopo escrito

Preencha uma cópia de escopo-autorizado.exemplo.json fora do repositório e use o prompt 09: plano não destrutivo, evidência mínima, correção e reteste.

Fronteiras

As regras que vêm junto com o modelo sem recusa

Estão no fim de todos os prompts e no USO-DEFENSIVO.md. Não são opcionais.

Só o que é seu

Sistemas seus ou com permissão por escrito do dono. URL pública, login que funciona ou chave de API não são permissão.

Escopo antes do primeiro pedido

Alvo exato, permissão registrada, ações, janela e limites. Faltou, venceu ou ficou confuso: pare.

Laboratório sintético primeiro

Dados inventados, em 127.0.0.1. Checagens que não mudam nada antes de qualquer outra.

Prova proporcional

A menor evidência que confirma o achado. Nada de baixar banco, mostrar credencial real ou mexer em conta alheia.

Credenciais fora do chat e do git

Arquivo privado com chmod 600, apontado por variável de ambiente. Chaves de teste, revogadas no fim.

Prompt não é cerca

Modelo baixado roda primeiro sem ferramentas. Isolamento é do sistema operacional e do contêiner, não do texto do prompt.

Local só em 127.0.0.1

Endpoint no seu computador não fica aberto na rede. Endpoint na nuvem sempre com autenticação — prove que sem chave é recusado.

Pare o Pod e confira EXITED

Parar o app não para a GPU. E o armazenamento continua cobrando com o Pod parado.

IA erra: confira

Achado de IA é hipótese até ser reproduzido com segurança. Varredura limpa não prova que algo é seguro.

Leitura de segurança sobre modelos abliterated com porta dos fundos: ProjectDiscovery — How abliterated models can get you pwned (em inglês).

Vídeo

O kit explicado em vídeo

As três rotas, o laboratório e a guarda de custo, em poucos minutos.

▶ Assistir no YouTube · Player com legendas e capítulos

Status · 26/10/2026

O que foi testado — e o que depende da sua conta

Teste com limite claro, não certificação. Detalhes em kit/verificacao/STATUS.md.

✔ Testado
Scripts do kit, offline25 testes passando em 127.0.0.1, com API e modelo falsos; laboratório e checagem pela linha de comando.
◐ Observado
Modelo local Q4_K no LM StudioEm 26/10/2026, numa instalação existente: texto ✔, função ✔, imagem ✘ nesse runtime. Não repetido nesta versão do kit.
— Não testado
Provedor pago, GPU na RunPod, parada real de PodDependem da conta e da chave de quem usa. Nenhuma GPU paga foi alugada para este kit.
— Não testado
Harness, MCPs e Nuclei instaladosConfiguração de exemplo pronta; a instalação em cada sistema fica com você e o seu assistente.