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:
Solc: https://docs.soliditylang.org/en/latest/installing-solidity.html
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: