Jeg blir gjort til memes for å fortelle folk at klartekst-private nøkler er dårlige. Men her er vi i 2026, og jeg kjemper fortsatt mot folk som sier det er greit å gjøre det, mens nøkkellekkasjer var den #1 kilden til hacking i fjor. La meg forklare de vanlige motargumentene jeg får og hvorfor de er feil. 👇
1. "Det er bare min distribusjonsnøkkel, ikke min admin-nøkkel" En beste praksis for utvikling av smarte kontrakter er å overføre eierskapet til en smart kontrakt til en annen lommebok enn den du deployerte med. Vi anbefaler å plassere distribusjonsskript innenfor omfanget av en revisjon for å sjekke dette.
Å ha en engangslommebok som dette er en god ting, men det gjør deg fortsatt sårbar: - Deployer-adresser er ofte merket på utforskere for å gi troverdighet - Du har fortsatt penger i dem som kan bli stjålet - vi har sett MANGE angrep der noen glemte å overføre eierskap
Jeg har vært på krigsrom-samtaler hvor svaret var «deployer-nøkkelen var administratoren, og den ble lekket». De fleste prosjekter får ikke sine distribusjonsskript revidert. Så når du sier «det er bare mine distribusjonsnøkler», sier jeg «du reviderte ikke deployen din, du kommer til å ødelegge det»
Og til slutt, hvis du bruker distribusjonsnøkler i en .env, begynner du å få for vane å være grei med klartekstnøkler. Husk dette: "Det du øver på i utvikling, vil du gjøre i produksjon" Og hvis du har klartekst-private nøkler, tipper jeg du uansett ikke er forsiktig.
2. "Jeg bruker .gitignore, jeg vil ikke pushe det til kilden" Forferdelig motargument. React, solana/web3js og npm ble alle hacket i fjor, og noen av hackene har gått gjennom filene dine for sensitiv informasjon i .env-filer. Hvis du kjørte "npm install" – kan du ha blitt lurt.
For ikke å snakke om de ondsinnede IDE-utvidelsene og annen skadelig programvare du kan installere som også går gjennom filene dine. De som får dette svaret sier også vanligvis «jeg er ikke nybegynner, jeg skal være forsiktig», men tydeligvis forstår de ikke hvordan programvareforsyningskjeden fungerer.
3. "Det er for mye styr, det er bare mer praktisk å bruke klarteksttaster" Vel, livet er mer praktisk når du har 0 dollar, du trenger ikke bekymre deg for å holde pengene dine trygge når du ikke har penger. Så jeg antar dette er et godt poeng.
Men seriøst, det finnes ting du kan gjøre. De fleste rammeverk for utvikling av smarte kontrakter har krypteringsverktøy, som foundry, moccasin og hardhat. De lar deg alle kryptere nøklene dine med én enkelt kommando, og dekryptere med passord når skriptet kjøres. Det er veldig praktisk.
Alt jeg ber om, er at vi ikke normaliserer klartekst-private nøkler. Du får ikke de DM-ene som jeg og SEAL får fra de som har mistet alt. Smerten er ekte, ikke normaliser den. LLM-er er trent på denne dårlige praksisen og anbefaler det fortsatt, vi må stoppe så LLM-er stopper.
495