Resumen
Midas Chain es una L2 de OP Stack que liquida en Ethereum, con MIDS como token de gas nativo. Antes de que mueva dinero real, pagamos a investigadores de seguridad para que encuentren lo que falla.
- Dos líneas: los contratos propios de la cadena, y cómo está configurada y expuesta a internet.
- Cada hallazgo de severidad alta o media es un envío aparte con una prueba de concepto que funcione. Los hallazgos de severidad baja van en un único informe QA por participante.
- Las recompensas salen de un fondo fijo, repartido según la severidad y cuántas personas encontraron el mismo fallo.
- Los envíos solo se hacen por el portal cifrado y son privados hasta que se publiquen los resultados.
Alcance
El código bajo revisión se publica como un repositorio propio, fijado a un commit del monorepo de Midas, con las pruebas, un resumen de la cadena para auditores y los problemas conocidos. El enlace al repositorio aparecerá aquí cuando empiece el concurso.
Repositorio del alcanceSe publica al empezar el concurso
Commit fijado
Tamaño924 nSLOC
Contratos de la cadena
El emisor de MIDS, la única vía para emitir MIDS en la cadena (un límite de por vida de 20.000.000.000, quemas que nunca liberan margen bajo ese límite y una cola de 48 horas que el guardián puede cancelar); la bóveda que guarda el saldo de cada usuario para cada aplicación de la cadena; el puente de salida rápida; y la representación ERC-20 del token MIDS.
Configuración de la cadena y endpoints públicos
El intent de op-deployer y los archivos de génesis y rollup generados (token de gas personalizado, roles, destinatarios de comisiones), los parámetros del stack de nodos y la entrada pública al RPC con su lista de métodos permitidos.
| Archivo | Línea | Tipo | nSLOC |
|---|
| Cargando el alcance. |
Problemas conocidos
El archivo KNOWN_ISSUES.md del repositorio del alcance lista los supuestos de confianza y los riesgos aceptados. Repetir uno no da nada; demostrar que uno es peor de lo indicado sí entra en el alcance. Los principales:
- Un solo secuenciador. La resistencia a la censura viene de la inclusión forzada a través de Ethereum, no del secuenciador.
- Varias Safes tienen todos los roles de actualización y administración. La Safe de administración puede actualizar los predeploys del token de gas y, con ellos, las reglas del emisor. Los hallazgos que requieren que una Safe actúe de mala fe están fuera de alcance.
- Los motores de liquidación de la bóveda son de confianza para lo que mueven; la bóveda garantiza quién puede llegar a serlo y con cuánto aviso previo.
- El puente rápido confía en su atestador. Que cualquier otro libere el depósito en garantía, o bloquee un reembolso tras el vencimiento, sí entra en el alcance.
- Las comisiones de gas se recaudan en las bóvedas de comisiones y se envían a la tesorería; no se queman.
- La denegación de servicio por volumen contra el RPC público está fuera de alcance. Una solicitud que detenga, rebobine o alcance un espacio de nombres prohibido del nodo sí entra en el alcance.
Fuera de alcance
- Contratos y clientes de OP Stack sin modificar. Cómo los configura Midas sí entra en el alcance; sus fallos van al programa de recompensas de la propia Optimism.
- Aplicaciones: Pactol, Predikon, Lydos y las stablecoins Midas Dollar (MDLR) y Midas Gold (MGLD). Tendrán su propia revisión antes de su lanzamiento en mainnet.
- Código solo para testnet, mocks y faucets, y los archivos del repositorio del alcance marcados como contexto.
- Servicios de terceros, los sitios web y este portal (repórtalos a través de security.txt).
- Cualquier cosa que requiera un multisig de administración, una clave de operador o un servidor comprometidos, ingeniería social, phishing o acceso físico.
Severidad
La severidad combina impacto y probabilidad, y se juzga sobre el alcance tal como está desplegado, con los problemas conocidos como dados.
| Probabilidad | Impacto alto | Impacto medio | Impacto bajo |
| Alta | Alta | Alta | Media |
| Media | Alta | Media | Baja |
| Baja | Media | Baja | Baja |
Impacto altoRobo o congelación permanente de fondos, emitir MIDS por encima de su límite o sin sus propietarios, tomar un rol de propietario o administrador, detener o rebobinar la cadena, o alcanzar un espacio de nombres del nodo al que el público nunca debe llegar.
Impacto medioCongelación temporal de fondos, la salida de un usuario bloqueada más tiempo que el aviso documentado, acciones dañinas que cuestan dinero a los usuarios, o una regla del protocolo rota sin robo directo.
Impacto bajoManejo de estado, comprobaciones ausentes sin camino a una pérdida, eventos, comentarios y documentación que no coinciden con el código.
La probabilidad es la facilidad y la frecuencia con que se dan las condiciones: quién puede provocarlo, cuánto cuesta y qué debe cumplirse antes.
Recompensas
El fondo se fija en dólares estadounidenses y se reparte un 90% para hallazgos de severidad alta y media y un 10% para informes QA. Cada premio se calcula en dólares y se paga en MIDS, con vesting, como se explica en el apartado de pago.
- Los hallazgos válidos del mismo fallo forman un grupo. Cada autor de un grupo con n autores gana puntos: alta 10, media 3, multiplicado por 0,9 elevado a (n - 1) y dividido entre n.
- El mejor informe de cada grupo se selecciona para el informe final y gana un 30% más. Un duplicado parcial gana el 25%, 50% o 75% de una parte completa.
- El fondo de severidad alta y media se paga en proporción a los puntos.
- El fondo QA se reparte a partes iguales entre los informes con nota A; el mejor informe QA cuenta doble. Las notas B y C no ganan nada.
- Si no hay ningún hallazgo válido de severidad alta o media, ese fondo se suma al fondo QA.
Ejemplo: un hallazgo de severidad alta encontrado por tres personas y uno de severidad media encontrado por una. Cada autor del hallazgo alto gana 10 x 0,81 / 3 = 2,7 puntos, el seleccionado 3,51; el autor del hallazgo medio gana 3. En total 11,91 puntos, así que el autor del hallazgo medio recibe 3 / 11,91 del fondo de severidad alta y media.
Pago en MIDS
- La cantidad de MIDS de un premio es su importe en dólares dividido entre el precio de referencia: el precio en dólares estadounidenses por MIDS, anunciado antes de que empiece el concurso. No cambia después del inicio.
- MIDS existe a partir de la mainnet de Midas Chain. Tras el génesis de la mainnet, los premios se emiten en un contrato de vesting en Midas Chain, una asignación por ganador.
- Cada asignación tiene un cliff de 12 meses que empieza en la fecha de los resultados. No se puede liberar nada antes de que termine el cliff.
- Solo se crea una asignación para un ganador que haya superado el KYC e indicado una dirección de cobro en el portal, y solo paga a esa dirección.
- La dirección y el código fuente del contrato de vesting se publicarán en esta página cuando se despliegue.
Precio de referenciaPrecio de referencia por anunciar antes de que empiece el concurso
Calendario
InscripciónAbierta ahora
ConcursoFechas por anunciar
EvaluaciónUnas dos semanas después del cierre del concurso
Plazo de apelaciónTres días después de los resultados preliminares
Resultados y pagosLos resultados se publican cuando se ha respondido a todas las apelaciones. Las asignaciones se crean tras el génesis de la mainnet de Midas Chain para los ganadores que hayan superado el KYC, y se liberan como pronto 12 meses después de la fecha de los resultados.
Evaluación y apelaciones
- Los jueces clasifican cada envío, agrupan duplicados, fijan la severidad final, califican los informes QA y eligen el mejor informe de cada grupo.
- Los jueces son revisores identificados que no participan. Si la wallet de un juez está registrada como participante, pierde ambos roles hasta que se resuelva el conflicto.
- Al terminar la evaluación, ves el estado, la severidad y la nota de tus envíos y tienes tres días para apelar cada uno una vez, con motivos ligados al código y a estas reglas.
- Los resultados se publican solo cuando se cierra el plazo de apelación y se ha respondido a todas. La decisión de los jueces tras la apelación es definitiva.
Reglas
- Envía solo a través del portal en onmidas.xyz/audit/portal, mientras el concurso esté activo. Nada enviado por otra vía cuenta.
- Un hallazgo de severidad alta o media por envío, con una prueba de concepto que funcione sobre el repositorio del alcance en el commit fijado. Un informe QA por participante para todos los hallazgos de severidad baja.
- Escribe en inglés. Explica qué falla, dónde, a quién afecta y cómo lo corregirías.
- Prueba en local o en un fork. Nunca pruebes contra la testnet pública, su RPC, ningún sistema en producción ni los fondos de otras personas.
- Mantén los hallazgos en privado hasta que se publiquen los resultados. Publicar o compartir un hallazgo antes lo descalifica a él y a su autor.
- Una identidad por persona. Las cuentas duplicadas, la colusión y el plagio descalifican a todas las cuentas implicadas.
- Los hallazgos generados sin comprensión, como la salida de herramientas sin verificar, no son válidos. El spam repetido puede llevar a una suspensión.
- Los jueces deciden la severidad, la validez y los duplicados según estas reglas. Midas puede cambiar las reglas antes de que empiece el concurso; a ti se te aplica la versión que aceptaste al inscribirte.
Elegibilidad y KYC
- Puede participar cualquiera, excepto el personal de Midas, sus contratistas y sus familias, los jueces y quien haya revisado antes este código para Midas.
- Los ganadores deben superar una verificación de identidad (KYC) antes de que se cree su asignación. No se puede pagar a personas en jurisdicciones sancionadas ni incluidas en una lista de sanciones.
- Eres responsable de los impuestos sobre tu recompensa. Midas puede necesitar tu información fiscal para pagarte.
- Antes de crear una asignación, debes indicar en el portal una dirección de cobro que pueda recibir MIDS en Midas Chain. La asignación solo paga a esa dirección.
Puerto seguro y divulgación
Si investigas dentro de estas reglas, Midas considera tu trabajo autorizado: no emprenderemos acciones legales contra ti ni pediremos a nadie que lo haga, y lo diremos si un tercero lo hace. Las reglas que sostienen esa promesa:
- Usa solo tus propias cuentas, redes de prueba, despliegues locales y forks. No accedas, modifiques ni destruyas datos o fondos de otras personas.
- No degrades ni interrumpas ningún servicio en funcionamiento, incluida la testnet y su RPC público.
- Informa a través del portal y mantén el hallazgo en confidencialidad hasta que se publiquen los resultados, o hasta que Midas acepte por escrito una divulgación anterior.
- Una vulnerabilidad en un sistema en producción encontrada fuera del concurso se envía a la dirección de security.txt, no al portal.
El puerto seguro cubre tu investigación bajo estas reglas. No cubre el incumplimiento de ninguna otra ley.
Clasificación
La clasificación aparecerá aquí cuando los jueces publiquen los resultados.
| Puesto | Alias | Alta | Media | Nota QA | Premio |
|---|
Preguntas frecuentes
¿Necesito una wallet?No. Puedes iniciar sesión con un código enviado por correo. Iniciar sesión con una wallet es una firma, nunca una transacción.
¿Puedo enviar antes del inicio?No. Inscríbete ahora; el portal abre los envíos cuando el concurso comienza.
¿Puedo editar un envío?Retíralo y envíalo de nuevo mientras el concurso esté activo. Cuenta la hora del nuevo envío.
¿Quién ve mi informe?Solo tú y los jueces. Los informes y adjuntos se guardan cifrados; los avisos al equipo llevan el número del envío, nunca su contenido.
¿Cómo demuestro lo que envié?Cada envío muestra el SHA-256 de tu informe. Guárdalo.
¿Cuándo recibo mi premio?Tras el génesis de la mainnet de Midas Chain, se emite en una asignación de vesting a tu nombre, que solo puede liberarse después de un cliff de 12 meses desde la fecha de los resultados.
¿Y las stablecoins y las aplicaciones?Están fuera de alcance aquí y tendrán su propia revisión antes de su lanzamiento en mainnet.