Slither

(Supportato a partire dalla versione Remix IDE v0.15.0 and Remixd v0.5.0)

Remixd e Slither

Nota: Se non si è mai usato remixd prima d’ora, leggi di più su di esso qui

Quando viene installato il modulo remixd NPM, esso installa anche Slither e solc-select e l’ultima versione di solc.

Python3.6+ (pip3) needs to already be installed on the System. In case of any discrepancy, Slither can also be installed along with other dependencies using command remixd -i slither (This packaging of Slither with the remixd module is supported since Remixd v0.6.3)

quando remixd è in esecuzione localmente sul dispositivo, un plugin websocket aggiuntivo sarà in ascolto sulla porta 65523 che sarà dedicata all’integrazione di Slither. (Supportato a partire da Remixd v0.5.0)

Il processo websocket di Slither è un plugin websocket simile a remixd e viene usato per eseguire l’analisi Slither con Remix IDE.

Abilita Analisi Slither

Prerequisiti

Per utilizzare in modo efficiente l’analisi di Slither con Remix IDE, i seguenti strumenti devono essere installati localmente sul sistema:

  1. Slither: https://github.com/crytic/slither#how-to-install

  2. Solc: https://docs.soliditylang.org/en/latest/installing-solidity.html

  3. Solc-select: https://github.com/crytic/solc-select#quickstart

Sono configurati con l’installazione di remixd o possono essere fatti usando il comando remixd -i slither.

Come si usa

Se un progetto è condiviso tramite remixd e l’area di lavoro localhost è caricata in Remix IDE, nel plugin Solidity Static Analysis (Analisi statica Solidity) sarà visualizzata una casella di controllo aggiuntiva con l’etichetta Enable Slither Analysis (Abilita l’Analisi Slither).

Sul lato destro dell’etichetta c’è un’icona informativa che reindirizza a una sezione specifica della documentazione ufficiale di Remix che spiega come utilizzare l’Analisi Slither e i suoi prerequisiti.

È possibile selezionare la casella Enable Slither Analysis (Abilita l’Analisi Slither) per eseguire l’analisi utilizzando Slither insieme alla libreria di analisi di Remix.

L’ultimo rapporto dell’analisi di Slither sarà memorizzato localmente nella root del progetto con un file nominato remix-slither-report.json.

Il report di analisi di Slither sarà visualizzato anche sul lato IDE di Remix dopo il rapporto di analisi di Remix per una migliore leggibilità dell’utente.

Il risultato dell’analisi sarà visualizzato nel terminale dell’IDE Remix

e anche nella console remixd.

Per eseguire solo l’Analisi Slither, deselezionare la casella di controllo Select all (Seleziona tutto) e cliccare su Run (Esegui). Ora verrà visualizzato solo il rapporto di Analisi Slither.

By default, it doesn’t show the warnings for external libraries like remix-tests.sol, hardhat/console.sol etc. To have a look at them, check the box with label Show warnings for external libraries.

Maggiori Dettagli

L’analisi per Slither viene eseguita utilizzando la versione impostata nel plugin Solidity Compiler (Compilatore Solidity) dell’IDE Remix. Slither è uno strumento CLI e richiede solc per eseguire l’analisi. Prima di eseguire l’analisi, il plugin websocket di Slither controlla se la versione corrente di solc è uguale a quella impostata nell’IDE Remix.

Se la versione del compilatore impostata in Solidity Compiler è diversa dalla versione corrente di solc installata localmente, il plugin websocket Slither aggiornerà solc per essere uguale alla versione solc-select richiesta.

Per esempio, se la versione corrente di solc sul sistema è 0.8.4 e sull’IDE Remix è impostata la 0.8.6, i log di remixd spiegano la versione remota di solc selezionata

Dopo l’esecuzione dell’analisi avvenuta con successo: