PANews 5月25日消息, Circom是基於Rust開發的零知識證明電路編譯器,該團隊同時開發了SnarkJS庫用於實現證明系統,包括:可信設置、零知識證明的生成和驗證等,支持Groth16 、PLONK、FFLONK算法。
此前,Beosin 安全研究人員在SnarkJS 0.6.11及之前的版本的庫中發現了一個嚴重漏洞,當該庫在驗證證明時未對參數進行完整的合法性檢查,使得攻擊者可以偽造出多個證明通過校驗,實現雙花攻擊。 Beosin在提了這個漏洞以後,第一時間聯繫項目方並協助修復,目前該漏洞已修復完成。 Beosin提醒所有使用了SnarkJS庫的zk項目方可將SnarkJS更新到0.7.0版本!以確保安全性。
同時針對此漏洞,Beosin安全團隊提醒zk項目方,在進行proof驗證時,應充分考慮算法設計在實際實現時,由於代碼語言屬性導致的安全風險。目前Beosin已將漏洞提交CVE漏洞披露平台(Common Vulnerabilities and Exposures)並獲取認可。