Ir al contenido principal

Lista de verificación de seguridad de los contratos inteligentes

contratos Inteligentes
seguridades
Solidity
Intermedio
Trailofbits
7 de septiembre de 2020
3 minuto leído

Lista de verificación para el desarrollo de contratos inteligentes

Le indicamos un proceso altamente eficiente que le recomendamos seguir cuando escriba sus contratos inteligentes.

Compruebe cualquier problema de seguridad conocido:

  • Revise sus contratos con Slitheropens in a new tab. Tiene más de 40 detectores integrados para vulnerabilidades comunes. Ejecútelo en cada comprobación con un nuevo código y asegúrese de obtener un informe limpio (o utilice el modo de cribado para silenciar ciertos problemas).
  • Revise sus contratos con Cryticopens in a new tab. Comprueba 50 problemas que Slither no revisa. Crytic puede ayudar a que su equipo se mantenga a la cabecera, al descubrir fácilmente problemas de seguridad en Pull Requests en GitHub.

Tenga en cuenta las características especiales de su contrato:

Inspeccione visualmente las características de seguridad críticas de su código:

Documente propiedades de seguridad críticas y utilice generadores de pruebas automatizados para evaluarlas:

  • Aprenda a documentar las propiedades de seguridad para su código. Es difícil al principio, pero es la actividad más importante para lograr un buen resultado. También es un requisito previo para utilizar cualquiera de las técnicas avanzadas en este tutorial.
  • Defina las propiedades de seguridad en Solidity, para su uso con Echidnaopens in a new tab y Manticoreopens in a new tab. Concéntrese en su máquina de estado, controles de acceso, operaciones aritméticas, interacciones externas y conformidad con los estándares.
  • Defina las propiedades de seguridad con la API de Python de Slither. Concéntrese en la herencia, dependencias variables, controles de acceso y otras cuestiones estructurales.
  • Ejecute sus pruebas de propiedades en cada confirmación con Cryticopens in a new tab. Crytic puede consumir y evaluar pruebas de propiedad de seguridad para que todos los miembros de su equipo puedan ver fácilmente que pasan por GitHub. Las pruebas fallidas pueden bloquear los commits.

Por último, tenga en cuenta los problemas que las herramientas automatizadas no pueden encontrar fácilmente:

  • Falta de privacidad: todos los demás pueden ver sus transacciones mientras están en cola de espera.
  • Transacciones en ejecución frontal
  • Operaciones criptográficas
  • Interacciones arriesgadas con componentes DeFi externos

Pida ayuda

Las horas de consulta de Ethereumopens in a new tab tienen lugar todos los martes por la tarde. Estas sesiones individuales de una hora de duración son una oportunidad para hacernos cualquier pregunta que tenga sobre la seguridad, solucionar problemas usando nuestras herramientas y obtener comentarios de expertos sobre su enfoque actual. Le ayudaremos a trabajar con esta guía.

Únase a nuestro Slack: Empire Hackingopens in a new tab. Siempre estamos disponibles en los canales #crytic y #ethereum si tiene alguna duda.

Última actualización de la página: 7 de febrero de 2025

¿Le ha resultado útil este tutorial?