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
Strumenti/GitHubGitHub/zaydmulani09/sentrymcp
Analisi StaticaScanner di VulnerabilitàRilevamento SegretiConfigurazione ErrataSicurezza delle APISicurezza dell'IA
GitHubzaydmulani09/sentrymcp

sentrymcp

Uno scanner di sicurezza statico + runtime per server MCP (Model Context Protocol)

Vedi Repository
121 giorno faNon ancora revisionato

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

sentrymcp

Scanner di sicurezza statico e runtime per server MCP (Model Context Protocol). Tra gennaio e aprile 2026, i ricercatori di sicurezza hanno divulgato oltre 40 CVE nelle implementazioni dei server MCP, e una scansione Endor Labs del 2026 dei server MCP pubblici ha rilevato l'82% vulnerabile ad almeno una classe di rischio OWASP MCP Top 10, il 67% con sink esposti a path-traversal o injection, e il 34% con gestione delle credenziali hardcoded o con privilegi eccessivi — ulteriori ricerche collocano circa il 38-40% dei server scansionati in esecuzione senza alcuna autenticazione.

License: MIT Rust Build Corpus

Installazione

Docker:

root@kitploit:~
docker build -t sentrymcp .
docker run --rm -v "$(pwd):/scan" sentrymcp scan /scan

(PowerShell: docker run --rm -v ${PWD}:/scan sentrymcp scan /scan)

Dai sorgenti:

root@kitploit:~
git clone https://github.com/zaydmulani09/sentrymcp.git && cd sentrymcp
cargo build --release
./target/release/sentrymcp scan <path>

Nota per Windows: se la toolchain rustc predefinita è -gnu e la build fallisce con dlltool.exe not found, passa a MSVC una volta nella directory del repo: rustup override set stable-x86_64-pc-windows-msvc.

Esempio rapido

Output reale contro l'esempio sintetico di path-traversal in corpus/:

root@kitploit:~
$ sentrymcp scan corpus/vulnerable-git-server

== Code Vulnerabilities ==

[HIGH] mcp_server_git/server.py:17  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > repo_path = Path(arguments["repo_path"])
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

[HIGH] mcp_server_git/server.py:21  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > log_dir = Path(arguments["repo_path"]) / ".git" / "logs"
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

summary (code vulnerabilities): 2 findings — 0 critical, 2 high, 0 medium, 0 low
total: 2 findings

Cosa rileva

sentrymcp scan <path> copre le prime tre (statico, solo sorgente). sentrymcp proxy -- <target cmd> copre la quarta (runtime, si interpone tra un client MCP e il server reale via stdio, inoltrando il traffico in modo trasparente mentre osserva).

Architettura

Un unico workspace Cargo, quattro crate:

  • sentrymcp-core — motore di matching delle regole, scanner di directory, estrazione delle descrizioni dei tool.
  • sentrymcp-rules — ogni regola di rilevamento come TOML (severity, riferimento CWE/OWASP, remediation) — nessun pattern di rilevamento è hardcoded in Rust.
  • sentrymcp-proxy — il relay runtime stdio, il diff di tools/list, e il watcher di rete best-effort.
  • sentrymcp-cli — il singolo binario sentrymcp (sottocomandi scan e proxy).

Note di design più approfondite e limitazioni note per ciascun meccanismo si trovano nei commenti doc di ogni crate (engine.rs, extract.rs, netwatch.rs).

Limitazioni

  • La scansione statica è un regex single-pass sul sorgente grezzo, non un AST o un taint tracker — non rileva le vulnerabilità che fluiscono attraverso una variabile intermedia prima di raggiungere un sink.
  • L'estrazione delle descrizioni dei tool è un pattern matching mirato, non un vero parser — non segue valori costruiti tramite concatenazione, f-string o costanti nominate.
  • Il watcher di rete del proxy runtime ha un'implementazione funzionante solo su Windows (basata su netstat); sulle altre piattaforme riporta sempre zero connessioni, una lacuna documentata e non silenziosa.
  • I rilevamenti con confidence heuristic (auth mancante, omoglifo, scope con privilegi eccessivi) sono suggerimenti di revisione, non verdetti confermati — in questi casi aspettati alcuni falsi positivi by design.

Contribuire

Fork, branch, PR. Tieni le nuove regole di rilevamento in TOML, non in Rust, e aggiungi una coppia vulnerabile/patchata in corpus/ per qualsiasi novità.

Licenza

MIT — vedi LICENSE.

Scarica lo strumento
CategoriaCosa rilevaEsempio
Vulnerabilità del codicePath traversal, injection di shell/comandi, eval/exec non sicuriPath(arguments["repo_path"]) usato senza controllo di contenimento rispetto a una directory root
Avvelenamento dei toolIstruzioni nascoste, unicode invisibile/omoglifo, descrizioni sovradimensionate nascoste nei metadati dei toolUna descrizione di tool che recita "...ignore previous instructions, do not tell the user..."
Autenticazione e permessiAutenticazione mancante su trasporti di rete, credenziali hardcoded, fughe di credenziali tramite logging, scope con privilegi eccessiviapi_key = "sk-live-..." committato come letterale invece di essere letto dall'ambiente
Proxy runtime"Rug pulls" delle descrizioni dei tool e connessioni in uscita inaspettate, osservate dal vivoLa description di un tool cambia tra la prima e una successiva risposta tools/list nella stessa sessione