Slither

(Supporté depuis Remix IDE v0.15.0 et Remixd v0.5.0)

Remixd et Slither

Note: Si vous n’avez pas encore utilisé remixd, lisez-en plus sur here

Lorsque le module remixd NPM est installé, il installe également Slither et solc-select ainsi que la dernière version de 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)

lorsque remixd est exécuté localement sur votre appareil, un plugin websocket supplémentaire écoutera sur le port 65523 qui sera dédié à l’intégration de Slither. (Supporté depuis Remixd v0.5.0)

Le Slither listener remixd est un plugin websocket similaire à remixd et est utilisé pour effectuer des analyses Slither avec Remix IDE.

Activer l’analyse du glissement

Conditions préalables

Pour utiliser efficacement l’analyse Slither avec Remix IDE, les outils suivants doivent être installés localement sur le système :

  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

Il est configuré avec l’installation de remixd ou peut être fait en utilisant la commande remixd -i slither.

Comment l’utiliser ?

Si un projet est partagé via remixd et que l’espace de travail localhost est chargé dans Remix IDE, il y aura une case à cocher supplémentaire dans le plugin Solidity Static Analysis avec le libellé Enable Slither Analysis.

Il y a une icône d’information sur le côté droit de l’étiquette qui redirige vers une section spécifique de la documentation officielle de Remix qui explique comment utiliser l’analyse Slither et les conditions préalables.

Vous pouvez cocher la case « Activer l’analyse Slither » pour effectuer l’analyse à l’aide de Slither et de la bibliothèque d’analyse de Remix.

Le dernier rapport d’analyse de Slither sera stocké localement à la racine du projet dans un fichier nommé remix-slither-report.json.

Le rapport d’analyse Slither sera également affiché sur le côté de l’IDE Remix après le rapport d’analyse Remix pour une meilleure lisibilité pour l’utilisateur.

Le résultat de l’analyse sera affiché dans le terminal de l’IDE Remix.

et aussi dans la console remixd.

Pour ne lancer que l’analyse Slither, décochez la case « Select all » et cliquez sur « Run ». Vous n’obtiendrez alors que le rapport de l’analyse 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.

Plus de détails

L’analyse pour Slither est exécutée en utilisant la version définie dans le plugin Solidity Compiler sur Remix IDE. Slither est un outil CLI et nécessite solc pour exécuter l’analyse. Avant de lancer l’analyse, le plugin websocket de Slither vérifie si la version actuelle de solc est la même que celle définie dans Remix IDE.

Si la version du compilateur définie dans Solidity Compiler est différente de la version actuelle de solc installée localement, le plugin Slither websocket mettra à jour le solc pour qu’il soit identique à la version requise solc-select.

Par exemple, si la version actuelle de solc sur le système est 0.8.4 et sur l’IDE Remix 0.8.6, remixd explique la sélection de la version de solc à distance.

Après une analyse réussie :