Del 20 al 27 de febrero, ocurrieron dos casos de explotación de código débil en pruebas de conocimiento cero (Prueba ZK). El primero implicó una salida de cinco monedas Ethereum de Veil Cash, un tesina que proporciona fondos de solvencia en la red Colchoneta, y el segundo afectó a 1,5 millones de dólares en contratos de Foom. La explotación de este código tomó por sorpresa a la comunidad de desarrolladores. La comunidad de desarrolladores consideró que el código implementado por ZK Proofs era difícil, matemáticamente sólido y vaco de vulnerabilidades críticas conocidas.
Según un crónica del hacker ético Beacon302, una vulnerabilidad en el código permitió a los atacantes de Veil Cash “falsificar una prueba válida de conocimiento cero para cualquier entrada pública y agotar todo el fondo de privacidad de 0,1 ETH en 29 retiros fraudulentos en una sola transacción, sin siquiera realizar un depósito”.
Veil es un protocolo que utiliza zk-SNARK para producir pruebas válidas de depósitos y proteger la privacidad de las transacciones sin exponer datos. Para los hackers mencionados, ejecutar este exploit “Destruye por completo la solidez del sistema de prueba”.
El mismo hacker informa que Foom Protocol, una dApp de rifa y juegos que utiliza pruebas ZK para retirar fondos depositados personalmente, se ha conocido comprometida. Conveniente a un error en el anuencia del validador ZK, tanto la red Colchoneta como la red principal de EthereumSin bloqueo, este ataque fue llevado a extremidad por un hacker ético por motivos de seguridad y capacidad de prueba del código. El motivo de la explotación era reforzar los fondos de Foom ayer de que un actor malintencionado pudiera obtenerlos.
La prueba de conocimiento cero es un método de criptografía que permite a una parte demostrarle a la otra que una transacción es válida sin revelar información confidencial sobre la parte que realiza la transacción.
Según figuras como Vitalik Buterin y anteriormente Hal Finney, estas pruebas se consideran importantes para el futuro de los criptoactivos. Los registros públicos totalmente transparentes violan la privacidad financiera.
Dos trucos, dos motivaciones, una causa raíz
Un síntesis posterior de los eventos revela que entreambos exploits provienen de la misma causa raíz. «No son bugs sutiles sin restricciones, el checker Groth16 (generado por snarkjs) se configuró incorrectamente (solo yerro el posterior paso). Uno fue utilizado indebidamente por piratas informáticos blancos por cerca de de $1,5 millones, y el otro se filtró por 5 ETH”, comentaron los investigadores de zksecurity.xyz Stefanos Chariasos y Hao Pham, insinuando que una de las “filtraciones” fue un robo.
Esto significa que los hackers blancos reciben muchas recompensas por errores en ZK, y muchos protocolos operan con grandes cantidades de bloqueos de valía total (TVL), pero hasta la aniversario no se han reportado exploits en el protocolo ZK. Esto puede habernos regalado un poco de tranquilidad en comparación con el espacio de los contratos inteligentes, donde se producen exploits devastadores cada pocos meses. ¿Quizás simplemente tuvimos suerte? ¿Quizás no haya suficiente retorno de la inversión para los piratas informáticos?
Stefanos Chaliasos y Hao Pham, investigadores de zksecurity.xyz
En respuesta al director de tecnología de Ledger, Charles Guillemet, varios usuarios han señalado que los exploits recientes son errores humanos al crear y ejecutar el código. Este no es un defecto inherente a la criptografía de conocimiento cero.
Los investigadores de zksecurity.xyz están de acuerdo y dicen que siempre exigen que los desarrolladores revisen el código de implementación y las instrucciones del verbo de programación (scripts).
Encima, dice que agregará detección exactamente para esta clase de vulnerabilidades a ZKAO, su escáner de seguridad continuo impulsado por IA.



