Que fait guidelines-advisor ?
Conseiller de développement de contrats intelligents basé sur les meilleures pratiques de Trail of Bits. Analyse la base de code pour générer de la documentation/spécifications, examiner l'architecture, vérifier les modèles de mise à niveau, évaluer la qualité de l'implémentation, identifier les pièges, examiner les dépendances et évaluer les tests. Fournit des recommandations exploitables.
Vue d'ensemble
Ce skill aide les développeurs de contrats intelligents à appliquer les meilleures pratiques de sécurité et de développement de Trail of Bits. Il analyse le code pour identifier les problèmes courants et suggérer des améliorations.
Fonctionnalités
- Documentation et spécifications : Génère une documentation technique exhaustive, y compris des diagrammes d'architecture, des descriptions de flux de données et des spécifications d'interface.
- Examen de l'architecture : Évalue la modularité, la séparation des préoccupations, les niveaux de confiance et la gestion des dépendances.
- Vérification des modèles de mise à niveau : Analyse l'utilisation des modèles de proxy (UUPS, transparent), vérifie les slots de stockage et les fonctions d'initialisation.
- Évaluation de l'implémentation : Vérifie la conformité aux normes OpenZeppelin, le bon usage des variables d'état, la visibilité appropriée des fonctions et la gestion des erreurs.
- Identification des pièges : Repère les dépendances non vérifiées, les variables d'état exposées, les problèmes de gestion des accès et les vulnérabilités courantes.
- Examen des dépendances : Recherche des versions obsolètes ou vulnérables dans les dépendances.
- Évaluation des tests : Analyse la couverture des tests unitaires et d'intégration, suggère des cas de test manquants.
Utilisation
Pour utiliser ce skill, assurez-vous que votre projet est accessible à l'agent et exécutez une commande telle que :
# Exemple pour analyser le projet
guidelines-advisor analyze --path ./contracts
Ou bien, fournissez simplement le chemin de votre projet à l'agent.
Exemple de sortie
## Rapport d'analyse
### Documentation
- Génération de diagrammes d'architecture...
- Spécifications d'interface...
### Recommandations
1. Utiliser des modèles de proxy pour les mises à niveau.
2. Vérifier les dépendances pour des vulnérabilités connues.
3. Ajouter des tests pour les cas limites.
Remarques
- Ce skill ne remplace pas un audit de sécurité professionnel.
- Les recommandations sont basées sur des bonnes pratiques générales et peuvent nécessiter une adaptation au contexte du projet.