Slither

(Compatible desde Remix IDE v0.15.0 y Remixd v0.5.0)

Remixd y Slither

Nota: Si no ha utilizado remixd antes, lea más sobre él here

Cuando se instala el módulo remixd NPM, también se instalan Slither y solc-select y la última versión 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)

cuando remixd se esté ejecutando localmente en su dispositivo, un plugin websocket adicional estará escuchando en el puerto 65523 que estará dedicado para la integración de Slither. (Soportado desde Remixd v0.5.0)

El remixd Slither listener es un plugin websocket similar a remixd y se utiliza para realizar análisis Slither con Remix IDE.

Habilitar el análisis de deslizamiento

Requisitos previos

Para utilizar eficazmente el análisis Slither con el IDE Remix, las siguientes herramientas deben estar instaladas localmente en el 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

Se configura con la instalación de remixd o se puede hacer utilizando el comando remixd -i slither.

Cómo utilizarlo

Si se comparte un proyecto a través de remixd y se carga el espacio de trabajo localhost en Remix IDE, aparecerá una casilla de verificación adicional en el plugin Solidity Static Analysis con la etiqueta Enable Slither Analysis.

Hay un icono de información a la derecha de la etiqueta que redirige a una sección específica de la documentación oficial de Remix que explica cómo utilizar el Análisis de Slither y los requisitos previos para ello.

Se puede marcar la casilla Habilitar análisis de Slither para ejecutar el análisis utilizando Slither junto con la biblioteca de análisis de Remix.

El último informe del análisis de Slither se almacenará localmente en la raíz del proyecto con un archivo llamado remix-slither-report.json.

El informe de análisis de Slither también se mostrará en el IDE de Remix después del informe de análisis de Remix para una mejor legibilidad por parte del usuario.

El resultado del análisis se mostrará en el terminal Remix IDE

y también en la consola remixd.

Para ejecutar sólo el Análisis de Slither, desmarque la casilla Seleccionar todo y haga clic en Ejecutar. Ahora sólo se mostrará el informe del Análisis de 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.

Más detalles

El análisis para Slither se ejecuta utilizando la versión establecida en el plugin Solidity Compiler de Remix IDE. Slither es una herramienta CLI y requiere solc para ejecutar el análisis. Antes de ejecutar el análisis, el plugin websocket de Slither comprueba si la versión actual de solc es la misma que la versión establecida en Remix IDE.

Si la versión del compilador establecida en Solidity Compiler es diferente de la versión actual de solc instalada localmente, el complemento de websocket de Slither actualizará solc para que coincida con la versión requerida solc-select.

Por ejemplo, si la versión actual de solc en el sistema es 0.8.4 y en el IDE Remix se establece 0.8.6, remixd logs explica la selección de la versión remota de solc

Tras la ejecución satisfactoria del análisis: