¿Qué hace secure-workflow-guide?
Guía a través del flujo de trabajo de desarrollo seguro de 5 pasos de Trail of Bits. Ejecuta análisis de Slither, verifica características especiales (actualizabilidad/conformidad ERC/integración de tokens), genera diagramas de seguridad visuales, ayuda a documentar propiedades de seguridad para fuzzing/verificación y revisa áreas de seguridad manuales.
Resumen
Este flujo de trabajo automatiza el proceso de revisión de seguridad recomendado por Trail of Bits, combinando herramientas de análisis estático (Slither), generación de documentación visual (Graphviz) y listas de verificación para áreas de seguridad manuales. Es ideal para desarrolladores que buscan integrar prácticas de seguridad en su ciclo de CI/CD.
Plataformas Soportadas
- Claude Code
- Cursor
- Codex CLI
Requisitos
- Slither: Instalado y disponible en el PATH (
pip install slither-analyzer). - Graphviz: Instalado para generar diagramas (
apt install graphviz). - Acceso a contrato inteligente: Archivos
.solen el directorio de trabajo.
Pasos del Flujo de Trabajo
-
Paso 1: Análisis Estático
- Ejecuta
slither .en el directorio del proyecto. - Revisa la salida en busca de vulnerabilidades comunes (reentrancia, desbordamientos, etc.).
- Ejecuta
-
Paso 2: Verificación de Características Especiales
- Detecta si el contrato es actualizable (patrones de proxy).
- Verifica cumplimiento de estándares ERC (ERC20, ERC721, ERC1155).
- Identifica integraciones con tokens externos (balances, transferencias).
-
Paso 3: Diagrama de Seguridad Visual
- Genera un diagrama con Graphviz mostrando el flujo de control y las interacciones entre contratos.
- Resalta puntos de entrada externos y áreas de riesgo.
-
Paso 4: Documentación de Propiedades
- Ayuda a documentar propiedades de seguridad utilizando el formato de Echidna o Certora.
- Ejemplo de propiedad documentada:
assert(balanceOf[owner] >= 0).
-
Paso 5: Revisión Manual Dirigida
- Proporciona una lista de verificación para áreas que requieren revisión manual (lógica de gobernanza, control de acceso, etc.).
Ejemplo de Uso
# Iniciar el flujo de trabajo con un contrato
> slither .
> detect upgradeability
> generate diagram
> document properties
> manual review areas
Referencias
Contribuciones
Las contribuciones son bienvenidas. Por favor, envía un pull request o reporta un issue en el repositorio oficial.