時(shí)間:2023-11-11|瀏覽:4948
起因: 很多被盜錢包有$ARB空投資格,如果不采取任何措施,會(huì)被黑客領(lǐng)走。
過程: 粉絲提的錢包能領(lǐng)40,000 $ARB,我寫了批量領(lǐng)取合約和ethers.js腳本,WTF貢獻(xiàn)者幫忙優(yōu)化,使用了私有節(jié)點(diǎn)。成功搶救30,000 $ARB。
結(jié)果: 核心代碼已開源。@WTFAcademy_ @arbitrum
起因: 這次有上千個(gè)被黑客盜取私鑰的錢包有資格領(lǐng)$ARB,正好兜兜在WTF社群里發(fā)了一張泄露私鑰的圖引起了我的興趣,想試試做白帽和黑客搶錢,順便賺取賞金。圖里的私鑰是哪找的?其實(shí)是remix、hardhat、foundry等工具中的默認(rèn)測(cè)試錢包。里面大概能領(lǐng)4000 $ARB。
搶$ARB空投要點(diǎn)(3點(diǎn)): 1.節(jié)點(diǎn):必須要自己搭A(yù)rbitrum全節(jié)點(diǎn)。因?yàn)楣_的rpc會(huì)卡,限制請(qǐng)求次數(shù)/速度,且空投開始時(shí)大量用戶調(diào)用會(huì)導(dǎo)致宕機(jī)。Arbitrum節(jié)點(diǎn)大概需要1.4T硬盤,推薦用SSD。 2.批量轉(zhuǎn)ETH+claim+歸集$ARB腳本:腳本基于ethers.js庫(kù),在達(dá)到區(qū)塊高度后,開始循環(huán)重復(fù)上述操作。這一方法完全依賴腳本,大概40%的$ARB是用這個(gè)方法搶的。 3.批量歸集合約:$ARB使用了ERC20Permit合約,授權(quán)不需要通過交易,只需要鏈下簽名即可。因此我們可以寫一個(gè)批量歸集合約,當(dāng)黑客claim空投之后,我們立刻搶走。這里你需要理解簽名(EIP712)和ERC20Permit合約。
有了這次經(jīng)驗(yàn),我們會(huì)優(yōu)化節(jié)點(diǎn)、合約和腳本,下次從黑客手中搶$zksync、$scroll、$strk勝算會(huì)更大。WTF Academy會(huì)繼續(xù)提供搶空投白帽服務(wù)。目前領(lǐng)$ARB空投的核心代碼已開源在GitHub,歡迎有能力的開發(fā)者使用。
收益分配: 這次搶到的代幣一半會(huì)發(fā)給提供私鑰的粉絲,剩下一半:50%給WTF Academy,用于激勵(lì)安全、MEV、Arbitrum方向的教程,30%給我,10%給節(jié)點(diǎn),10%給WTF貢獻(xiàn)者。
最后回答一些粉絲的問題: 1.昨天我錢包里的$ARB被轉(zhuǎn)走了,你能幫忙追回嗎?(不下10個(gè)人問這個(gè)問題) 幫不了,被轉(zhuǎn)到黑客錢包,就追不回來(lái)了。 2.新人如何學(xué)習(xí)Solidity?如果你完全沒有編程經(jīng)驗(yàn),建議先學(xué)javascript,我們?cè)诟乱粋€(gè)WTF JavaScript零基礎(chǔ)教程。