Bots do SWPanel

SWPanelBot-Security

Olha o site de fora, como o veria um atacante: o certificado e a cifragem, os cabeçalhos de segurança e se há arquivos que nunca deveriam ser públicos. Também confirma que uma correção de segurança foi aplicada.

User-Agent Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)

Função: Segurança 360 Operador: DeepThink Software SLU Contato: [email protected] Versão: 1.1 Revisado em: 17 de outubro de 2026

Ficha técnica

Tudo o que faz o SWPanelBot-Security

Extraído do código do módulo. Se o bot mudar o que faz, mudam esta ficha e a sua versão.

Identidade

Nome
SWPanelBot-Security. É também o seu nome para o robots.txt.
Família
SWPanelBot: o nome comum de todos os bots do SWPanel.
Versão
1.1, a que vai no User-Agent. As mudanças de cada versão estão mais abaixo.
Tipo
Direto: é executado e controlado pelo SWPanel, sempre por encomenda do proprietário do serviço.
Categoria
Testes de segurança
Operador
DeepThink Software SLU, titular do SWPanel. Informação legal.
Contato
[email protected]
Nomes anteriores
SWPanel-SOC/1.0 sem nome (cliente HTTP padrão)

Quando e quanto

Quando entra
Nas análises do SOC da Segurança 360 e da análise de código, e ao aplicar ou desfazer uma correção.
Frequência
Uma vez por análise, programada ou à mão, e uma por cada correção que é aplicada ou desfeita.
Por análise
Uma conexão TLS à porta 443, um GET à página inicial e um GET a cada uma das 8 rotas sensíveis: uma dezena de requisições.
Em paralelo
Nunca. Uma requisição atrás da outra.

Como pede

Rotas que testa
/.git/config, /.git/HEAD, /.env, /wp-config.php.bak, /phpinfo.php, /server-status, /.svn/entries e /adminer.php.
Como decide
Procura na resposta uma assinatura concreta de cada arquivo, como «[core]» em .git/config. Um 200 sem essa assinatura não conta como exposto.
Verificar uma correção
Pede a página inicial com ?swsoc= e o número da correção, sem cache, para comprovar que foi aplicada.
Métodos
GET. Para o certificado, só a saudação TLS, sem pedir nenhuma página.
Redirecionamentos
Segue-os para ler os cabeçalhos da página inicial. Nas rotas sensíveis não: só conta o que aquela rota responde.
Certificado
Lê-o para o relatório: protocolo, cifragem, emissor e vencimento. Não corta a visita se estiver mal.
Cookies e JavaScript
Não.
Esperas
5 segundos para a saudação TLS, 4 e 6 para a página inicial, 3 e 5 para cada rota, e até 20 para verificar uma correção.
Origem
Em preparação Dos servidores do SWPanel. Estamos reservando alguns IPs de saída só para os bots; quando existirem, vamos publicá-los aqui num arquivo JSON.
DNS reverso
Em preparação Cada IP terá um nome sob bots.swpanel.com que volte ao mesmo IP.

Normas que aplica

robots.txt
Isento, com motivo Não o consulta. São verificações pontuais encomendadas pelo proprietário, e as rotas são justamente as que não deveriam poder ser lidas.
A que sites vai
Cumpre Só visita sites de serviços ativos do SWPanel e deixa de passar assim que o serviço é cancelado: verifica antes de cada requisição.
Se o site pede para frear
Cumpre Com 429 ou 503 espera o que disser o Retry-After se forem 60 segundos ou menos (10 se não disser). Se pedir mais, deixa o site até a próxima análise. Após 3 erros 5xx seguidos, também o deixa.
Cache HTTP
Não se aplica Precisa da resposta de agora. A verificação de uma correção pede sem cache de propósito.
Assinatura
Cumpre Assina cada requisição com o Web Bot Auth (RFC 9421, Ed25519): cabeçalhos Signature, Signature-Input e Signature-Agent. A chave pública está em https://www.swpanel.com/.well-known/http-message-signatures-directory.
Contato na requisição
Cumpre Leva From: [email protected], como a RFC 9110 pede aos clientes automáticos.

O que faz com os dados

O que lê
Os cabeçalhos da página inicial, os dados do certificado e, de cada rota, o código de resposta e se aparece a assinatura.
O que guarda
Só o resultado: que rota respondeu e com que assinatura. Se encontrar um arquivo exposto, não guarda o seu conteúdo.
Quanto tempo
Com o histórico de análises do serviço, no SWPanel do proprietário.
Para quê
Para avisar o proprietário e propor-lhe a correção.
Privacidade
Política geral de privacidade do SWPanel.

Para o relatório também consulta fontes públicas que não tocam no seu site: os registros de certificados do crt.sh e o DNS do Google.

Como funciona

Uma passagem, passo a passo

  1. Olha o certificado

    Abre uma conexão TLS à porta 443 e lê o protocolo, a cifragem, o emissor e o vencimento.

  2. Lê os cabeçalhos

    Pede a página inicial e revisa HSTS, CSP, X-Frame-Options e o resto dos cabeçalhos de segurança.

  3. Testa as rotas

    Pede, sem seguir redirecionamentos, cada uma das 8 rotas que nunca deveriam ser públicas.

  4. Procura a assinatura

    Em cada resposta procura a assinatura do arquivo. Se não estiver, não há aviso, mesmo que a rota responda 200.

  5. Avisa

    Se encontrar algo, deixa em Segurança 360 com a correção que propõe.

  6. Comprova a correção

    Ao aplicá-la ou desfazê-la, pede a página inicial sem cache para confirmar que ficou assim.

Nos seus logs

Assim se vê o SWPanelBot-Security

Um exemplo em formato combinado de Apache e Nginx. O IP e o domínio são de documentação: os seus serão outros.

203.0.113.30 - - [17/Oct/2026:11:20:01 +0200] "GET / HTTP/1.1" 200 48211 "-" "Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)" 203.0.113.30 - - [17/Oct/2026:11:20:02 +0200] "GET /.git/config HTTP/1.1" 404 196 "-" "Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)" 203.0.113.30 - - [17/Oct/2026:11:20:02 +0200] "GET /.env HTTP/1.1" 404 196 "-" "Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)" 203.0.113.30 - - [17/Oct/2026:11:20:03 +0200] "GET /phpinfo.php HTTP/1.1" 404 196 "-" "Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)" 203.0.113.30 - - [17/Oct/2026:11:42:17 +0200] "GET /?swsoc=48213 HTTP/1.1" 200 48211 "-" "Mozilla/5.0 (compatible; SWPanelBot-Security/1.1; +https://www.swpanel.com/bots/security)"

Parece uma varredura, mas são só estas rotas, com este nome e uma atrás da outra. A última linha é a verificação de uma correção.

Comprovar

É mesmo o SWPanelBot-Security?

Um User-Agent pode ser copiado. Por isso é preciso olhá-lo junto com o resto. Os exemplos usam um IP de documentação.

DNS reverso Em preparação

$ host 203.0.113.10 10.113.0.203.in-addr.arpa domain name pointer crawl-203-0-113-10.bots.swpanel.com. $ host crawl-203-0-113-10.bots.swpanel.com crawl-203-0-113-10.bots.swpanel.com has address 203.0.113.10

O IP tem de resolver para um nome de bots.swpanel.com, e esse nome para o mesmo IP. Se só se cumpre a primeira parte, não é nosso.

Lista de IPs Em preparação

$ curl -s https://www.swpanel.com/bots/ips.asp {"formatVersion": "1.0", "creationTime": "…", "prefixes": [{"ipv4Prefix": "203.0.113.0/28", "service": "SWPanelBot"}]}

Um arquivo JSON com o formato JAFAR que propõe o IETF, ligado a partir desta página.

Assinatura da requisição Disponível

Signature-Agent: "https://www.swpanel.com" Signature-Input: sig1=("@authority" "signature-agent"); created=1792224000;expires=1792224300; keyid="…";alg="ed25519";tag="web-bot-auth" Signature: sig1=:…:

Cabeçalhos do Web Bot Auth. A chave pública está em /.well-known/http-message-signatures-directory de www.swpanel.com: com ela, qualquer firewall que entenda o Web Bot Auth comprova que a requisição é nossa.

O que pede Disponível

Compare o que você vê com a ficha: as rotas, a frequência e o volume. Um bot que se chama SWPanelBot-Security e faz outra coisa não é nosso.

Se você duvida de uma visita, escreva-nos para [email protected] com o domínio, a hora com o seu fuso horário, o IP e a linha do log, e nós comprovamos.

Pará-lo

O proprietário o pede. Ele o desliga.

Os nossos bots só visitam sites de serviços ativos do SWPanel, só para as funções que o proprietário tem ativas, e deixam de passar assim que o serviço é cancelado.

Se você é o proprietário

Desative as análises da Segurança 360 do serviço no seu SWPanel.

Se você não é

Se o domínio já não está no SWPanel, não deveria chegar nenhuma visita programada. Se chegar, escreva-nos para [email protected] e a paramos.

No firewall

Para deixá-lo passar, use o nome junto com o IP ou a assinatura, não só o nome. Cuidado com as regras genéricas: um padrão como «bot» também alcança o SWPanelBot.

Se você o bloquear

A Segurança 360 não poderá confirmar nada nem verificar as suas correções.

O robots.txt não o para: explicamos em Normas. Quem o para é o seu proprietário, a partir do SWPanel.

Normas

O que pedem os padrões, e como está o SWPanelBot-Security

A nossa situação em cada ponto, sem enfeites.

O que pedem os padrões, e como está o SWPanelBot-Security
Um nome próprio no User-Agent, com o endereço da sua página RFC 9110, 10.1.5, e rascunho IETF «Crawler best practices», 2.2 Cumpre
Um nome válido para robots.txt: letras, hífens e sublinhado RFC 9309, 2.2.1 Cumpre
Visitar só sites de serviços ativos do SWPanel, e deixar de fazê-lo assim que o serviço é cancelado Compromisso próprio do SWPanel Cumpre
Ler e respeitar o robots.txt RFC 9309 e «Crawler best practices», 2.1. O rascunho permite a isenção documentada dos rastreadores que trabalham por encomenda. É pedido pelo proprietário e é uma verificação pontual. Isento, com motivo
Não atrapalhar o site: uma requisição de cada vez, limites de páginas e de tempo, e esperas curtas «Crawler best practices», 2.3 Cumpre
Frear se o site responde 429 ou 503 «Crawler best practices», 2.3, e RFC 9110, 15.6 Cumpre
Respeitar o cache HTTP «Crawler best practices», 2.4, e RFC 9111. Precisa da resposta de agora. Não se aplica
Um contato na requisição: cabeçalho From RFC 9110, 10.1.2 Cumpre
Publicar os IPs de saída em JSON, ligados a partir desta página «Crawler best practices», 2.5, com o formato JAFAR Em preparação
DNS reverso que se possa confirmar Prática do Google, Bing e Cloudflare para verificar bots Em preparação
Assinar as requisições (Web Bot Auth) Rascunho IETF «HTTP Message Signatures for Bots», setembro de 2026 Cumpre
Página pública com o que faz, o que guarda, contato, como pará-lo e as isenções «Crawler best practices», 2.6 Cumpre

Em parte: cumpre com uma ressalva, explicada na linha. Em preparação: depende da rede, como os IPs próprios e o seu DNS reverso. Pendente: ainda sem data.

Versões

O que mudou

A versão vai no User-Agent. Quando o bot muda o que faz, mudam a versão e esta ficha.

O que mudou
1.0 12-10-2026 Nome novo, SWPanelBot-Security, com o link para a página dos bots. Substitui o SWPanel-SOC e as verificações que saíam sem nome.
1.1 17-10-2026 Aponta para esta ficha. Freia com 429 e 503, assina as requisições, leva o cabeçalho From e só visita serviços ativos.

Perguntas frequentes

Dúvidas sobre o SWPanelBot-Security

Não. É uma verificação pedida pelo proprietário do serviço: cerca de dez pedidos a caminhos conhecidos, um a seguir ao outro, com este nome. Se não é o proprietário e não a esperava, escreva-nos.

Para verificar que não podem ser lidos a partir da Internet. Se os encontrar, avisa o proprietário; não guarda o seu conteúdo.

Porque muitos sites devolvem a página inicial ou uma página de erro com código 200. Só conta como exposto se na resposta aparecer a assinatura do ficheiro.

Não o consulta: os caminhos que testa são precisamente os que não deveriam poder ser lidos, e é uma verificação pedida pelo proprietário. Para o parar, o proprietário desativa as análises.