Sunt criticat pentru că le spun oamenilor că cheile private din text clar sunt proaste. Dar iată-ne în 2026 și încă mă lupt cu cei care spun că este în regulă să faci asta, în timp ce scurgerile de chei au fost sursa #1 de hack-uri anul trecut. Permiteți-mi să explic replicile frecvente pe care le primesc și de ce sunt greșite. 👇
1. "Este doar cheia mea de implementare, nu cheia mea de administrator" O bună practică pentru dezvoltarea contractelor inteligente este să transferi proprietatea unui contract inteligent într-un portofel diferit față de cel cu care ai implementat. Recomandăm includerea scripturilor de implementare în cadrul unui audit pentru a verifica acest lucru.
Un portofel de aruncat ca acesta este un lucru bun, dar tot te lasă deschis: - adresele deployer-ului sunt adesea etichetate pe exploratori pentru a oferi credibilitate - Mai ai bani în ele care ar putea fi furați - am văzut MULTE atacuri în care cineva a uitat să transfere proprietatea
Am participat la apeluri în sala de război unde răspunsul a fost "cheia de implementare era a administratorului și a fost scursă". Majoritatea proiectelor nu își auditează scripturile de implementare. Așa că atunci când spui "sunt doar cheile mele de implementare", eu spun "nu ți-ai auditat desfășurarea, o vei strica".
Și, în final, dacă folosești chei de deployment într-un .env, începi să te obișnuiești să fii ok cu cheile de text clar. Amintește-ți asta: "Ce exersezi în dezvoltare, vei face în producție" Și dacă ai chei private în text clar, pariez că oricum nu ești atent.
2. "Folosesc un .gitignore, nu îl voi trimite la sursă" Replică groaznică. React, solana/web3js și npm au fost toate sparte anul trecut, iar unele dintre hack-uri au căutat informații sensibile în fișierele tale .env. Dacă ai rulat "npm install" - ai fi putut fi terminat.
Ca să nu mai vorbim de extensiile IDE malițioase și alte programe malware pe care le-ai putea instala și care trec prin fișierele tale. Cei care au această replică spun de obicei "Nu sunt începător, voi fi atent", dar clar nu înțeleg cum funcționează lanțul de aprovizionare software.
3. "Este prea complicat, este doar mai convenabil să folosești chei de text clar" Ei bine, viața e mai convenabilă când nu ai $0, nu trebuie să-ți faci griji să-ți ții banii în siguranță când nu ai bani. Deci cred că acesta este un punct bun.
Dar, serios, există lucruri pe care le poți face. Majoritatea framework-urilor de dezvoltare smart contract au instrumente de criptare, precum foundry, mocasin și hardhat. Toate îți permit să criptezi cheile într-o singură comandă și să decriptezi cu parola la script run. E foarte convenabil.
Tot ce cer este să nu normalizăm cheile private în text clar. Nu primești DM-urile pe care le primesc eu și SEAL de la cei care au pierdut totul. Durerea este reală, nu o normaliza. LLM-urile sunt instruite în această practică proastă și totuși le recomandă, trebuie să ne oprim pentru ca LLM-urile să înceteze.
487