Back to Blog

如何以錯誤的方式驗證簽名:AssociationNFT 案例分析

Code Auditing
April 21, 2022
2 min read
Image: Raymond Clarke/Flickr
Image: Raymond Clarke/Flickr

The Association NFT 是 NBA 推出的 NFT。然而,我們發現該 NFT 銷售合約存在嚴重的漏洞,允許攻擊者在不支付任何代幣的情況下鑄造大量 NFT。

此漏洞的根本原因是簽名驗證使用不當。基本上,該合約未能確保簽名只能由使用者(且僅該使用者)使用一次。在這種情況下,攻擊者可以重複使用特權使用者的簽名,並將代幣鑄造給自己。

我們可以看到,在 verify 函式中,簽名中沒有包含發送者的地址。此外,也沒有包含 nonce(隨機數)的機制來確保簽名只能使用一次。這些安全要求是軟體安全課程中的基礎知識。

令我們驚訝的是,這種漏洞竟然會存在於一個熱門的 NFT 專案中。整個社群需要更加重視合約的安全性。

關於 BlockSec

BlockSec 是一家開創性的區塊鏈安全公司,由一群全球傑出的安全專家於 2021 年成立。該公司致力於提升新興 Web3 世界的安全性和可用性,以促進其大規模採用。為此,BlockSec 提供智慧合約與 EVM 鏈的安全審計服務、用於安全開發與主動威脅阻斷的 Phalcon 平台、用於資金追蹤與調查的 MetaSleuth 平台,以及協助 Web3 開發者在加密世界中高效運作的 MetaSuites 擴充功能。

迄今為止,該公司已服務超過 300 家知名客戶,如 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap,並從包括經緯創投 (Matrix Partners)、高榕資本 (Vitalbridge Capital) 和分佈式資本 (Fenbushi Capital) 在內的知名投資者手中,獲得了數千萬美元的兩輪融資。

官方網站:https://blocksec.com/

官方 Twitter 帳號:https://twitter.com/BlockSecTeam

Sign up for the latest updates
~$135萬美元損失:BarnBridge、DeFiTuna | BlockSec 週報
Security Insights

~$135萬美元損失:BarnBridge、DeFiTuna | BlockSec 週報

本週報告涵蓋2026年7月13日至19日的2起安全事件,以太坊和Solana總損失約135萬美元。Solana借貸協議DeFiTuna損失約57萬美元,原因是倉位健康檢查將零值倉位視為健康而忽略未償債務,攻擊者利用可控的交換路由和低流動性池觸發此缺陷。BarnBridge損失約77.6萬美元,攻擊者利用以太坊上已棄用但仍活躍的治理系統通過惡意提案並竊取用戶授權的USDC。

~$800K損失:Hinkal雙重支付事件 | BlockSec週報
Security Insights

~$800K損失:Hinkal雙重支付事件 | BlockSec週報

本週安全報告涵蓋2026年6月29日至7月5日1起重大事件,以太坊損失約80萬美元。Hinkal隱私池協議遭雙重花費攻擊,攻擊者疑似利用舊版票據格式漏洞,從單筆存款衍生出多個無效化符號。報告分析了可能的電路層漏洞、攻擊流程及對基於無效化符號的隱私協議的廣泛影響。

電子報 - 2026年6月
Security Insights

電子報 - 2026年6月

本月報告涵蓋2026年6月三起最大安全事件,確認損失合計約2200萬美元。一次精密蜜罐攻擊利用未受檢查的代幣授權,從JaredFromSubway的MEV機器人抽走約1500萬美元。兩個舊版Aztec rollup部署因證明結算邊界漏洞損失約435萬美元。SecondFi的Ed25519實現缺陷暴露錢包私鑰,導致374個錢包共損失約240萬美元。三起事件共同模式:表面完整但從未真正執行的安全保證。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit