Bots SWPanel

SWPanelBot-Security

Regarde le site de l'extérieur, comme le verrait un attaquant : le certificat et le chiffrement, les en-têtes de sécurité et la présence de fichiers qui ne devraient jamais être publics. Il confirme aussi qu'un correctif de sécurité a bien été appliqué.

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

Fonction: Sécurité 360 Opérateur: DeepThink Software SLU Contact: [email protected] Version: 1.1 Révisé le: 17 octobre 2026

Fiche technique

Tout ce que fait SWPanelBot-Security

Extrait du code du module. Si le bot change ce qu'il fait, cette fiche et sa version changent.

Identité

Nom
SWPanelBot-Security. C'est aussi son nom pour robots.txt.
Famille
SWPanelBot : le nom commun de tous les bots de SWPanel.
Version
1.1, celle qui figure dans l'User-Agent. Les changements de chaque version sont plus bas.
Type
Direct : il est exécuté et contrôlé par SWPanel, toujours à la demande du propriétaire du service.
Catégorie
Tests de sécurité
Opérateur
DeepThink Software SLU, titulaire de SWPanel. Informations légales.
Contact
[email protected]
Anciens noms
SWPanel-SOC/1.0 sans nom (client HTTP par défaut)

Quand et combien

Quand il passe
Lors des analyses du SOC de Sécurité 360 et de l'analyse de code, et lors de l'application ou de l'annulation d'un correctif.
Fréquence
Une fois par analyse, programmée ou manuelle, et une fois par correctif appliqué ou annulé.
Par analyse
Une connexion TLS sur le port 443, un GET sur la page d'accueil et un GET sur chacun des 8 chemins sensibles : une dizaine de requêtes.
En parallèle
Jamais. Une requête après l'autre.

Comment il demande

Chemins qu'il teste
/.git/config, /.git/HEAD, /.env, /wp-config.php.bak, /phpinfo.php, /server-status, /.svn/entries et /adminer.php.
Comment il décide
Il cherche dans la réponse une signature précise de chaque fichier, comme « [core] » dans .git/config. Un 200 sans cette signature ne compte pas comme exposé.
Vérifier un correctif
Il demande la page d'accueil avec ?swsoc= et le numéro du correctif, sans cache, pour vérifier qu'il a bien été appliqué.
Méthodes
GET. Pour le certificat, seulement la négociation TLS, sans demander aucune page.
Redirections
Il les suit pour lire les en-têtes de la page d'accueil. Pas sur les chemins sensibles : seul compte ce que répond ce chemin.
Certificat
Il le lit pour le rapport : protocole, chiffrement, émetteur et expiration. Il n'interrompt pas la visite s'il est défectueux.
Cookies et JavaScript
Non.
Attentes
5 secondes pour la négociation TLS, 4 et 6 pour la page d'accueil, 3 et 5 pour chaque chemin, et jusqu'à 20 pour vérifier un correctif.
Origine
En préparation Depuis les serveurs de SWPanel. Nous réservons des IP de sortie uniquement pour les bots ; quand elles seront prêtes, nous les publierons ici dans un fichier JSON.
DNS inverse
En préparation Chaque IP aura un nom sous bots.swpanel.com qui renvoie vers la même IP.

Normes qu'il applique

robots.txt
Exempté, avec motif Il ne le consulte pas. Ce sont des vérifications ponctuelles commandées par le propriétaire, et les chemins sont justement ceux qui ne devraient pas être lisibles.
Quels sites il visite
Conforme Il ne visite que des sites de services SWPanel actifs et cesse dès que le service est résilié : il le vérifie avant chaque requête.
Si le site demande de ralentir
Conforme Avec 429 ou 503, il attend ce que dit Retry-After s'il est de 60 secondes ou moins (10 s'il n'en dit rien). S'il en demande plus, il quitte le site jusqu'à la prochaine analyse. Après 3 erreurs 5xx consécutives, il le quitte aussi.
Cache HTTP
Non applicable Il a besoin de la réponse actuelle. La vérification d'un correctif demande sans cache à dessein.
Signature
Conforme Il signe chaque requête avec Web Bot Auth (RFC 9421, Ed25519) : en-têtes Signature, Signature-Input et Signature-Agent. La clé publique se trouve à https://www.swpanel.com/.well-known/http-message-signatures-directory.
Contact dans la requête
Conforme Il porte From: [email protected], comme la RFC 9110 le demande aux clients automatiques.

Ce qu'il fait des données

Ce qu'il lit
Les en-têtes de la page d'accueil, les données du certificat et, pour chaque chemin, le code de réponse et la présence ou non de la signature.
Ce qu'il conserve
Seulement le résultat : quel chemin a répondu et avec quelle signature. S'il trouve un fichier exposé, il n'en conserve pas le contenu.
Combien de temps
Avec l'historique des analyses du service, dans le SWPanel du propriétaire.
Pour quoi faire
Pour prévenir le propriétaire et lui proposer le correctif.
Confidentialité
Politique générale de confidentialité de SWPanel.

Pour le rapport, il interroge aussi des sources publiques qui ne touchent pas à votre site : les journaux de certificats de crt.sh et le DNS de Google.

Comment ça marche

Un passage, pas à pas

  1. Examine le certificat

    Ouvre une connexion TLS sur le port 443 et lit le protocole, le chiffrement, l'émetteur et l'expiration.

  2. Lit les en-têtes

    Demande la page d'accueil et vérifie HSTS, CSP, X-Frame-Options et les autres en-têtes de sécurité.

  3. Teste les chemins

    Demande, sans suivre les redirections, chacun des 8 chemins qui ne devraient jamais être publics.

  4. Cherche la signature

    Dans chaque réponse, il cherche la signature du fichier. Si elle n'y est pas, il n'y a pas d'alerte, même si le chemin répond 200.

  5. Prévient

    S'il trouve quelque chose, il le consigne dans Sécurité 360 avec le correctif qu'il propose.

  6. Vérifie le correctif

    À l'application ou à l'annulation, il demande la page d'accueil sans cache pour confirmer le résultat.

Dans vos logs

Voici à quoi ressemble SWPanelBot-Security

Un exemple au format combiné d'Apache et Nginx. L'IP et le domaine sont ceux de la documentation : les vôtres seront différents.

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)"

Cela ressemble à un scan, mais ce ne sont que ces chemins, sous ce nom, l'un après l'autre. La dernière ligne est la vérification d'un correctif.

Vérifier

Est-ce vraiment SWPanelBot-Security ?

Un User-Agent peut être copié. C'est pourquoi il faut l'examiner avec le reste. Les exemples utilisent une IP de documentation.

DNS inverse En préparation

$ 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

L'IP doit se résoudre en un nom de bots.swpanel.com, et ce nom vers la même IP. Si seule la première partie est vérifiée, ce n'est pas le nôtre.

Liste d'IP En préparation

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

Un fichier JSON au format JAFAR proposé par l'IETF, lié depuis cette page.

Signature de la requête Disponible

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=:…:

En-têtes Web Bot Auth. La clé publique se trouve à /.well-known/http-message-signatures-directory sur www.swpanel.com : avec elle, tout pare-feu qui comprend Web Bot Auth vérifie que la requête est la nôtre.

Ce qu'il demande Disponible

Comparez ce que vous voyez avec la fiche : les chemins, la fréquence et le volume. Un bot qui s'appelle SWPanelBot-Security et fait autre chose n'est pas le nôtre.

Si vous avez un doute sur une visite, écrivez-nous à [email protected] avec le domaine, l'heure avec son fuseau horaire, l'IP et la ligne du log, et nous vérifierons.

L'arrêter

C'est le propriétaire qui le demande. C'est lui qui l'éteint.

Nos bots ne visitent que les sites de services SWPanel actifs, uniquement pour les fonctions que leur propriétaire a activées, et cessent de passer dès que le service est résilié.

Si vous êtes le propriétaire

Désactivez les analyses de Sécurité 360 du service dans votre SWPanel.

Si vous ne l'êtes pas

Si le domaine n'est plus dans SWPanel, vous ne devriez recevoir aucune visite programmée. Si c'est le cas, écrivez-nous à [email protected] et nous l'arrêterons.

Dans le pare-feu

Pour le laisser passer, utilisez le nom avec l'IP ou la signature, pas seulement le nom. Attention aux règles génériques : un motif comme « bot » atteint aussi SWPanelBot.

Si vous le bloquez

Sécurité 360 ne pourra rien confirmer ni vérifier ses correctifs.

robots.txt ne l'arrête pas : nous l'expliquons dans Normes. C'est son propriétaire qui l'arrête, depuis SWPanel.

Normes

Ce que demandent les standards, et où en est SWPanelBot-Security

Notre situation sur chaque point, sans fard.

Ce que demandent les standards, et où en est SWPanelBot-Security
Un nom propre dans l'User-Agent, avec l'adresse de sa page RFC 9110, 10.1.5, et brouillon IETF « Crawler best practices », 2.2 Conforme
Un nom valide pour robots.txt : lettres, traits d'union et tiret bas RFC 9309, 2.2.1 Conforme
Ne visiter que les sites de services SWPanel actifs, et cesser dès que le service est résilié Engagement propre de SWPanel Conforme
Lire et respecter robots.txt RFC 9309 et « Crawler best practices », 2.1. Le brouillon permet l'exemption documentée des robots qui travaillent à la demande. Le propriétaire le demande et c'est une vérification ponctuelle. Exempté, avec motif
Ne pas gêner le site : une requête à la fois, limites de pages et de temps, et attentes courtes « Crawler best practices », 2.3 Conforme
Ralentir si le site répond 429 ou 503 « Crawler best practices », 2.3, et RFC 9110, 15.6 Conforme
Respecter le cache HTTP « Crawler best practices », 2.4, et RFC 9111. Il a besoin de la réponse actuelle. Non applicable
Un contact dans la requête : en-tête From RFC 9110, 10.1.2 Conforme
Publier les IP de sortie en JSON, liées depuis cette page « Crawler best practices », 2.5, avec le format JAFAR En préparation
DNS inverse que l'on peut confirmer Pratique de Google, Bing et Cloudflare pour vérifier les bots En préparation
Signer les requêtes (Web Bot Auth) Brouillon IETF « HTTP Message Signatures for Bots », septembre 2026 Conforme
Page publique indiquant ce qu'il fait, ce qu'il conserve, le contact, comment l'arrêter et les exemptions « Crawler best practices », 2.6 Conforme

En partie : conforme avec une réserve, expliquée dans la ligne. En préparation : dépend du réseau, comme les IP propres et leur DNS inverse. En attente : pas encore de date.

Versions

Ce qui a changé

La version figure dans l'User-Agent. Quand le bot change ce qu'il fait, la version et cette fiche changent.

Ce qui a changé
1.0 12-10-2026 Nouveau nom, SWPanelBot-Security, avec le lien vers la page des bots. Remplace SWPanel-SOC et les vérifications qui partaient sans nom.
1.1 17-10-2026 Renvoie vers cette fiche. Ralentit avec 429 et 503, signe les requêtes, porte l'en-tête From et ne visite que les services actifs.

Questions fréquentes

Questions sur SWPanelBot-Security

Non. C'est une vérification demandée par le propriétaire du service : une dizaine de requêtes vers des chemins connus, l'une après l'autre, sous ce nom. Si vous n'êtes pas le propriétaire et ne l'attendiez pas, écrivez-nous.

Pour vérifier qu'ils ne sont pas lisibles depuis Internet. S'il les trouve, il prévient le propriétaire ; il n'en conserve pas le contenu.

Parce que de nombreux sites renvoient la page d'accueil ou une page d'erreur avec un code 200. Le fichier n'est considéré comme exposé que si la signature du fichier apparaît dans la réponse.

Il ne le consulte pas : les chemins qu'il teste sont justement ceux qui ne devraient pas être lisibles, et c'est une vérification demandée par le propriétaire. Pour l'arrêter, le propriétaire désactive les analyses.