No auditamos. Lanzamos y endurecemos código de smart contracts, luego firmas externas lo auditan. Antes de que se abra esa ventana de auditoría, corremos esta checklist pre-auditoría de 30 ítems en 6 categorías: compiler y toolchain, control de acceso y roles, aritmética y overflow, llamadas externas y reentrancy, upgradability y storage, superficies de gas y DoS. Cada ítem de abajo nos ha quemado a nosotros o a un peer en un engagement real. Limpiar los 30 ha recortado los conteos de findings de auditoría en nuestros handovers aproximadamente un 60 a 80 por ciento en nuestro historial de engagements, lo que significa auditorías más baratas y mainnet más rápido.
Esta es la lista que nos hubiera gustado que alguien nos pasara el día uno de Scramble Pay, Quivr, Lightbridge y nuestro trabajo de Account Abstraction. No lo llamamos auditoría. Es una revisión de hardening, diseñada para que la auditoría sea aburrida.
¿Yendo a auditoría pronto?
Reserva Consultoría GratuitaSeis categorías, cinco ítems cada una, treinta ítems en total. Tratamos la checklist como una puerta. Si un ítem falla, el contrato no sale de nuestro repo hasta que esté arreglado o explícitamente waivado por escrito por el cliente con una razón. Lo emparejamos con nuestro flujo TDD y nuestro servicio de QA para que cada fix aterrice con un test de regresión.
foundry.toml o hardhat.config. Pragmas flotantes como ^0.8.20 significan que dos desarrolladores pueden compilar dos bytecodes distintos del mismo source.git apuntando a main. Hacemos diff de cada upgrade de dependencia.onlyOwner por defecto. Mapeamos cada función a un rol y documentamos quién lo tiene en deployment.Ownable2Step o equivalente. Un typo en una transferencia de un paso es irrecuperable._disableInitializers() en el constructor de cada contrato de implementación, sin excepciones.unchecked tiene un comentario explicando por qué el overflow es imposible en el call site./ en rutas financieras y revisamos cada una.uint256 a uint128 o menor tiene un check de bound explícito o SafeCast.onERC1155Received, ERC721 onERC721Received. Asume que cualquier token externo es hostil.(bool ok, ) = target.call(...) sin check de return data es un fallo silencioso esperando a ocurrir.
"El hardening es lo que hace aburrida a la auditoría. Las auditorías aburridas salen a producción."
forge inspect storage layout antes y después, y rechazamos cualquier slot reordenado.uint256[50] private __gap; según convención OpenZeppelin.try/catch.forge snapshot y rechazamos regresiones de más del 5 por ciento.Los auditores cobran por línea de código y por día. Enviar código no endurecido a una auditoría es pagar a ingenieros senior €2.000 a €4.000 por día para encontrar bugs que tu propio equipo podría haber atrapado con Slither y un fuzz harness. En nuestro historial de engagements, los proyectos que completaron los 30 ítems antes del handoff de auditoría volvieron con conteos de findings de auditor en un dígito, la mayoría informacionales. Los proyectos que se saltaron la checklist rutinariamente volvieron con 30+ findings incluyendo críticos, lo que luego requirió una re-auditoría a coste completo.
Esta es la diferencia entre Wavect y una shop generalista. Ver Wavect vs una agencia de desarrollo generalista para el contexto completo. Construimos sistemas Web3 con una cadencia security-first integrada en nuestro servicio blockchain, para que la auditoría se vuelva un sign-off en lugar de un rescate.
El tech lead de Wavect en el engagement. Firma cada ítem con una referencia a commit y una referencia a test. El cliente recibe la checklist firmada como parte del paquete de handover de auditoría, que el auditor externo recibe junto al código. A los auditores les encanta esto porque les dice dónde enfocar su atención.
30 ítems, 6 categorías, un documento firmado por release. Esa es la revisión de hardening pre-auditoría. No reemplazamos a los auditores externos y nunca lo decimos. Lo que hacemos es entregarles código que ya ha pasado los vectores obvios, para que su fee te compre findings profundos en lugar de obvios.
Si estás a punto de lanzar un codebase Solidity a mainnet y no has corrido un pase estructurado de hardening, estás pagando tarifas de auditoría por trabajo que podrías haber hecho a tarifas de ingeniería. Habla con nosotros antes de reservar el slot de auditoría, no después.
¿Lanzando smart contracts?
Reserva Consultoría Gratuita