Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mcp-server-attestation — Indurimento della catena di fornitura Layer-2 per server MCP — manifesti degli strumenti firmati con Ed25519, attestazione di spawn runtime, sanitizzatore di argomenti default-deny. Difende contro l'avvelenamento del marketplace + CVE-2025-69256 + CVE-2025-61591. | Kitploit
Strumenti/GitHubGitHub/studiomeyer-io/mcp-server-attestation
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceCrittografiaCommand and ControlSicurezza della Supply Chain
GitHubstudiomeyer-io/mcp-server-attestation

mcp-server-attestation

Indurimento della catena di fornitura Layer-2 per server MCP — manifesti degli strumenti firmati con Ed25519, attestazione di spawn runtime, sanitizzatore di argomenti default-deny. Difende contro l'avvelenamento del marketplace + CVE-2025-69256 + CVE-2025-61591.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
14h 9m faNon ancora revisionato

Parte dello StudioMeyer MCP Stack — Costruito a Maiorca 🌴 · ⭐ se lo usi

mcp-server-attestation

npm version npm downloads License Last commit GitHub stars

Rafforzamento della supply chain di Layer-2 per i server Model Context Protocol. Manifest degli strumenti firmati con Ed25519, attestazione runtime degli spawn, sanitizer degli argomenti con negazione predefinita.

Risposta diretta a:

  • OX Security marketplace-poisoning, Aprile 2026 — 9 degli 11 registri MCP hanno accettato server dannosi. Posizione pubblica di Anthropic: 'comportamento atteso'.
  • CVE-2025-69256 — Serverless Framework MCP RCE tramite iniezione di comandi in child_process.exec().
  • CVE-2025-61591 — Cursor MCP RCE tramite server dannoso installato via OAuth con dirottamento degli spawn.

Questo pacchetto fornisce ciò che Anthropic ha scelto di non fornire: verifica crittografica di quali strumenti un server può esporre e quali chiamate di spawn può effettuare. È una dipendenza plug-and-play, non un sostituto runtime.

Una nota da parte nostra

Costruiamo strumenti e sistemi per noi stessi da due anni. Il fatto che questa repo sia piccola e abbia poche stelle non è perché è nuova. È perché abbiamo deciso solo ora di condividere ciò che abbiamo costruito. Non è un esperimento fresco, è una lunga storia con un commit recente.

Amiamo costruire cose e condividerle. Non amiamo le tattiche dei social media, i growth hack o inseguire stelle e follower. Quindi questa repo è piccola. Il codice è reale, viene utilizzato, le issue ricevono risposta. Giudica tu stesso.

Se ti aiuta, condividere, testare e dare feedback ci aiuta. Se potrebbe essere migliore, un'issue è più utile. Se ci costruisci qualcosa sopra, diccelo a [email protected]. Ci rallegra davvero la giornata.

Da un piccolo studio a Palma di Maiorca.

Pacchetti (npm workspaces)

Installa

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

Node 20+. Nessuna dipendenza crittografica esterna — utilizza le primitive Ed25519 di node:crypto.

Avvio rapido del server in cinque righe

root@kitploit:~
import { verifyManifestStrict, attestSpawnStrict, type SignedManifest } from "mcp-server-attestation";
import signed from "./signed/manifest.json" assert { type: "json" };

// 1. All'avvio: dimostra che il manifest che spedisci è quello che hai firmato.
verifyManifestStrict(signed);

// 2. Prima di ogni child_process.spawn:
attestSpawnStrict(signed as SignedManifest, { command, args });

Questa è l'intera integrazione. Due chiamate di funzione, nessun SaaS, nessun demone.

Se preferisci riverificare la firma ad ogni spawn (difesa in profondità contro un manifest non verificato o scambiato che raggiunge il gate), usa invece la singola chiamata fail-safe — verifica poi attesta:

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

Strumenti (server di riferimento mcp-attest-demo)

Le annotazioni sono oneste: attest_sign_manifest e attest_keygen scrivono file su disco, quindi non sono di sola lettura, ma non distruggono dati esistenti, quindi destructiveHint rimane false. Vedi docs/THREAT-MODEL.md per la tabella delle capacità per strumento.

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             # cross-ref Rekor opzionale
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 esce con codice 2 su firma errata, codice 3 su mancata corrispondenza del pin.

Compatibilità con la specifica MCP

Versione specificaStato
2024-11-05analizzabile nel manifest, non obiettivo del server di riferimento
2025-03-26analizzabile nel manifest, non obiettivo del server di riferimento
2025-06-18obiettivo completo

La libreria è indipendente dal trasporto. Il server di riferimento è solo stdio.

Modello di sicurezza

  • Trust-on-First-Use è l'impostazione predefinita. La prima volta che verifichi un server, la sua chiave pubblica viene fissata a ~/.mcp-attest/trust.json (sovrascrivi: MCP_ATTEST_TRUST_FILE). Le verifiche successive rifiutano qualsiasi nuova chiave per lo stesso nome server con TRUST_PIN_MISMATCH. Questo intercetta il vettore di aggiornamento dannoso stile Cursor.
  • Nessuna lista di chiavi fidate inclusa. Questo pacchetto non funge da gatekeeper. Se desideri una garanzia più forte, opta per --sigstore per incrociare l'impronta della chiave pubblica con il registro di trasparenza Sigstore Rekor.
  • Sanitizer degli argomenti con negazione predefinita. shellSafeString blocca ogni metacarattere shell ASCII, NUL, CR, LF, VT, FF, NEL, caratteri a larghezza zero, BOM, override RTL/LTR, isolati Trojan-Source, e confondibili fullwidth-Latin. Il comportamento di allowlist richiede i tipi di regole esplicite regex / enum / prefix / literal.
  • Regole regex sicure contro ReDoS. Il pattern di una regola regex è firmato dall'autore, ma il valore dell'argomento è controllato dall'attaccante. Il sanitizer rileva staticamente i pattern soggetti a backtracking (quantificatori innestati illimitati come ) e si rifiuta di eseguirli, quindi un singolo argomento malformato non può bloccare il percorso caldo dello spawn. Le regole hanno anche un limite massimo di input (default 4096).

Cosa questo pacchetto NON fa (fuori ambito):

  • Isolare o containerizzare il processo server.
  • Indurimento del flusso OAuth (build separata mcp-oauth-shield).
  • Controllo del traffico di rete in uscita.
  • Auto-patch dei server esistenti.

Test

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

Il corpus di test include fixture di replay CVE (packages/lib/tests/fixtures/cve-2025-69256-payloads.json, cve-2025-61591-payloads.json). La compilazione è un controllo di regressione: ogni payload deve essere bloccato.

Distribuzione

  • Pubblicazione npm tramite GitHub Actions OIDC con --provenance.
  • Server di riferimento inviato a mcp.so e FastMCP Directory.
  • Libreria pubblicata separatamente come mcp-server-attestation.

Informazioni su StudioMeyer

StudioMeyer è uno studio di AI e design con sede a Palma di Maiorca, che lavora con clienti in tutto il mondo. Costruiamo siti web personalizzati e infrastrutture AI per piccole e medie imprese. Stack di produzione su Claude Agent SDK, MCP e n8n, con Sentry, Langfuse e LangGraph per l'osservabilità e un layer di protezione interno.

Licenza

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

Scarica lo strumento
PackageScopo
mcp-server-attestation (packages/lib)Libreria: firma/verifica Ed25519, schema manifest, sanitizer, attestatore spawn, trust store TOFU.
mcp-attest-cli (packages/cli)CLI mcp-attest: keygen, sign, verify, inspect, fingerprint, check-pin.
mcp-attest-demo (packages/demo-server)Server MCP di riferimento (stdio, specifica 2025-06-18) che espone 5 strumenti che dimostrano la libreria.
#NomereadOnlyHintdestructiveHint
1attest_verify_manifesttruefalse
2attest_inspect_spawntruefalse
3attest_generate_manifest_templatetruefalse
4attest_sign_manifestfalsefalse
5attest_keygenfalsefalse
(a+)+
regex
maxLength
  • Regole prefix sicure contro traversal. Le regole prefix rifiutano i componenti di percorso .. per impostazione predefinita (denyTraversal: true, inclusa la forma codificata %2e%2e), quindi /safe/../../etc/passwd viene bloccato anche se soddisfa prefix: "/safe/".
  • Verifica poi attesta. attestSpawnVerified controlla la firma del manifest prima di attestare lo spawn in un'unica chiamata fail-safe — usala invece di attestSpawnStrict a meno che tu non abbia misurato la verifica Ed25519 per spawn fuori da un ciclo realmente caldo.
  • JSON canonico è la superficie firmata. La riserializzazione non può modificare i byte firmati.