Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Sou alvo de memes por dizer às pessoas que chaves privadas em texto simples são más.
Mas aqui estamos em 2026, e ainda estou a lutar contra pessoas que dizem que é aceitável fazê-lo, enquanto os vazamentos de chaves foram a fonte número 1 de hacks no ano passado.
Deixe-me explicar as respostas comuns que recebo e por que estão erradas.
👇
1. "É apenas a minha chave de implantação, não a minha chave de administrador"
Uma boa prática para o desenvolvimento de contratos inteligentes é transferir a propriedade de um contrato inteligente para uma carteira diferente daquela com a qual você fez a implantação.
Recomendamos incluir scripts de implantação no escopo de uma auditoria para verificar isso.
Ter uma carteira descartável como esta é uma boa coisa, mas ainda te deixa vulnerável:
- os endereços do deployer são frequentemente rotulados em exploradores para dar credibilidade
- ainda tens dinheiro nelas que pode ser roubado
- já vimos MUITOS ataques onde alguém se esqueceu de transferir a propriedade
Estive em chamadas de warroom onde a resposta foi "a chave de implantação era a do administrador, e foi vazada". A maioria dos projetos não faz a auditoria dos seus scripts de implantação.
Então, quando você diz "são apenas as minhas chaves de implantação", eu digo "você não auditou a sua implantação, você vai estragar tudo"
E finalmente, se você está usando chaves de implantação em um .env, você está se acostumando a lidar com chaves em texto simples.
Lembre-se disto:
"O que você pratica em dev, você fará em prod"
E se você tem chaves privadas em texto simples, aposto que você não é cuidadoso de qualquer forma.
2. "Eu uso um .gitignore, não vou enviá-lo para o repositório"
Rebote terrível.
React, solana/web3js e npm foram todos hackeados no ano passado, e alguns dos hacks procuraram através dos seus arquivos por informações sensíveis em arquivos .env.
Se você executou "npm install" - poderia ter se dado mal.
Sem mencionar as extensões de IDE maliciosas e outros malwares que você poderia instalar e que também passam pelos seus arquivos.
As pessoas com essa resposta também costumam dizer "Não sou um novato, vou ter cuidado", mas claramente não entendem como funciona a cadeia de suprimentos de software.
3. "É um grande aborrecimento, é apenas mais conveniente usar chaves em texto simples"
Bem, a vida é mais conveniente quando você tem $0, você não precisa se preocupar em manter seu dinheiro seguro quando não tem dinheiro. Então, acho que este é um bom ponto.
Mas a sério, há coisas que você pode fazer. A maioria dos frameworks de desenvolvimento de contratos inteligentes tem ferramentas de criptografia, como foundry, moccasin e hardhat.
Todos eles permitem que você encripte suas chaves com um único comando e as decripte com uma senha na execução do script.
É muito conveniente.
Tudo o que peço é que não normalizemos chaves privadas em texto simples. Você não recebe as mensagens diretas que eu e a SEAL recebemos de pessoas que perderam tudo.
A dor é real, não a normalize.
Os LLMs são treinados nesta má prática e ainda a recomendam, devemos parar para que os LLMs parem.
482
Top
Classificação
Favoritos
