Como prometimos en la entrega anterior, debido a la gran cantidad de proyectos de calidad en este sector, hoy traemos más herramientas de análisis dinámico para smart contracts.
Maian es una herramienta para la detección automática de contratos inteligentes Ethereum con errores de tres tipos diferentes: pródigo, suicida y codicioso. Maian procesa el bytecode del contrato e intenta construir un rastro de transacciones para encontrar y confirmar los fallos. Los aspectos técnicos del enfoque se describen a continuación. Evaluación de contratos
Maian analiza los contratos inteligentes definidos en un fichero <fichero de contrato> con:
Código fuente Solidity, use -s <fichero de contrato> <nombre del contrato principal>.
Bytecode fuente, use -bs <fichero de contrato>
Bytecode compilado (es decir, el código que se encuentra en la cadena de bloques), utilice -b <fichero de contrato>.
Maian busca tres tipos de contratos con errores:
Contratos suicidas (cualquiera puede matarlos, como el contrato de la Parity Wallet Library), utilice -c 0
Contratos pródigos (pueden enviar Ether a cualquiera), use -c 1
Contratos codiciosos (nadie puede sacar Ether), utilice -c 2
Vertigo es un marco de pruebas de mutación diseñado para trabajar específicamente con contratos inteligentes. Este marco de pruebas de mutación implementa una serie de operadores de mutación seleccionados de trabajos anteriores o adaptados a Solidity. para quién no conozca este sistema de testeo de mutación le explicaremos un ejemplo de para que sirve.
Cuando subes un contrato a la cadena de bloques, este se queda allí para siempre. Con el paso del tiempo, se descubren nuevas vulnerabilidades en muchos contratos ya desplegados. Por esta razón, este tipo de herramientas es útil para probar distintos casos y múltiples variables, con el fin de exponer tu contrato a situaciones excepcionales. Esto se hace con la intención de estar preparado ante cualquier nueva vulnerabilidad.
Con esto terminamos esta pequeña serie sobre herramientas de análisis dinámico de smart contracts, pero si observamos que recibe un buen feedback, continuaremos. Hasta entonces, desplieguen de forma segura
Vía Un informático en el lado del mal