热门话题
#
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)在这种不良实践上进行了训练,仍然推荐它,我们必须停止,以便LLMs也停止。
472
热门
排行
收藏
