
Scanner de sécurité pour les serveurs MCP. Évalue l'authentification, les permissions, les risques d'injection et la sécurité des outils. Le phare de la sécurité des agents.
Le Phare de la sécurité des agents.
Scannez n'importe quel serveur MCP. Obtenez un bulletin de sécurité.
Votre serveur MCP expose des outils aux agents IA. À quel point est-il sécurisé ?
La plupart des serveurs MCP sont livrés sans authentification, sans permissions par outil, sans validation d'entrée, et avec des descriptions d'outils vulnérables aux injections dans les instructions. Vous ne le savez tout simplement pas encore.
AgentsID Scanner vous le dit.
npx @agentsid/scanner -- npx @some/mcp-server
C'est tout. Vous obtenez une note alphabétique et des résultats détaillés.
| Catégorie | Ce qu'il vérifie | Pourquoi c'est important |
|---|---|---|
| Injection | Descriptions d'outils pour 11 motifs d'injection d'instructions | Les descriptions malveillantes d'outils peuvent détourner le comportement de l'agent |
| Permissions | Noms d'outils classés par risque (destructeur, exécution, financier, identifiant) | 50 outils sans contrôle d'accès sont une attaque à 50 surfaces |
| Validation | Schémas d'entrée pour les contraintes manquantes, chaînes illimitées, paramètres optionnels uniquement | Pas de validation = entrée arbitraire dans vos gestionnaires d'outils |
| Authentification | Indicateurs d'authentification dans la surface de l'outil | Outils sans auth = agents non authentifiés appelant vos outils |
| Secrets | Outils pouvant exposer des informations d'identification en sortie | Clés API, jetons, mots de passe divulgués dans les réponses |
| Sortie | Sortie de fichier/données non filtrée | Contenu de fichiers sensibles renvoyé sans rédaction |
╔══════════════════════════════════════════════════════════════╗
║ AgentsID Security Scanner — Rapport ║
╚══════════════════════════════════════════════════════════════╝
Serveur: my-mcp-server v1.0.0
Outils: 23
Scanné: 2026-03-29T12:00:00.000Z
Note globale: D (42/100)
Notes par catégorie:
injection A
permissions F
validation D
auth F
output B
Profil de risque des outils:
destructeur ████ 4
exécution ██ 2
accès_identifiants █ 1
Résultats: 31
CRITIQUE: 2
HAUTE: 8
MOYENNE: 15
BASSE: 6
Recommandations:
1. Traiter immédiatement les résultats CRITIQUES et HAUTES
2. Ajouter des contrôles de permissions par outil (agentsid.dev/docs)
3. Mettre en œuvre la validation d'entrée sur tous les paramètres d'outil
4. Ajouter l'authentification aux points de terminaison du serveur
# Scan any npx-installable MCP server
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./
# Scan a local server file
agentsid-scan -- node my-server.mjs
# Scan a Python MCP server
agentsid-scan -- python -m my_mcp_server
agentsid-scan --url https://mcp.example.com/mcp
agentsid-scan --json -- npx @some/mcp-server > report.json
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs
Commence à 100 points. Déductions par résultat :
Les résultats MOYENNE et BASSE sont normalisés par le nombre d'outils afin qu'un problème par outil (par exemple, maxLength manquant sur chaque entrée) ne s'accumule pas linéairement avec la taille du serveur. Un serveur de 50 outils avec 50 BASSE obtient le même score qu'un serveur de 5 outils avec 5 BASSE. Les CRITIQUES et HAUTES restent absolues — les vraies vulnérabilités nuisent quelle que soit la taille du serveur.
Le scanner vérifie les descriptions d'outils pour 11 motifs d'injection d'instructions :
Chaque outil est classé par modèle de nom :
Le scanner vous indique ce qui ne va pas. Voici comment y remédier :
npm install @agentsid/guard
AgentsID Guard valide chaque appel d'outil par rapport aux règles de permission avant l'exécution. 50 outils, 16 catégories, tous protégés.
npm install @agentsid/sdk
Trois lignes de middleware dans votre serveur MCP. Documentation complète sur agentsid.dev/docs.
import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";
// Scan a local server
const report = await scanStdio("npx @some/server", { json: true });
// Scan a remote server
const report = await scanHttp("https://mcp.example.com", { json: true });
// Scan tool definitions directly (no server needed)
const report = scanToolDefinitions(myToolArray, { json: true });
Vous avez trouvé un motif que nous ne détectons pas ? Ouvrez une issue ou une PR. Le moteur de règles se trouve dans src/rules.mjs — ajouter un nouveau motif est une regex.
Tous les 15 982 serveurs notés et consultables : agentsid.dev/registry
MIT
| Sévérité | Déduction | Normalisation | Plafond |
|---|
| CRITIQUE | -25 each | Absolute — always hits full | Aucun |
| HAUTE | -15 each | Absolute — always hits full | -45 max |
| MOYENNE | -8 each | Divided by √(tool count) | -25 max |
| BASSE | -3 each | Divided by √(tool count) | -15 max |
| INFO | 0 | — | — |
| Note | Score | Signification |
|---|
| A | 90-100 | Excellente posture de sécurité |
| B | 75-89 | Bon — problèmes mineurs |
| C | 60-74 | Acceptable — nécessite des améliorations |
| D | 40-59 | Pauvre — risques significatifs |
| F | 0-39 | Échec — vulnérabilités critiques |
| Niveau de risque | Motifs | Exemples d'outils |
|---|
| Critique | execute, shell, admin, sudo, payment | shell_run, admin_reset, process_payment |
| Haut | delete, remove, drop, deploy, credential | delete_user, deploy_prod, get_api_key |
| Moyen | create, update, send, write | create_issue, send_email, write_file |
| Info | read, get, list, search, describe | get_status, list_users, search_docs |