Volver al blog

Rustle: el Primer Auditor Automático para la Comunidad NEAR

Code Auditing
1 de noviembre de 2022
4 min de lectura

Nos complace lanzar Rustle: el primer auditor automático ofrecido por BlockSec para la comunidad NEAR.

Rustle tiene varias características destacadas:

  • Rustle puede detectar actualmente más de 20 tipos de problemas en el contrato NEAR. Consulte la sección Detectores para ver la lista completa de detectores.
  • Rustle es fácil de usar. Proporcionamos instrucciones de instalación y tutoriales detallados. Además, también preparamos un docker para que los usuarios puedan comenzar rápidamente.
  • Rustle es bastante rápido, la mayoría de los contratos NEAR pueden analizarse en menos de 3 minutos.
  • Rustle es fácil de usar con informes en formato CSV y JSON. También proporcionamos un script para ayudarle a importar los resultados a Notion.

Detectores

Todas las vulnerabilidades que Rustle puede detectar. La documentación detallada se puede encontrar aquí.

Detector Id Description Severity
unhandled-promise Detecta Promises que no están gestionadas Alta
non-private-callback Falta la macro #[private] para las funciones de callback Alta
reentrancy Encuentra funciones vulnerables a ataques de reentrada Alta
unsafe-math Falta de verificación de desbordamiento en operaciones aritméticas Alta
self-transfer Falta verificación de remitente != receptor Alta
incorrect-json-type Tipo incorrecto usado en parámetros o valores de retorno Alta
div-before-mul Pérdida de precisión por orden de operación incorrecto Media
round Redondeo sin especificar ceil o floor Media
lock-callback Un panic en la función de callback puede bloquear el contrato Media
yocto-attach No hay assert_one_yocto en la función privilegiada Media
prepaid-gas Falta verificación del gas prepagado en ft_transfer_call Baja
non-callback-private Macro #[private] usada en función que no es de callback Baja
unused-ret Resultado de función no utilizado o verificado Baja
upgrade-func No hay función de actualización en el contrato Baja
tautology Tautología usada en rama condicional Baja
inconsistency Uso de símbolo similar pero ligeramente diferente Baja
timestamp Encuentra todos los usos de timestamp Info
complex-loop Encuentra todos los bucles con lógica compleja que pueden causar DoS Info
ext-call Encuentra todas las invocaciones entre contratos Info
promise-result Encuentra todos los usos del resultado de promise Info
transfer Encuentra todas las acciones de transferencia Info

Cómo usar

Utilizamos Rustle para analizar un contrato NEAR popular (es decir, LiNEAR). Los comandos han sido probados en Ubuntu 20.04 LTS.

  1. Siga el manual de instalación en la página de GitHub. Si desea usar docker, omita esto y vaya al manual de docker.

  2. Prepare el contrato NEAR para que Rustle lo analice.

     git clone https://github.com/linear-protocol/LiNEAR.git ~/near-repo/LiNEAR
    
  3. Inicie el análisis ejecutando ./rustle.

     ./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear
    
  1. Compruebe el informe en audit-result/summary.csv
  1. Puede especificar qué detectores o grupos de severidad usar.

./rustle -h para más detalles.

Ejemplo:

./rustle -t ~/near-repo/LiNEAR ~/near-repo/LiNEAR/contracts/linear -d high,medium,complex-loop

Una cosa más

Rustle puede utilizarse en el proceso de desarrollo para analizar los contratos inteligentes NEAR de forma iterativa. Esto puede ahorrar mucho esfuerzo manual y mitigar parte de los posibles problemas. Sin embargo, las vulnerabilidades en lógica compleja o relacionadas con la semántica siguen siendo una limitación de Rustle. La identificación de problemas semánticos complicados requiere que los expertos de BlockSec realicen revisiones exhaustivas y detalladas. Contáctenos para el servicio de auditoría.

Los Issues y los PRs también son bienvenidos.

Acerca de BlockSec

BlockSec es una empresa pionera en seguridad blockchain fundada en 2021 por un grupo de expertos en seguridad de reconocimiento mundial. La empresa está comprometida con mejorar la seguridad y la usabilidad del emergente mundo Web3 para facilitar su adopción masiva. Con este fin, BlockSec ofrece servicios de auditoría de seguridad de contratos inteligentes y cadenas EVM, la plataforma Phalcon para el desarrollo de seguridad y el bloqueo proactivo de amenazas, la plataforma MetaSleuth para el rastreo e investigación de fondos, y la extensión MetaSuites para que los desarrolladores web3 naveguen eficientemente en el mundo cripto.

Hasta la fecha, la empresa ha prestado servicios a más de 300 distinguidos clientes como MetaMask, Uniswap Foundation, Compound, Forta y PancakeSwap, y ha recibido decenas de millones de dólares en dos rondas de financiación de destacados inversores, incluidos Matrix Partners, Vitalbridge Capital y Fenbushi Capital.

Sitio web oficial: https://blocksec.com/

Cuenta oficial de Twitter: https://twitter.com/BlockSecTeam

Apúntate para recibir las novedades
Pérdidas de ~5,57 millones USD: exploits de X100 Freezer y NEM | Resumen semanal de BlockSec
Security Insights

Pérdidas de ~5,57 millones USD: exploits de X100 Freezer y NEM | Resumen semanal de BlockSec

Este informe semanal cubre dos incidentes de seguridad ocurridos en Ethereum y BNB Chain durante el período 19/10/2026–25/10/2026. Examina una toma de control de la gobernanza de X100 Freezer financiada mediante un préstamo flash y un fallo en la liquidación de impuestos que afectó a un pool de liquidez de un token NEM en BNB Chain. Las pérdidas estimadas dentro del alcance del informe suman aproximadamente 5,57 millones USD: ~4,75 millones USD de la transacción representativa de X100 y ~820 mil USD del incidente del pool de NEM. El total excluye las extracciones posteriores de X100 reportadas por separado.

Pérdidas de aproximadamente 3,87 millones USD: hackeos de Autheo Network y UNCX | Resumen semanal de BlockSec
Security Insights

Pérdidas de aproximadamente 3,87 millones USD: hackeos de Autheo Network y UNCX | Resumen semanal de BlockSec

Este informe semanal cubre 3 incidentes de seguridad correspondientes al período 12/10/2026–18/10/2026, con pérdidas totales estimadas en aproximadamente 3,87 millones USD. Autheo Network sufrió una vulneración de clave privada con pérdidas de aproximadamente 1,76 millones USD; Qubic Wallet perdió aproximadamente 1,30 millones USD debido a la generación de una semilla débil; y los contratos Smart Token Vesting V2 de UNCX Network sufrieron un error contable con pérdidas de aproximadamente 807 mil USD en Ethereum, BNB Chain, Base y Robinhood Chain. El análisis destacado de UNCX explica cómo un cálculo agregado de participaciones defectuoso mezcló tramos de adquisición de derechos creados con distintas proporciones entre tokens y participaciones, lo que permitió retiros excesivos de pools compartidos.

Pérdidas de ~542.000 dólares: explotación de MakerDaoBot | Resumen semanal de BlockSec
Security Insights

Pérdidas de ~542.000 dólares: explotación de MakerDaoBot | Resumen semanal de BlockSec

Ethereum (05–11/10/2026): 1 incidente; pérdida estimada de $542 mil. MakerDaoBot, sin control de acceso, dio a un adaptador malicioso acceso a sus saldos MakerDAO. Este cerró 4 subastas ETH-A y convirtió 200 ETH-A en WETH; el atacante los cambió por 200 ETH y se los envió.

El mejor auditor de seguridad para Web3

Valida el diseño, el código y la lógica de negocio antes del lanzamiento, siguiendo los estándares de seguridad más exigentes del sector.

Auditoría de BlockSec