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
Pyison — Tarpit Pythonico para rastreadores de IA | Kitploit
Ferramentas/GitHubGitHub/jonaslong/pyison
Ferramentas DefensivasScripting e AutomaçãoSegurança WebAprendizado e EducaçãoRastreadorAnti-Bot
GitHubjonaslong/pyison

Pyison

Tarpit Pythonico para rastreadores de IA

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

Pyison

Pyison é um tarpit para rastreadores web de IA

Introdução

  • Como todos os rastreadores web, os bots de IA solicitam páginas de servidores web e depois seguem links na página para outras páginas. Ao fazer isso, eles podem construir um índice de um site inteiro.
    • Ao contrário de outros rastreadores web, porém, os bots de IA apresentam alguns problemas exclusivos
      • Os administradores de servidores podem configurar um arquivo robots.txt, que informa aos rastreadores web quais páginas eles devem ou não rastrear.
        • Descobriu-se que alguns rastreadores de IA ignoram esse arquivo. Há preocupações de privacidade e direitos autorais em permitir que esses bots usem os dados de um site para treinar LLMs, especialmente quando o usuário optou explicitamente por não ser rastreado.
        • Alguns rastreadores também ignoram a limitação de taxa. Quando eles solicitam páginas o mais rápido possível, podem colocar uma carga significativa em um servidor web.
    • É aí que entra o Pyison. Como outros tarpits para rastreadores de IA (Nepenthes, Iocane), o Pyison alimenta os rastreadores web com uma lista interminável de links para outras páginas do seu site. Isso prende os rastreadores em um único site, onde eles navegarão sem fim por um mar de links em constante crescimento.
      • Manter os rastreadores de IA presos em um só lugar evita que eles indexem outras partes do site que o proprietário pode não querer fornecer aos LLMs.
      • Ao mesmo tempo, essas páginas podem conter toneladas de texto inútil. Quando os LLMs incorporam esse texto em seus modelos, eles podem ser gradualmente "envenenados", pois a entrada aleatória tornará suas respostas menos coerentes.

Motivações

  • Criar software útil para lidar com o aumento do roubo de conteúdo por LLMs
  • Resolver problemas em tarpits de IA existentes:
    • Gerar texto aleatório sem uso de uma Cadeia de Markov, LLMs ou quaisquer amostras de escrita existentes
    • Não discriminar bots de IA pelo cabeçalho User-Agent, já que rastreadores frequentemente se disfarçam como usuários normais
    • Projetar um site realista estilo blog para evitar detecção
      • Criar uma estrutura extremamente personalizável para permitir configuração adicional
    • Fornecer uma solução que possa ser facilmente integrada a um site existente
      • Suporta, mas não exige, proxies reversos/servidores web específicos; fornece configuração de sub-caminho com uma configuração de raiz do documento
    • Executar com uma pegada pequena em vez de um CMS inteiro ou servidor web cheio de recursos

Especificações Técnicas

  • Este projeto executa um servidor web dinâmico usando a biblioteca HTTPServer do Python
  • As frases são produzidas a partir de uma mistura 50/50 entre palavras inglesas aleatórias e "stop words"
  • O Pyison usa um salt global e também uma URL de página para semear seu RNG. Isso garante que, se os rastreadores fizerem uma "verificação de sanidade" recarregando uma página, ela será a mesma da última vez que verificaram. Ao mesmo tempo, servidores diferentes devem usar sementes globais diferentes para que nem todos os sites que usam o Pyison pareçam iguais.
  • É possível gerar um número ilimitado de páginas, já que o Pyison não está realmente criando arquivos permanentes. É um servidor web dinâmico, então ele apenas gera HTML e o envia ao cliente.
  • O uso de tags de conteúdo HTML, formatação CSS e imagens deve fazer o site parecer um pouco mais realista para um rastreador.
  • É possível configurar a saída do Pyison sem reescrever o programa, alterando os arquivos de config, estáticos e de template
  • O Pyison responde a solicitações POST e PUT indevidas com um 404, caso os rastreadores testem se esses verbos HTTP estão configurados

Começando

  • Clone este projeto para uma pasta local

  • Altere as configurações no arquivo config/config.json

    • Defina o random-seed para um número aleatório!
    • Defina o número da port para o servidor usar
    • Veja a seção Configuração para mais informações
  • (Opcional, mas recomendado) Atualize o template HTML, CSS, imagens e robots.txt ao seu gosto

    • Este projeto é mais eficaz se as páginas parecerem diferentes, o que pode ser feito variando a estrutura HTML e CSS. Reorganize e renomeie algumas coisas, ou reescreva completamente.
  • (Opcional) Edite o robots.txt se quiser mudar quais bots são afetados

  • Configure o ambiente do servidor com qualquer um dos métodos abaixo

  • Coloque o servidor atrás de um Proxy Reverso

    Executando localmente

    • Instale o nltk
      • pip install nltk
    • Execute o Pyison
      • python3 src/server.py
    • Verifique se está funcionando
      • Abra http://localhost:<seu número de porta> em um navegador

    Docker

    Com docker compose

    • Crie um arquivo docker-compose.yml mínimo contendo
      services:
        pyison:
          image: "ghcr.io/jonaslong/pyison:main"
          container_name: pyison
          tty: true
          ports:
            - 80:80
      
    • docker compose up
      • (Opcional) Use o sinalizador -d para se desanexar do contêiner
    • Para que alterações em arquivos locais tenham efeito, clone este repositório e use um bind mount. Veja o arquivo compose completo.

    Com docker run

    • docker run --tty --name pyison -p "127.0.0.1:80:80" --rm ghcr.io/jonaslong/pyison:main
      • (Opcional) Remova o sinalizador --rm para que o contêiner persista

    Construindo a partir do código-fonte

    • Clone o repositório localmente
    • docker build -t pyison:latest .
    • Execute o contêiner com docker run --tty --name pyison -p "127.0.0.1:80:80" --rm pyison:latest

Proxy Reverso

É altamente recomendado que você use um proxy reverso para servir este conteúdo. Ele pode reduzir a carga do servidor armazenando páginas em cache e introduzindo limites de taxa, além de servir o conteúdo via https e proteger contra alguns exploits básicos de servidores web.

Considerações

  • Estes exemplos usam o Nginx Proxy Manager, mas qualquer software de proxy reverso deve funcionar
  • O Pyison suporta as configurações SSL mais rígidas do NPM
  • O NPM deve passar o cabeçalho http User-Agent do NPM para o servidor Pyison sem qualquer configuração especial. Use proxy_pass_header User-Agent; se necessário.

Configuração de Subdomínio Independente

  • Selecione as seguintes configurações na interface, ou insira as configurações equivalentes no arquivo de configuração:

    A interface do NGINX Reverse Proxy. A caixa de diálogo "Edit Proxy Host" está aberta.
    • Nomes de domínio: Um domínio ou subdomínio que você controla, como tarpit.example.com
    • Esquema: http
    • Hostname / IP de encaminhamento: localhost, ou o nome do contêiner docker se estiver usando uma rede docker
    • Porta de encaminhamento: Qualquer porta definida no docker-compose/comando run/config.json (o padrão é 80)
    • Ative Cache Assets e Block Common Exploits, mas não Websockets Support

Configuração de Sub-caminho

  • Para usar o Pyison em um sub-caminho, use a seguinte configuração de location

    # Handles the root page ("example.com/tarpit")
    location /tarpit {
        proxy_pass http://localhost:80;
    }
    
    # Handles all sub-pages ("example.com/tarpit/a" and "example.com/tarpit/a/b")
    location /tarpit/ {
        proxy_pass http://localhost:80;
    }
    
Baixar ferramenta