Bastion: External Attack Surface Monitoring
officielInterrogez votre assistant IA sur votre surface d'attaque : lancez des scans, détectez les certificats et domaines qui expirent, triez les résultats et générez des rapports.
Que pouvez-vous faire avec Bastion External Attack Surface Monitoring MCP ?
-
Lancer des analyses à la demande — Demandez à votre assistant de mettre en file une analyse passive d’un nom d’hôte vérifié et de renvoyer l’ID de l’analyse via
start_scan. -
Récupérer les résultats d’analyse et les scores de posture — Obtenez les constatations complètes, les preuves, les étapes de remédiation et le score de posture pour toute analyse à l’aide de
get_scan. -
Surveiller la santé des certificats — Listez les certificats de tous les points de terminaison surveillés avec l’émetteur, la date d’expiration et l’état de santé, ou signalez les autorités de certification inconnues via
list_certificatesetlist_unknown_certificates. -
Suivre les changements du parc — Demandez ce qui a changé au niveau des sous-domaines, du DNS, des ports, des certificats ou des constatations depuis une date donnée à l’aide de
list_changes. -
Trier les constatations — Accusez réception, mettez en sourdine ou acceptez une constatation sur une cible, y compris les suppressions expirées, via
set_triage. -
Générer des rapports PDF — Demandez qu’une analyse terminée soit rendue au format PDF et obtenez un lien de téléchargement à l’aide de
get_report.
Documentation
Connectez votre assistant IA à votre surface d'attaque.
Attack Surface Scan fournit un serveur MCP hébergé, afin que Claude et d'autres agents IA puissent lancer des scans, lire les résultats, suivre le flux de changements, trier et récupérer des rapports PDF. Le tout dans la conversation, sur les domaines que votre compte a vérifiés, sans rien installer ni gérer de clés API.
Détails du serveur
| Point de terminaison | https://mcp.attacksurfacescan.com/mcp |
|---|---|
| Transport | HTTP streamable (sans état ; SSE non requis) |
| Authentification | OAuth 2.1 : code d'autorisation + PKCE, enregistrement dynamique du client (RFC 7591), découverte via RFC 9728 / RFC 8414. Pas de clés API. |
| Portée | account : accès délégué en tant qu'utilisateur qui approuve la connexion |
| Tarification | Inclus dans chaque formule (les quotas de la formule s'appliquent). Formules avec un essai de 7 jours, sans carte requise. |
| Révocation | Dans l'application : Équipe → Applications connectées → Déconnecter. Effectif à la prochaine requête. |
Connecter un client
Chaque client suit la même procédure : pointez-le vers le point de terminaison, une fenêtre de navigateur s'ouvre sur la page de consentement d'Attack Surface Scan, connectez-vous et cliquez sur Autoriser l'accès. Vous avez besoin d'un compte Attack Surface Scan (l'essai fonctionne) mais pas de clés ni de configuration supplémentaire.
Claude (web, bureau, mobile)
Paramètres → Connecteurs → Ajouter un connecteur personnalisé, puis collez l'URL du point de terminaison. Claude découvre la configuration OAuth et vous guide dans l'approbation.
https://mcp.attacksurfacescan.com/mcp
Claude Code
claude mcp add --transport http afs https://mcp.attacksurfacescan.com/mcp
Exécutez ensuite /mcp dans une session pour terminer la connexion.
ChatGPT
Les connecteurs MCP personnalisés nécessitent le mode développeur (formules Pro, Plus, Business, Enterprise et Edu, sur l'application web) : Paramètres → Applications → Paramètres avancés → Mode développeur. Ensuite, Paramètres → Connecteurs → Créer, collez l'URL du point de terminaison et choisissez OAuth comme méthode d'authentification. Sur les formules workspace, un administrateur peut devoir autoriser les connecteurs personnalisés au préalable.
OpenAI Codex
codex mcp add afs --url https://mcp.attacksurfacescan.com/mcp
codex mcp login afs
La commande de connexion exécute le flux OAuth dans votre navigateur. La configuration est enregistrée dans ~/.codex/config.toml si vous préférez la gérer là.
Hermes
Ajoutez le serveur dans le tableau de bord (hermes dashboard → serveurs MCP), ou dans ~/.hermes/config.yaml :
mcp_servers:
afs:
url: "https://mcp.attacksurfacescan.com/mcp"
auth: oauth
Une fenêtre de navigateur s'ouvre pour l'autorisation lors de la première connexion.
Manus
Paramètres → Connecteurs → + Ajouter des connecteurs → MCP personnalisé → Configuration directe. Nommez-le Attack Surface Scan, choisissez le transport HTTP, collez l'URL du point de terminaison et enregistrez ; Manus vérifie la connexion et vous guide dans la connexion.
OpenClaw
openclaw mcp add afs --url https://mcp.attacksurfacescan.com/mcp \
--transport streamable-http --auth oauth
openclaw mcp login afs
La commande de connexion affiche l'URL d'autorisation et termine l'échange de jetons une fois que vous approuvez dans le navigateur. Vérifiez avec openclaw mcp status.
Cursor et autres clients MCP
Ajoutez le serveur à la configuration MCP de votre client :
{
"mcpServers": {
"afs": { "url": "https://mcp.attacksurfacescan.com/mcp" }
}
}
Essayez
Une fois connecté, demandez à votre assistant des choses comme :
- « Scannez attacksurfacescan.com et résumez ce qui est nouveau depuis la semaine dernière. »
- « Quels sont nos certificats qui expirent dans les 30 prochains jours ? »
- « Mettez en sourdine le résultat missing-HSTS sur staging jusqu'en mars, avec une note. »
- « Générez le rapport PDF du scan d'hier. »
- « Classez ces trois domaines sous le client Acme et résumez la posture de ce parc. » (formules MSP)
Outils disponibles
Le client connecté voit toujours la liste en direct via tools/list ; ce tableau est le résumé lisible par l'humain.
| Outil | Ce qu'il fait |
|---|---|
get_account | Plan, statut de l'abonnement et utilisation par rapport aux limites |
list_domains | Domaines revendiqués, statut de vérification et la preuve que chacun doit encore fournir |
add_domain | Revendiquer un domaine ; vérifié immédiatement si votre e-mail est à ce domaine, sinon renvoie l'enregistrement TXT ou le fichier à publier |
verify_domain | Exécuter les preuves de propriété maintenant : votre domaine e-mail, le jeton DNS TXT et le fichier well-known |
request_domain_approval | Envoyer un e-mail à quelqu'un au domaine et lui permettre d'approuver la surveillance |
start_scan | Mettre en file un scan passif d'un nom d'hôte vérifié ; renvoie un scanId |
get_scan | Résultats complets pour un scan : résultats, preuves, remédiation, score de posture |
list_scans | Scans récents avec scores récapitulatifs, du plus récent au plus ancien |
get_report | Rendre un scan terminé en PDF et renvoyer un lien de téléchargement |
check_report | Interroger un travail PDF qui dépasse l'attente en ligne de get_report |
list_changes | Ce qui a changé sur le parc : sous-domaines, DNS, ports, certificats, résultats |
list_lookalikes | Typosquattages enregistrés de vos domaines (observés uniquement via DNS et journaux CT) |
list_certificates | Chaque point de terminaison surveillé et le certificat qu'il sert : émetteur, expiration, santé |
list_unknown_certificates | Certificats vus dans les journaux CT provenant d'AC non autorisées, plus la liste des AC autorisées |
acknowledge_certificate | Marquer un certificat inconnu comme attendu, en faisant éventuellement confiance à son AC à partir de maintenant |
list_triage | États de triage par résultat, y compris les suppressions expirées |
set_triage | Accuser réception, mettre en sourdine ou accepter un résultat sur une cible |
list_clients | Espaces de travail clients et leurs nombres de domaines (formules MSP) |
add_client | Créer un espace de travail client pour classer les domaines (formules MSP, admin) |
assign_domain_client | Classer un domaine sous un client : regroupement uniquement, règles de propriété inchangées |
get_branding | L'identité en marque blanche apposée sur les rapports PDF (formules MSP) |
set_branding | Définir le nom de l'entreprise et la couleur d'accentuation des rapports (formules MSP, admin) |
Questions
Ai-je besoin d'une clé API ?
Non. Le serveur utilise l'OAuth MCP standard : votre client s'enregistre, votre navigateur ouvre la page de consentement d'Attack Surface Scan, vous vous connectez avec votre compte habituel et cliquez sur Autoriser. Rien à copier depuis un tableau de bord et rien de durable à faire fuiter dans un fichier de configuration.
Que peut faire (et ne pas faire) un agent connecté ?
Il agit comme la personne qui a approuvé la connexion : il peut ajouter et vérifier des domaines, lancer des scans, lire les résultats et les rapports, suivre le flux de changements et trier les résultats. Sur les formules MSP, il peut aussi organiser les espaces de travail clients et gérer la marque des rapports. Il ne peut pas toucher à la facturation, gérer l'équipe, ni voir les données d'un autre compte. L'accès peut être révoqué à tout moment dans l'application sous Équipe → Applications connectées, et la révocation prend effet à la prochaine requête de la connexion.
Peut-il scanner des sites web arbitraires ?
Non. La surface MCP passe exactement par la même porte que l'application : un nom d'hôte n'est scannable qu'après que le compte prouve le contrôle de son domaine (un enregistrement DNS TXT, un fichier sur le site, un e-mail professionnel au domaine, ou une approbation par e-mail), et les preuves DNS et fichier sont revérifiées chaque nuit. Demander à un agent connecté de scanner l'infrastructure de quelqu'un d'autre échoue de la même manière que dans l'interface.
Cela coûte-t-il plus cher ?
Non. Le serveur MCP est inclus dans chaque formule, y compris l'essai gratuit. Les scans lancés via MCP comptent dans le même quota mensuel que les scans lancés dans l'application, et les rapports PDF générés lors de l'essai sans carte portent le même filigrane TRIAL.
Quels clients sont pris en charge ?
Tout ce qui parle MCP sur HTTP streamable avec OAuth : Claude (connecteurs web, bureau et mobile), Claude Code, ChatGPT (mode développeur), OpenAI Codex, Hermes, Manus, OpenClaw, Cursor, et d'autres clients MCP qui prennent en charge les serveurs distants avec enregistrement dynamique du client. Si votre client peut ajouter un serveur MCP distant par URL, il peut se connecter à Attack Surface Scan, et le guide de connexion couvre chacun d'eux.
La connexion peut-elle rester en place en toute sécurité ?
Les jetons sont de courte durée, stockés uniquement sous forme de hachages de notre côté, et liés à une connexion que vous pouvez voir et révoquer dans l'application, avec la personne qui l'a autorisée et sa dernière utilisation. Si un membre de l'équipe part, ses connexions cessent de fonctionner dès la fin de son appartenance.