Stacy es un analizador estático de código abierto para contratos inteligentes escritos en Clarity. Está diseñado para ayudar a los desarrolladores y auditores de contratos inteligentes en Clarity a detectar problemas comunes de seguridad y desviaciones de las mejores prácticas.
Esta herramienta ayudará a los desarrolladores a escribir contratos inteligentes más seguros y robustos.
pip install stacy-analyzer
Las severidades están basadas en los peores escenarios posibles y los resultados de los detectores pueden variar según el contexto.
ID del Detector | Qué Detecta | Casos de Prueba | Severidad |
---|---|---|---|
assert-block-height | Uso de block-height como rastreador de tiempo. |
1 | Crítica |
call-inside-as-contract | Llamar a otro contrato perdiendo el contexto del contrato inicial. | 1 | Crítica |
divide-before-multiply | Realizar una operación de división antes de multiplicar, lo que provoca pérdida de precisión. | 1 | Crítica |
private-function-not-used | Código muerto (funciones privadas) dentro del contrato inteligente. | 1 | Mejora |
todo-comment | Comentarios TODO dejados en el contrato inteligente. | 1 | Mejora |
tx-sender-in-assert | Uso de tx-sender en assert de manera indebida. | 1 | Alta |
unwrap-panic-usage | Uso inapropiado del método unwrap-panic , causando bloqueos inesperados en el programa. |
1 | Mejora |
var-could-be-constant | Variables que no cambian y podrían ser constantes. | 1 | Mejora |
updated-functions | Funciones obsoletas. | 1 | Mejora |
unused-arguments | Argumentos pasados pero no utilizados. | 1 | Mejora |
unused-let-variables | Variables locales declaradas pero no usadas. | 1 | Mejora |
Puedes encontrar nuestras directrices de contribución aquí.
Puedes ejecutar Stacy sobre todos los contratos de prueba ejecutando el siguiente comando:
stacy-analyzer lint tests
Buscará de forma recursiva todos los archivos .clar
en el directorio tests
y ejecutará Stacy sobre ellos. Con este comando, no necesitarás especificar la ruta a cada contrato inteligente.
Esto debería imprimir los errores en los ejemplos vulnerables, ¡y nada en los ejemplos corregidos!
Nosotros - CoinFabrik - somos una empresa de investigación y desarrollo especializada en Web3, con un sólido historial en ciberseguridad. Fundada en 2014, hemos trabajado en más de 180 proyectos relacionados con blockchain, basados en EVM y también para Solana, Algorand y Polkadot. Más allá del desarrollo, ofrecemos auditorías de seguridad a través de un equipo interno dedicado de profesionales senior en ciberseguridad, que actualmente trabaja con código en Substrate, Solidity, Clarity, Rust y TEAL.
Nuestro equipo tiene formación académica en ciencias de la computación y matemáticas, con experiencia laboral centrada en ciberseguridad y desarrollo de software, incluidas publicaciones académicas, patentes convertidas en productos y presentaciones en conferencias. Además, tenemos una colaboración continua de transferencia de conocimiento y proyectos de código abierto con la Universidad de Buenos Aires.
Stacy está licenciado y distribuido bajo una licencia MIT. Contáctanos si estás buscando una excepción a los términos.