Passer au contenu principal

Liste des contrôles pour l'intégration de jetons

soliditycontrats intelligentssécuritéjetons
Intermédiaire
Trailofbits
Créer des contrats sécurisés(opens in a new tab)
13 août 2020
5 minutes de lecture minute read

Suivez cette liste de contrôle lorsque vous interagissez avec des jetons arbitraires. Assurez-vous de comprendre les risques associés à chaque élément et d'être capable de justifier toutes exceptions à ces règles.

Pour plus de commodité, tous les services Slither(opens in a new tab) peuvent être directement exécutés sur une adresse de jeton, tel que :

Utilisation du tutoriel Slither

slither-check-erc 0xdac17f958d2ee523a2206206994597c13d831ec7 TetherToken

Pour suivre cette liste de vérification, vous voudrez avoir cette sortie de Slither pour le jeton :

- slither-check-erc [target] [contractName] [optional: --erc ERC_NUMBER]
- slither [target] --print human-summary
- slither [target] --print contract-summary
- slither-prop . --contract ContractName # requires configuration, and use of Echidna and Manticore

Considérations générales

Conformité ERC

Slither inclut un utilitaire, slither-check-erc(opens in a new tab), qui vérifie la conformité d'un token à de nombreuses normes ERC connexes. Utilisez slither-check-erc pour vérifier ceci:

Slither inclut un utilitaire, slither-popo(opens in a new tab), qui génère des tests unitaires et des propriétés de sécurité qui peuvent découvrir de nombreuses failles ERC courantes. Utilisez slither-pop pour vérifier ceci :

Enfin, il y a certaines caractéristiques qui sont difficiles à détecter automatiquement. Vérifiez ces conditions manuellement :

  • Transfer et transferFrom ne doivent pas prendre de frais. Les tokens déflationnistes peuvent conduire à des comportements inattendus.
  • L'intérêt potentiel gagné à partir d'un token est pris en compte. Certains tokens distribuent des intérêts aux détenteurs de jetons. Cet intérêt pourrait être pris au piège dans un contrat s'il n'est pas pris en compte.

Composition de contrat

Privilèges du propriétaire

Rareté des jetons

Rechercher des problèmes liés à la rareté des jetons nécessite un examen manuel. Vérifiez les conditions suivantes :

  • Personne ne possède la plupart de l'approvisionnement. Si quelques utilisateurs possèdent la plupart des jetons, ils peuvent influencer les opérations basées sur la répartition du jeton.
  • L'approvisionnement total est suffisant. Les jetons avec un faible volume total peuvent être facilement manipulés.
  • Les jetons sont disponibles sur de nombreuses plateformes d'échanges. Si tous les jetons sont sur une seule plateforme, sa compromission peut affecter le contrat s'appuyant sur le jeton.
  • Les utilisateurs comprennent les risques associés aux grands volumes de fonds ou aux prêts éclair. Les contrats s'appuyant sur le solde de jetons doivent être soigneusement analysés notamment au regard des attaquants avec des fonds importants ou des attaques par le biais de prêts éclair .
  • Le jeton n'autorise pas la frappe éclair. Les frappes éclair peuvent entraîner des fluctuations substantielles du solde et de l'approvisionnement total, ce qui exige des contrôles stricts et complets sur les risques de débordement dans le fonctionnement du jeton.

Dernière modification: @nhsz(opens in a new tab), 15 août 2023

Ce tutoriel vous a été utile ?