El experto en seguridad cibernรฉtica Bernhard Mueller, acaba de poner a disponibilidad de los usuarios y desarrolladores de la blockchain de Ethereum una herramienta capaz de desensamblar, explorar y analizar dicha blockchain en busca de errores. Bautizada en honor al metal ficticio de la Tierra Media de Tolkien, Mythril es su nombre.
Mueller, luego de estudiar variables como las caracterรญsticas del lenguaje de programaciรณn usado por Ethereum, Solidity,ย algunas de las catรกstrofes provocadas por errores en su implementaciรณn y ciertas herramientas de anรกlisis de contratos inteligentes en la blockchain, concluyรณ que estas presentaban limitantes que le impedรญan trabajar eficientemente. Lo que lo llevรณ paso a paso a desarrollar Mythril.
Mythril es una herramienta de exploraciรณn blockchain e intercepciรณn de errores que permite buscar, desensamblar, y analizar contratos inteligentes en la blockchain de Ethereum. Su lรญnea de comandos estรก hecha en lenguaje de programaciรณn Python, lo que hace que su puesta en marcha requiera de procedimientos especiales en comparaciรณn con herramientas similares.
Su variedad de usos es descrita por su autor en un comunicado, donde ademรกs explica cรณmo aplicar esta herramienta en distintos escenarios. Con todo, para รฉl, los usos descritos en el documento โson sรณlo la punta del icebergโ pues, porย el hecho de ser de cรณdigo abierto, facilita a otros desarrolladores poder construir mejoras basadas en Mythril, ampliando su versatilidad y mejorando su calidad.
Asรญ como Mythril, existen otras opciones en el campo de la decompilaciรณn y anรกlisis de blokchains. Entre estas tenemos a Etherscan, Truffle, Remix, Testrpc, y Porosity, los cuales cumplen funciones similares a las de Mythril, tratando de encontrar e incluso corregir los errores encontrados en los contratos inteligentes de la blockchain de Ethereum.
Sin embargo, estas herramientas traรญan consigo lo que para Mueller era un impedimento en relaciรณn al uso del lenguaje de programaciรณn Python. Esto lo condujo a empezar a trabajar en una lรญnea de comandos y mรณdulos en este lenguaje que cumplieran las funciones que Mythril lleva a cabo.
La creaciรณn de herramientas de anรกlisis de blockchains viene de la necesidad de encontrar errores presentes en la creaciรณn de los contratos inteligentesย que se ejecutan en una blockchain para asรญ robustecerlos y eliminar vulnerabilidades. Siendo รฉstos un medio de transferencia, no sรณlo de informaciรณn, sino tambiรฉn de mรบltiples tipos de transacciones electrรณnicas, se vuelven un blanco seguro de ataques por parte de hackers y ciberdelincuentes.
Sรณlo podemos especular sobre el tipo de vulnerabilidades que podrรญan estar escondidas en los miles de contratos desplegados en la blockchain, muchos de los cuales son โcajas negrasโ (en el sentido que sus cรณdigos fuente no han sido publicados en Etherscan)
Bernhard Mueller
Consultor Principal
Uno de los casos mรกs recientes fue el ocurrido con la cartera multifirmas Parity, la cual sufriรณ un ataque que provocรณ pรฉrdidas millonarias a varios proyectos alojados en la blockchain de Ethereum. El robo fue aludido a errores en los contratos inteligentes escritos en el lenguaje de programaciรณn utilizado en esta blockchain, Solidity. La alta complejidad del mismo, y lo โpoco intuitivoโ que resulta para los desarrolladores (en palabras de Mueller), se presta para que este tipo de errores sucedan con frecuencia.