Trafic sortant. Validé.Réseaux privés. Inaccessibles.
Chaque requête sortante est DNS-resolved, IP-validated et pinned avant de partir. Les réseaux privés sont physiquement inaccessibles — enforced par défaut, sur chaque deploy.
Deux entrées. Le même checkpoint en sortie.
Les deux chemins de déploiement canalisent le trafic sortant via le même proxy safeFetch — les règles d'egress restent cohérentes peu importe comment votre MCP server tourne.
Amenez votre REST API
Collez votre URL OpenAPI. La plateforme parse le spec, génère les MCP tools, et proxie chaque appel API via safeFetch.
Votre backend reste intact. Chaque invocation de tool devient un appel HTTP vers votre endpoint. L'AI parle au proxy, le proxy parle à votre API.
Déployez des handlers custom
Écrivez des handlers JavaScript et déployez votre MCP server sur l'edge. Tourne dans un V8 isolate — zéro accès direct aux sockets réseau.
Le host bridge intercepte les appels fetch et connecte un AbortController à la connexion SSE. Si le SSE tombe, chaque requête en attente meurt.
Trois vérifications. Ensuite vous passez.
safeFetch est une fonction de 53 lignes dans SsrfGuard.ts entre votre MCP server et le réseau. Ni un firewall, ni un WAF, ni une chaîne de proxies.
Résolution DNS
Avant que la requête ne parte, le hostname est résolu en adresse IP. L'IP — pas le hostname — est ce qui est inspecté ensuite.
Porte IP Privée
L'IP résolue est comparée à 9 patterns regex couvrant loopback, Class A/B/C privé, link-local et plages IPv6. Match trouvé → SSRF_BLOCKED.
IP Pinning
Un undici Agent custom avec l'IP résolue hardcodée dans le callback DNS lookup — empêchant le DNS rebinding. TLS/SNI fonctionne correctement.
Limites strictes.
Pas des recommandations.Chaque hostname résolu avant la connexion. L'IP résolue est ce qui est validé — pas le hostname. Le DNS rebinding est impossible.
Réseaux privés inaccessibles. Endpoints de métadonnées cloud scellés. Seuls les IPs publics passent le checkpoint.
Connexion SSE tombe — chaque requête sortante en attente meurt. Cascade AbortController. Zéro connexions orphelines.
"Le proxy est le plafond. Dépassez-le, et la requête meurt."
L'egress ne concerne pas que les adresses IP.
Bloquer les IPs privées résout le SSRF au niveau réseau. Mais qu'en est-il des données sensibles qui sortent de votre MCP server via des réponses valides ? La couche Presenter fonctionne comme un firewall d'egress au compile-time pour vos données.
Les schémas Zod définissent ce qui sort. Les champs non déclarés sont supprimés en RAM avant la sérialisation. @vurb.hide supprime les champs au niveau de la définition du schéma — ils n'existent jamais dans le type de sortie.
Lisez chaque ligne.
Avant de nous faire confiance.
L'intégralité de la couche de protection egress de votre MCP server — open source, auditable, forkable.
Construit sur undici
Client HTTP natif de Node.js. API Agent pour l'override du DNS lookup et l'IP pinning. Zéro dépendances externes.
Validation déterministe
9 patterns regex contre l'IP résolue. Même entrée, même sortie. Pas d'heuristiques ML, pas de blocage probabiliste.
Entièrement open source
safeFetch, schémas Presenter, validation Zod, règles de gouvernance. Apache 2.0. Forkez, auditez, exécutez localement.
Collez votre URL API. L'egress est géré.
safeFetch est injecté au moment du déploiement. Les deux chemins — API proxy et handlers custom — reçoivent le même checkpoint. Rien à installer, rien à configurer.
Plan gratuit · Sans carte de crédit
