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/trailofbits/slither-mcp
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceTest di Sicurezza delle APIDevSecOpsSicurezza dell'IA
GitHubtrailofbits/slither-mcp

slither-mcp

Server MCP per l'analisi statica Slither dei contratti intelligenti Solidity

Vedi Repository
96106 mesi faRevisionato da Kitploit

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

Slither MCP Server

Tests Python 3.11+ License: AGPL v3

Un server Model Context Protocol (MCP) che fornisce capacità di analisi statica per smart contract Solidity utilizzando Slither.

Panoramica

Questo server MCP integra la funzionalità di analisi statica di Slither, rendendola accessibile attraverso il Model Context Protocol. Può analizzare progetti Solidity (Foundry, Hardhat, ecc.) e generare metadati completi su contratti, funzioni, gerarchie di ereditarietà e altro.

Puoi anche utilizzare Slither MCP come API Slither facile da usare per altri casi d'uso.

Caratteristiche

  • Caching: Le esecuzioni di Slither vengono memorizzate nella cache in {$PROJECT_PATH}/artifacts/project_facts.json per caricamenti successivi più veloci
  • Strumenti MCP: Richiedi informazioni su contratti e funzioni attraverso gli strumenti MCP
  • Analisi di Sicurezza: Esegui i detector di Slither e accedi ai risultati con filtri
  • Analisi Completa: Estrae informazioni dettagliate su:
    • Metadati del contratto (flag astratto, interfaccia, libreria)
    • Firme di funzione e modificatori
    • Gerarchie di ereditarietà
    • Relazioni di chiamata tra funzioni (chiamate interne, esterne, di libreria)
    • Vulnerabilità di sicurezza e problemi di qualità del codice
    • Posizioni del codice sorgente

Anche se questa è una versione 1.0, prevediamo modifiche all'API man mano che riceveremo ulteriori feedback.

Installazione

Questo progetto utilizza UV per la gestione dei pacchetti:

root@kitploit:~
# Install dependencies
uv sync

# Or install in development mode
uv pip install -e .

Utilizzo

Utilizzo di Base

Avvia il server Slither MCP:

root@kitploit:~
uv run slither-mcp

Tutti gli strumenti accettano un parametro path che specifica quale progetto Solidity analizzare. I progetti vengono automaticamente memorizzati nella cache in <path>/artifacts/project_facts.json per query successive più veloci.

Utilizzo in Claude Code

root@kitploit:~
claude mcp add --transport stdio --scope user slither -- uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp

Utilizzo in Cursor

Assicurati che uvx sia nel tuo path di Cursor usando sudo ln -s ~/.local/bin/uvx /usr/local/bin/uvx

Nel tuo ~/.cursor/mcp.json:

root@kitploit:~
{
  "mcpServers": {
    "slither-mcp": {
      "command": "uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp",
    }
  }
}

Metriche e Privacy

Slither MCP include metriche opt-out per migliorare l'affidabilità, permettendoci di sapere con che frequenza gli LLM utilizzano ogni strumento e il loro tasso di chiamate riuscite. Le metriche sono abilitate per impostazione predefinita ma possono essere disabilitate permanentemente.

Cosa Raccogliamo

  • Eventi di chiamata degli strumenti (quali strumenti vengono utilizzati)
  • Stato successo/fallimento

Non raccogliamo: parametri di chiamata degli strumenti, dettagli dei contratti, nomi di funzioni o qualsiasi informazione specifica del progetto.

Disabilitazione delle Metriche

Per disattivare permanentemente:

root@kitploit:~
uv run slither-mcp --disable-metrics

Per i dettagli completi, consulta METRICS.md.

Strumenti MCP

Il server espone strumenti per interrogare informazioni su contratti e funzioni. Tutti gli strumenti accettano un parametro path che specifica la directory del progetto Solidity da analizzare.

Strumenti di Interrogazione

1. list_contracts - Elenca i contratti con filtri

Richiede: path (directory del progetto) Filtra i contratti per tipo (concreto, astratto, interfaccia, libreria) o pattern del percorso.

2. get_contract - Ottieni informazioni dettagliate sul contratto

Recupera i metadati completi del contratto, incluse funzioni, ereditarietà e flag.

3. get_contract_source - Ottieni il codice sorgente del contratto

Restituisce il codice sorgente completo del file Solidity contenente il contratto specificato.

4. get_function_source - Ottieni il codice sorgente della funzione

Restituisce il codice sorgente per una funzione specifica con i numeri di riga. Utile per analisi mirate.

5. list_functions - Elenca le funzioni con filtri

Filtra le funzioni per contratto, visibilità o modificatori.

6. function_callees - Ottieni relazioni di chiamata delle funzioni

Restituisce le chiamate interne, esterne e di libreria per una funzione, inclusa l'individuazione di chiamate di basso livello.

7. function_callers - Ottieni funzioni che chiamano una funzione target

Restituisce tutte le funzioni che chiamano la funzione target specificata, raggruppate per tipo di chiamata (interna, esterna, libreria). È l'inverso di function_callees.

8. get_inherited_contracts - Ottieni l'ereditarietà del contratto

Restituisce un albero ricorsivo di tutti i contratti da cui un contratto eredita (genitori e antenati).

9. get_derived_contracts - Ottieni contratti che ereditano da questo

Restituisce un albero ricorsivo di tutti i contratti che ereditano da un contratto (figli e discendenti).

10. list_function_implementations - Trova implementazioni di funzioni

Trova tutte le implementazioni di una firma di funzione attraverso i contratti.

11. list_detectors - Elenca i detector Slither disponibili

Restituisce metadati sui detector di Slither, inclusi nomi, descrizioni, livelli di impatto e valutazioni di confidenza. Supporta il filtraggio per nome o descrizione.

12. run_detectors - Ottieni risultati dei detector con filtri

Restituisce i risultati dei detector memorizzati nella cache. Filtra per nomi dei detector, livello di impatto (Alto, Medio, Basso, Informativo) o livello di confidenza (Alto, Medio, Basso).

Tutti gli strumenti restituiscono risposte con un booleano success e campi dati o un error_message. Consulta le implementazioni dei singoli strumenti in slither_mcp/tools/ per schemi dettagliati e utilizzo.

Utilizzo del Client

Il pacchetto slither-mcp include un client Python tipizzato (SlitherMCPClient) per interagire programmaticamente con il server Slither MCP. È utile per costruire strumenti, script o agenti che necessitano di interrogare progetti Solidity.

Il client fornisce:

  • Metodi type-safe per tutti gli strumenti MCP
  • Serializzazione/deserializzazione automatica dei modelli Pydantic
  • Metodi helper per pattern comuni
  • Wrapper per strumenti per l'integrazione con agenti pydantic-ai

Per esempi di utilizzo dettagliati e documentazione, consulta CLIENT_USAGE.md.

Requisiti

  • Python 3.11+
  • Configurazione del compilatore Solidity (Foundry, Hardhat o simili)
  • Slither e le sue dipendenze

Sviluppo

Hook Pre-commit

Installa gli hook pre-commit per eseguire il linting prima dei commit:

root@kitploit:~
pre-commit install

Esecuzione dei Test

root@kitploit:~
uv run pytest
Scarica lo strumento