Ik word belachelijk gemaakt omdat ik mensen vertel dat platte tekst privésleutels slecht zijn. Maar hier zijn we in 2026, en ik vecht nog steeds tegen mensen die zeggen dat het oké is om dit te doen, terwijl sleutellekken het #1 bron van hacks vorig jaar waren. Laat me de veelvoorkomende tegenargumenten uitleggen die ik krijg en waarom ze verkeerd zijn. 👇
1. "Het is gewoon mijn implementatiesleutel, niet mijn beheersleutel" Een beste praktijk voor de ontwikkeling van slimme contracten is om het eigendom van een slim contract over te dragen aan een andere wallet dan waarmee je het hebt geïmplementeerd. We raden aan om implementatiescripts op te nemen in de scope van een audit om dit te controleren.
Een wegwerpportemonnee zoals deze is een goede zaak, maar het laat je nog steeds kwetsbaar: - deployer-adressen worden vaak gelabeld op explorers om geloofwaardigheid te geven - je hebt nog steeds geld in deze portemonnees dat gestolen kan worden - we hebben VEEL aanvallen gezien waarbij iemand vergat het eigendom over te dragen
Ik heb deelgenomen aan warroom-gesprekken waar het antwoord was: "de deployer-sleutel was de admin, en deze was gelekt". De meeste projecten laten hun deployment-scripts niet auditen. Dus wanneer je zegt "het zijn gewoon mijn deployment-sleutels", zeg ik "je hebt je deployment niet geaudit, je gaat het verknallen"
En uiteindelijk, als je deployment keys in een .env gebruikt, raak je gewend aan het gebruik van plaintext keys. Vergeet dit niet: "Wat je in dev oefent, zul je in prod doen" En als je plaintext private keys hebt, wed ik dat je toch niet voorzichtig bent.
2. “Ik gebruik een .gitignore, ik zal het niet naar de bron pushen” Vreselijk weerwoord. React, solana/web3js en npm zijn vorig jaar allemaal gehackt, en sommige van de hacks keken allemaal door je bestanden naar gevoelige informatie in .env-bestanden. Als je “npm install” had uitgevoerd - had je in de problemen kunnen komen.
Niet te vergeten de kwaadaardige IDE-extensies en andere malware die je zou kunnen installeren en die ook door je bestanden gaat. De mensen met deze tegenargumenten zeggen ook meestal: "Ik ben geen noob, ik zal voorzichtig zijn", maar duidelijk begrijpen ze niet hoe de softwareleveringsketen werkt.
3. “Het is te veel gedoe, het is gewoon handiger om platte tekst sleutels te gebruiken” Nou, het leven is handiger als je $0 hebt, je hoeft je geen zorgen te maken over het veilig houden van je geld als je geen geld hebt. Dus ik denk dat dit een goed punt is.
Maar serieus, er zijn dingen die je kunt doen. De meeste ontwikkelingsframeworks voor slimme contracten hebben encryptietools, zoals foundry, moccasin en hardhat. Ze stellen je allemaal in staat om je sleutels met één commando te versleutelen en te ontsleutelen met een wachtwoord tijdens het uitvoeren van het script. Het is erg handig.
Alles wat ik vraag, is dat we plaintext privé-sleutels niet normaliseren. Je krijgt de DM's niet die ik en SEAL krijgen van degenen die alles hebben verloren. De pijn is echt, normaliseer het niet. LLM's zijn getraind op deze slechte praktijk en bevelen het nog steeds aan, we moeten stoppen zodat LLM's stoppen.
486