Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
mcp-server-attestation — Durcissement de la chaîne d'approvisionnement de couche 2 pour les serveurs MCP — manifestes d'outils signés Ed25519, attestation de lancement des processus à l'exécution, assainisseur d'arguments en mode refus par défaut. Défend contre l'empoisonnement de marketplace + CVE-2025-69256 + CVE-2025-61591. | Kitploit
Outils/GitHubGitHub/studiomeyer-io/mcp-server-attestation
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeCryptographieCommandement et ContrôleSécurité de la Chaîne Logistique
GitHubstudiomeyer-io/mcp-server-attestation

mcp-server-attestation

Voir le dépôt
4il y a 3 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Durcissement de la chaîne d'approvisionnement de couche 2 pour les serveurs MCP — manifestes d'outils signés Ed25519, attestation de lancement des processus à l'exécution, assainisseur d'arguments en mode refus par défaut. Défend contre l'empoisonnement de marketplace + CVE-2025-69256 + CVE-2025-61591.

Partager

Fait partie de la Stack MCP StudioMeyer — Construit à Majorque 🌴 · ⭐ si vous l'utilisez

mcp-server-attestation

npm version npm downloads License Last commit GitHub stars

Durcissement de la chaîne d'approvisionnement de couche 2 pour les serveurs Model Context Protocol. Manifests d'outils signés en Ed25519, attestation de spawn à l'exécution, assainisseur d'arguments en mode refus par défaut.

Réponse directe à :

  • Empoisonnement du marketplace OX Security, avril 2026 — 9 des 11 registres MCP ont accepté des serveurs malveillants. La position publiée d'Anthropic : « comportement attendu ».
  • CVE-2025-69256 — RCE MCP Serverless Framework via injection de commande .
child_process.exec()
  • CVE-2025-61591 — RCE MCP Cursor via un serveur malveillant installé par OAuth avec détournement de spawn.
  • Ce package fournit ce qu'Anthropic a choisi de ne pas fournir : la vérification cryptographique des outils qu'un serveur est autorisé à exposer et des appels spawn qu'il est autorisé à effectuer. C'est une dépendance directement intégrable (drop-in), pas un remplacement de l'exécution.

    Un mot de notre part

    Nous construisons des outils et des systèmes pour nous-mêmes depuis deux ans. Si ce dépôt est petit et compte peu d'étoiles, ce n'est pas parce qu'il est nouveau. C'est parce que nous venons juste de décider de partager ce que nous avons construit. Ce n'est pas une expérience naissante, c'est une longue histoire avec un commit récent.

    Nous aimons construire des choses et les partager. Nous n'aimons pas les tactiques de réseaux sociaux, les growth hacks, ni courir après les étoiles et les abonnés. C'est pourquoi ce dépôt est petit. Le code est réel, il est utilisé, les issues reçoivent des réponses. Jugez par vous-même.

    S'il vous est utile, le partage, les tests et les retours nous aident. S'il pourrait être amélioré, une issue est plus utile. Si vous construisez quelque chose avec, écrivez-nous à [email protected]. Cela nous fait sincèrement très plaisir.

    Depuis un petit studio à Palma de Majorque.

    Packages (npm workspaces)

    PackageDescription
    mcp-server-attestation (packages/lib)Bibliothèque : signature/vérification Ed25519, schéma de manifest, assainisseur, attestateur de spawn, magasin de confiance TOFU.
    mcp-attest-cli (packages/cli)CLI mcp-attest : keygen, sign, verify, inspect, fingerprint, check-pin.
    mcp-attest-demo (packages/demo-server)Serveur MCP de référence (stdio, spécification 2025-06-18) exposant 5 outils qui illustrent la bibliothèque.

    Installation

    root@kitploit:~
    npm install mcp-server-attestation
    # CLI:
    npm install -g mcp-attest-cli
    # Reference MCP server:
    npx mcp-attest-demo
    

    Node 20+. Aucune dépendance cryptographique externe — utilise les primitives Ed25519 de node:crypto.

    Démarrage rapide en cinq lignes

    root@kitploit:~
    import { verifyManifestStrict, attestSpawnStrict, type SignedManifest } from "mcp-server-attestation";
    import signed from "./signed/manifest.json" assert { type: "json" };
    
    // 1. At startup: prove the manifest you ship is the manifest you signed.
    verifyManifestStrict(signed);
    
    // 2. Before every child_process.spawn:
    attestSpawnStrict(signed as SignedManifest, { command, args });
    

    C'est toute l'intégration. Deux appels de fonction, pas de SaaS, pas de démon.

    Si vous préférez revérifier la signature à chaque spawn (défense en profondeur contre un manifest non vérifié ou échangé qui atteindrait la barrière), utilisez plutôt l'appel unique à sécurité intégrée — il vérifie puis atteste :

    root@kitploit:~
    import { attestSpawnVerified, type SignedManifest } from "mcp-server-attestation";
    attestSpawnVerified(signed as SignedManifest, { command, args });
    

    Outils (serveur de référence mcp-attest-demo)

    #NomreadOnlyHintdestructiveHint
    1attest_verify_manifesttruefalse
    2attest_inspect_spawntruefalse
    3attest_generate_manifest_templatetruefalse
    4attest_sign_manifestfalsefalse
    5attest_keygenfalsefalse

    Les annotations sont honnêtes : attest_sign_manifest et attest_keygen écrivent des fichiers sur le disque, ils ne sont donc pas en lecture seule, mais ils ne détruisent pas les données existantes, donc destructiveHint reste false. Voir docs/THREAT-MODEL.md pour le tableau des capacités par outil.

    CLI

    root@kitploit:~
    mcp-attest keygen --out-dir ./keys --name prod
    mcp-attest sign --manifest manifest.json --private-key keys/prod.key --out signed.json
    mcp-attest verify --signed signed.json --pin                  # TOFU pin
    mcp-attest verify --signed signed.json --sigstore             # opt-in Rekor cross-ref
    mcp-attest inspect --signed signed.json --command /usr/bin/echo --arg "hello"
    mcp-attest fingerprint --public-key keys/prod.pub
    mcp-attest check-pin --server my-server --signed signed.json
    

    verify se termine avec le code 2 en cas de signature invalide, et le code 3 en cas de non-correspondance du pin.

    Compatibilité avec la spécification MCP

    Version de la spécificationStatut
    2024-11-05analysable dans le manifest, non visé par le serveur de référence
    2025-03-26analysable dans le manifest, non visé par le serveur de référence
    2025-06-18cible complète

    La bibliothèque est indépendante du transport. Le serveur de référence fonctionne uniquement en stdio.

    Modèle de sécurité

    • Trust-on-First-Use est le mode par défaut. La première fois que vous vérifiez un serveur, sa clé publique est épinglée dans ~/.mcp-attest/trust.json (surcharge : MCP_ATTEST_TRUST_FILE). Les vérifications suivantes rejettent toute nouvelle clé pour le même nom de serveur en renvoyant TRUST_PIN_MISMATCH. Cela permet de détecter le vecteur de mise à jour malveillante de type Cursor.
    • Aucune liste de clés de confiance intégrée. Ce package ne joue pas le rôle de gardien. Si vous souhaitez une assurance plus forte, activez --sigstore pour recouper l'empreinte de la clé publique avec le journal de transparence Rekor de Sigstore.
    • Assainisseur d'arguments en mode refus par défaut. shellSafeString bloque tous les métacaractères de shell ASCII, NUL, CR, LF, VT, FF, NEL, les caractères de largeur nulle, la BOM, les surcharges RTL/LTR, les isolateurs Trojan Source et les confusables latins pleine chasse. Le comportement de liste blanche exige les types de règles explicites regex / enum / prefix / literal.
    • Règles regex à l'épreuve de ReDoS. Le motif d'une règle regex est signé par l'auteur, mais la valeur de l'argument est contrôlée par l'attaquant. L'assainisseur détecte statiquement les motifs sujets au backtracking (quantificateurs imbriqués non bornés comme (a+)+) et refuse de les exécuter ; un seul argument façonné ne peut donc pas figer le chemin chaud des spawn. Les règles regex comportent également un plafond de saisie maxLength (4096 par défaut).
    • Règles prefix à l'épreuve des traversées. Les règles prefix rejettent par défaut les composants de chemin .. (denyTraversal: true, y compris la forme encodée %2e%2e) ; ainsi /safe/../../etc/passwd est bloqué même s'il satisfait prefix: "/safe/".
    • Vérifier puis attester. attestSpawnVerified vérifie la signature du manifest avant d'attester le spawn en un seul appel à sécurité intégrée — utilisez-le à la place de attestSpawnStrict sauf si vous avez mesuré la vérification Ed25519 par spawn hors d'une boucle réellement critique.
    • Le JSON canonique est la surface signée. Une re-sérialisation ne peut pas modifier les octets signés.

    Ce que ce package ne fait PAS (hors périmètre) :

    • Mettre le processus serveur en sandbox ou en conteneur.
    • Durcissement du flux OAuth (build séparé mcp-oauth-shield).
    • Contrôle des sorties réseau.
    • Correction automatique des serveurs existants.

    Tests

    root@kitploit:~
    npm install
    npm run typecheck
    npm test
    

    Le corpus de test comprend des fixtures de rejeu de CVE (packages/lib/tests/fixtures/cve-2025-69256-payloads.json, cve-2025-61591-payloads.json). Le build constitue un contrôle de régression : chaque payload doit être bloqué.

    Distribution

    • Publication npm via GitHub Actions OIDC avec --provenance.
    • Serveur de référence soumis à mcp.so et au FastMCP Directory.
    • Bibliothèque publiée séparément sous le nom mcp-server-attestation.

    À propos de StudioMeyer

    StudioMeyer est un studio d'IA et de design basé à Palma de Majorque, qui travaille avec des clients du monde entier. Nous créons des sites web sur mesure et des infrastructures d'IA pour les petites et moyennes entreprises. Stack de production sur Claude Agent SDK, MCP et n8n, avec Sentry, Langfuse et LangGraph pour l'observabilité, ainsi qu'une couche de garde interne.

    Licence

    MIT, Copyright 2026 Matthias Meyer (StudioMeyer). Voir LICENSE.

    Télécharger l’outil