熱門話題
#
Bonk 生態迷因幣展現強韌勢頭
#
有消息稱 Pump.fun 計劃 40 億估值發幣,引發市場猜測
#
Solana 新代幣發射平臺 Boop.Fun 風頭正勁
我因為告訴人們明文私鑰是壞事而被嘲笑。
但到了2026年,我仍然在與那些說這樣做沒問題的人作鬥爭,而去年的私鑰洩漏是黑客攻擊的首要來源。
讓我解釋一下我常遇到的反駁以及為什麼它們是錯的。
👇
1. “這只是我的部署金鑰,不是我的管理金鑰”
智能合約開發的一個最佳實踐是將智能合約的所有權轉移到與您部署時不同的錢包。
我們建議將部署腳本納入審計範圍,以檢查這一點。
擁有這樣的臨時錢包是件好事,但它仍然讓你暴露於風險中:
- 部署者地址通常在區塊鏈瀏覽器上被標記,以增加可信度
- 你仍然在其中有資金,可能會被盜
- 我們已經看到許多攻擊案例,其中有人忘記轉移所有權
我曾經參加過戰情室的通話,答案是「部署者密鑰是管理員,並且被洩漏了」。大多數項目並不會對其部署腳本進行審核。
所以當你說「這只是我的部署密鑰」時,我會說「你沒有審核你的部署,你會搞砸的」
最後,如果你在 .env 中使用部署金鑰,你就養成了使用明文金鑰的習慣。
記住這一點:
「你在開發中練習的,將會在生產中實現」
如果你有明文私鑰,我敢打賭你也不會小心。
2. “我使用 .gitignore,我不會將其推送到源代碼”
這是一個糟糕的反駁。
React、solana/web3js 和 npm 去年都遭到黑客攻擊,而一些攻擊都是通過你的文件尋找 .env 文件中的敏感信息。
如果你運行了 “npm install” - 你可能會被搞得很糟。
更不用說那些惡意的 IDE 擴展和其他可能安裝的惡意軟體,它們也會檢查你的檔案。
持有這種反駁意見的人通常也會說「我不是新手,我會小心」,但顯然他們並不理解軟體供應鏈是如何運作的。
3. “這太麻煩了,使用純文本金鑰更方便”
好吧,當你身上只有 $0 的時候,生活會更方便,因為你不必擔心如何保管你的錢。所以我想這是一個不錯的觀點。
但說真的,你可以做一些事情。大多數智能合約開發框架都有加密工具,例如 foundry、moccasin 和 hardhat。
它們都允許你用一個命令加密你的密鑰,並在腳本運行時用密碼解密。
這非常方便。
我所要求的,就是不要將明文私鑰正常化。你們不會收到我和 SEAL 從那些失去一切的人那裡收到的私信。
痛苦是真實的,請不要正常化它。
大型語言模型(LLMs)在這種不良做法上進行了訓練,並且仍然推薦這樣做,我們必須停止,這樣大型語言模型才能停止。
470
熱門
排行
收藏
