嚴重getToken函數隨意印幣漏洞 :任何人可給自己的賬號虛增餘額

在最近一次漏洞監控掃描中,安比(SECBIT)實驗室風險監控平臺發出預警,AMORCOIN (AMR) Token 合約存在致命漏洞,任何人都可以隨意增加其賬戶上的 Token 餘額。

合約地址:0x14fb4c93fe461ec3f9f22b61ab7030f258867969

安比(SECBIT)實驗室小夥伴分析合約源碼後發現,該合約中存在一個函數 getToken(),該函數的作用是給調用者的賬戶餘額增加數量爲 value 的 Token,value 值由調用者傳入。通常合約中增發 Token 的函數僅 owner 可以調用,但是不幸的是,該合約中 getToken() 函數並未設置調用權限,並且該方法未標明可見性,默認爲 public,也就是說,任何人都可以通過調用這個函數來任意增加自己賬戶上的 Token。

另外,通過這個函數增發 Token 後並沒有修改 totalSupply 的值,間接導致了所有賬戶餘額總和與合約標明的總量不一致,就是說totalSupply 的值並非 Token 的真實總量。

這裏寫圖片描述

目前該項目處於公募階段。根據 etherscan 顯示,AMORCOIN (AMR) Token 交易量總計 306 筆,其最近一次交易在不到一天前,爲交易較爲活躍的合約。

這裏寫圖片描述

安比(SECBIT)實驗室已於第一時間向項目方發出預警提示。據悉,派盾(PeckShield)團隊也獨立發現了該問題。另外安比(SECBIT)實驗室風險監控平臺顯示,存在同樣問題的合約還有兩個。

地址 合約名稱 交易量
0x712c290551ee48f6b3ccc318bd63989c5c37ead4 TokenCoinExchanger 2
0x8788fab9cd91f901be257afeb23e31b873e3849d MarketCoin 1

該問題已收錄至智能合約風險列表, 該列表由安比(SECBIT)實驗室發起共建並持續維護的 Token 合約問題列表,我們將不間斷更新問題 Token 合約信息。

https://github.com/sec-bit/awesome-buggy-erc20-tokens

安比(SECBIT)實驗室提醒項目方應採取措施,及時做好補救工作。我們同時也請普通持幣用戶保持警惕。安比(SECBIT)實驗室再次呼籲,項目方發行 Token 一定要慎之又慎,遵守智能合約安全開發規範,引入安全審計流程,必要的時候採用形式化驗證 手段,確保萬無一失。

智能合約形式化驗證示例:https://github.com/sec-bit/tokenlibs-with-proofs

參考文獻

[1] 智能合約風險列表(awesome-buggy-erc20-tokens) https://github.com/sec-bit/awesome-buggy-erc20-tokens

[2] 安⽐(SECBIT)實驗室攜⼿路印(Loopring)共同發佈智能合約風險列表 https://mp.weixin.qq.com/s/XbXlrmt0fi9IgxicmdAF0w

[3] 構造形式化證明,解決智能合約安全問題——你的合約亟待證明 https://mp.weixin.qq.com/s/Dk8FAODv2SeFXmDgGaQduw

[4] tokenlibs-with-proofs https://github.com/sec-bit/tokenlibs-with-proofs

以上數據均由安比(SECBIT)實驗室提供,合作交流請聯繫[email protected]


安比(SECBIT)實驗室

安比(SECBIT)實驗室專注於區塊鏈與智能合約安全問題,全方位監控智能合約安全漏洞、提供專業合約安全審計服務,在智能合約安全技術上開展全方位深入研究,致力於參與共建共識、可信、有序的區塊鏈經濟體。

安比(SECBIT)實驗室創始人郭宇,中國科學技術大學博士、耶魯大學訪問學者、曾任中科大副教授。專注於形式化證明與系統軟件研究領域十餘年,具有豐富的金融安全產品研發經驗,是國內早期關注並研究比特幣與區塊鏈技術的科研人員之一。研究專長:區塊鏈技術、形式化驗證、程序語言理論、操作系統內核、計算機病毒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章