
Desmitificando los errores explotables en los contratos inteligentes

Este proyecto tiene como objetivo proporcionar un recurso valioso para desarrolladores Web3 y analistas de seguridad, facilitando su comprensión de los bugs explotables en contratos inteligentes. Realizamos un análisis exhaustivo de bugs explotables extraídos de code4rena y clasificamos cada bug según su naturaleza.
Nuestra investigación inicial sugiere que una proporción notable de bugs explotables en contratos inteligentes son bugs funcionales, que no pueden detectarse mediante oráculos simples y generales como la reentrancia. Nuestro objetivo es concienciar sobre la importancia de dichos bugs y animar a los profesionales a desarrollar oráculos semánticos automáticos más sofisticados y matizados para detectarlos.
Un número significativo de bugs explotables en contratos inteligentes cae dentro de la categoría de bugs funcionales, que no pueden detectarse mediante oráculos simples y generales.
Ten en cuenta que este repositorio se encuentra actualmente en desarrollo activo, y los datos pueden cambiar con el tiempo debido a los concursos de code4rena en curso.
El dataset está organizado en cuatro carpetas:
Clasificamos los bugs analizados en tres categorías principales según su naturaleza:
Dado que clasificar bugs funcionales puede ser ambiguo, agradecemos sugerencias para mejorar nuestros estándares de clasificación. Puedes encontrar información más detallada sobre las etiquetas en nuestra documentación, y te animamos a consultar nuestras directrices de clasificación actuales para obtener más información.
Nuestro objetivo es crear una lista completa de técnicas de detección de vulnerabilidades que sea un recurso valioso para desarrolladores Web3 y analistas de seguridad. Nos centraremos en dos categorías principales:
Acogemos con satisfacción cualquier sugerencia o contribución adicional de la comunidad para ayudar a ampliar y mejorar la lista.
Creemos que los futuros esfuerzos de seguridad web3 priorizarán la identificación de bugs funcionales y el desarrollo de oráculos correspondientes. Con este fin, tenemos la intención de recopilar una lista de técnicas que sirvan de guía en la creación de oráculos semánticos automáticos. Estas técnicas se obtendrán de diversos materiales, como artículos de investigación revisados por pares, preprints, herramientas de la industria y recursos en línea.
| Técnica | Categoría de Bugs |
|---|---|
| Encontrando Bugs de Permisos en Contratos Inteligentes con Role Mining | Control de Acceso |
| AChecker: Detección Estática de Vulnerabilidades de Control de Acceso en Contratos Inteligentes | Control de Acceso |
| Hacia la Verificación Automatizada de la Equidad en Contratos Inteligentes | Propiedad de Equidad |
| Clockwork Finance: Análisis Automatizado de la Seguridad Económica en Contratos Inteligentes | Por determinar |
| Confusum Contractum: Vulnerabilidades de Diputado Confundido en Contratos Inteligentes de Ethereum | Diputado Confundido |
| ¡No es tu Tipo! Detección de Vulnerabilidades de Colisión de Almacenamiento en Contratos Inteligentes de Ethereum | Colisión de Almacenamiento |
Esta sección incluirá técnicas de código abierto que están disponibles públicamente y actualmente en desarrollo activo. Estas técnicas pueden ser utilizadas directamente por desarrolladores Web3 y analistas de seguridad, o como componentes básicos para otras herramientas. Damos prioridad a las técnicas a nivel de código fuente, que son más adecuadas para los contextos de desarrollo y auditoría Web3.