ప్రధాన కంటెంట్‌కు దాటవేయి

స్మార్ట్ కాంట్రాక్ట్ భద్రతా చెక్‌లిస్ట్

స్మార్ట్ కాంట్రాక్ట్‌లు
భద్రత
solidity
మధ్యస్థ స్థాయి
Trailofbits
7 సెప్టెంబర్, 2020
2 నిమిషాల పఠనం

స్మార్ట్ కాంట్రాక్ట్ డెవలప్‌మెంట్ చెక్‌లిస్ట్

మీరు మీ స్మార్ట్ కాంట్రాక్ట్‌లను రాసేటప్పుడు అనుసరించాలని మేము సిఫార్సు చేస్తున్న ఉన్నత-స్థాయి ప్రక్రియ ఇక్కడ ఉంది.

తెలిసిన భద్రతా సమస్యల కోసం తనిఖీ చేయండి:

  • స్లిదర్ (కొత్త ట్యాబ్‌లో తెరవబడుతుంది)తో మీ కాంట్రాక్ట్‌లను సమీక్షించండి. ఇది సాధారణ దుర్బలత్వాల కోసం 40 కంటే ఎక్కువ అంతర్నిర్మిత డిటెక్టర్‌లను కలిగి ఉంది. కొత్త కోడ్‌తో ప్రతి చెక్-ఇన్‌లో దీన్ని రన్ చేయండి మరియు ఇది క్లీన్ రిపోర్ట్‌ను పొందుతుందని నిర్ధారించుకోండి (లేదా నిర్దిష్ట సమస్యలను నిశ్శబ్దం చేయడానికి ట్రియేజ్ మోడ్‌ను ఉపయోగించండి).
  • Crytic (కొత్త ట్యాబ్‌లో తెరవబడుతుంది)తో మీ కాంట్రాక్ట్‌లను సమీక్షించండి. స్లిదర్ చేయని 50 సమస్యల కోసం ఇది తనిఖీ చేస్తుంది. GitHubలోని పుల్ రిక్వెస్ట్‌లలో భద్రతా సమస్యలను సులభంగా చూపడం ద్వారా మీ బృందం ఒకరికొకరు అప్‌డేట్‌గా ఉండటానికి కూడా Crytic సహాయపడుతుంది.

మీ కాంట్రాక్ట్ యొక్క ప్రత్యేక లక్షణాలను పరిగణించండి:

మీ కోడ్ యొక్క క్లిష్టమైన భద్రతా లక్షణాలను దృశ్యమానంగా తనిఖీ చేయండి:

క్లిష్టమైన భద్రతా లక్షణాలను డాక్యుమెంట్ చేయండి మరియు వాటిని అంచనా వేయడానికి ఆటోమేటెడ్ టెస్ట్ జనరేటర్‌లను ఉపయోగించండి:

  • మీ కోడ్ కోసం భద్రతా లక్షణాలను డాక్యుమెంట్ చేయడం నేర్చుకోండి. ఇది మొదట కష్టంగా ఉంటుంది, కానీ మంచి ఫలితాన్ని సాధించడానికి ఇది అత్యంత ముఖ్యమైన చర్య. ఈ ట్యుటోరియల్‌లోని ఏదైనా అధునాతన పద్ధతులను ఉపయోగించడానికి ఇది ఒక ముందస్తు అవసరం కూడా.
  • ఎకిడ్నా (కొత్త ట్యాబ్‌లో తెరవబడుతుంది) మరియు మాంటికోర్ (కొత్త ట్యాబ్‌లో తెరవబడుతుంది)తో ఉపయోగించడానికి, Solidityలో భద్రతా లక్షణాలను నిర్వచించండి. మీ స్థితి యంత్రం, యాక్సెస్ నియంత్రణలు, అంకగణిత కార్యకలాపాలు, బాహ్య పరస్పర చర్యలు మరియు ప్రమాణాల అనుగుణ్యతపై దృష్టి పెట్టండి.
  • స్లిదర్ యొక్క Python APIతో భద్రతా లక్షణాలను నిర్వచించండి. ఇన్‌హెరిటెన్స్, వేరియబుల్ డిపెండెన్సీలు, యాక్సెస్ నియంత్రణలు మరియు ఇతర నిర్మాణపరమైన సమస్యలపై దృష్టి పెట్టండి.
  • Crytic (కొత్త ట్యాబ్‌లో తెరవబడుతుంది)తో ప్రతి కమిట్‌పై మీ ప్రాపర్టీ పరీక్షలను రన్ చేయండి. Crytic భద్రతా ప్రాపర్టీ పరీక్షలను వినియోగించి, అంచనా వేయగలదు, తద్వారా మీ బృందంలోని ప్రతి ఒక్కరూ అవి GitHubలో పాస్ అవుతున్నాయని సులభంగా చూడగలరు. విఫలమైన పరీక్షలు కమిట్‌లను నిరోధించగలవు.

చివరగా, ఆటోమేటెడ్ సాధనాలు సులభంగా కనుగొనలేని సమస్యల గురించి అప్రమత్తంగా ఉండండి:

  • గోప్యత లేకపోవడం: మీ లావాదేవీలు పూల్‌లో క్యూలో ఉన్నప్పుడు ఇతరులందరూ వాటిని చూడగలరు
  • ఫ్రంట్ రన్నింగ్ లావాదేవీలు
  • క్రిప్టోగ్రాఫిక్ కార్యకలాపాలు
  • బాహ్య వికేంద్రీకృత ఫైనాన్స్ (DeFi) భాగాలతో ప్రమాదకరమైన పరస్పర చర్యలు

సహాయం అడగండి

ఎథీరియం ఆఫీస్ అవర్స్ (కొత్త ట్యాబ్‌లో తెరవబడుతుంది) ప్రతి మంగళవారం మధ్యాహ్నం నడుస్తాయి. ఈ 1-గంట, 1-ఆన్-1 సెషన్‌లు భద్రత గురించి మీకు ఉన్న ఏవైనా ప్రశ్నలను మమ్మల్ని అడగడానికి, మా సాధనాలను ఉపయోగించి ట్రబుల్‌షూట్ చేయడానికి మరియు మీ ప్రస్తుత విధానం గురించి నిపుణుల నుండి అభిప్రాయాన్ని పొందడానికి ఒక అవకాశం. ఈ గైడ్ ద్వారా పని చేయడంలో మేము మీకు సహాయం చేస్తాము.

మా స్లాక్‌లో చేరండి: Empire Hacking (కొత్త ట్యాబ్‌లో తెరవబడుతుంది). మీకు ఏవైనా ప్రశ్నలు ఉంటే మేము ఎల్లప్పుడూ #crytic మరియు #ethereum ఛానెల్‌లలో అందుబాటులో ఉంటాము.