W

solidity-security

par wshobson

solidity-security est une skill spécialisée en audit Solidity et en développement sécurisé, conçue pour examiner la réentrance, le contrôle d’accès, les appels externes non sûrs et les schémas de remédiation. Utilisez-la pour préparer des contrats à un Security Audit, améliorer vos prompts et obtenir une revue plus structurée qu’avec une demande d’audit générique.

Étoiles32.6k
Favoris0
Commentaires0
Ajouté30 mars 2026
CatégorieSecurity Audit
Commande d’installation
npx skills add wshobson/agents --skill solidity-security
Score éditorial

Cette skill obtient un score de 76/100, ce qui en fait une candidate solide pour l’annuaire : elle offre aux agents des déclencheurs d’usage clairs et un contenu substantiel, réutilisable, sur la sécurité Solidity. En revanche, elle reste avant tout un long document de référence plutôt qu’un workflow vraiment opérationnel avec outils, check-lists ou artefacts d’appui.

76/100
Points forts
  • Bonne capacité de déclenchement : la description et la section "When to Use This Skill" indiquent clairement des cas d’usage comme l’écriture de contrats, l’audit et la prévention des vulnérabilités courantes.
  • Valeur pratique réelle : la skill couvre des classes de vulnérabilités concrètes et des patterns sécurisés avec des exemples de code, notamment la prévention de la réentrance et d’autres sujets de sécurité Solidity utiles en pratique.
  • Un contenu suffisamment riche pour justifier sa présence dans l’annuaire : le document est long, bien structuré en plusieurs sections et sous-sections, et ne présente aucun signe de contenu factice ou purement démonstratif.
Points de vigilance
  • La clarté opérationnelle reste limitée par l’absence de fichiers d’appui, de scripts, de références ou de procédures d’audit explicites ; les agents devront donc შესაძლოა improviser certaines étapes d’exécution.
  • Aucune commande d’installation ni référence à un dépôt ou à des fichiers n’est fournie, ce qui réduit la confiance des utilisateurs recherchant une skill clairement packagée et appuyée par des outils.
Vue d’ensemble

Présentation de la compétence solidity-security

À quoi sert solidity-security

La compétence solidity-security est un guide ciblé d’audit et de développement sécurisé pour les smart contracts Solidity. Elle est particulièrement utile quand vous voulez qu’un agent passe en revue la logique d’un contrat pour repérer les classes d’exploits les plus courantes, proposer des patterns plus sûrs et expliquer pourquoi un design est risqué avant la mise en production ou un audit formel.

Qui devrait installer cette compétence

Cette compétence convient bien :

  • aux développeurs Solidity qui déploient des contrats sur mainnet ou sur des testnets
  • aux auditeurs qui effectuent une première passe de revue
  • aux équipes qui préparent des contrats DeFi, token, vault ou administrés pour un Security Audit externe
  • aux ingénieurs qui veulent un retour sécurité plus structuré qu’un simple prompt du type « review this code »

Elle est moins utile pour les projets non-EVM ou pour une analyse purement économique d’un protocole.

Le vrai besoin auquel elle répond

Les utilisateurs ne cherchent pas seulement une liste de vulnérabilités. Ils veulent une aide pour transformer des objectifs encore flous, comme « vérifie ce vault pour les risques de reentrancy et de privilèges », en un processus de revue reproductible couvrant les chemins d’exploitation, les implémentations plus sûres et les priorités de remédiation. C’est là que solidity-security fait mieux qu’un prompt classique.

Ce qui distingue solidity-security

La compétence est spécialisée et pragmatique. Au lieu de donner des conseils blockchain très généraux, elle se concentre sur les principaux modes d’échec propres à Solidity, notamment :

  • la reentrancy
  • les cas limites arithmétiques
  • les erreurs de contrôle d’accès
  • les appels externes non sûrs
  • les patterns d’implémentation orientés sécurité

C’est donc un bon choix quand la précision compte davantage que la couverture large.

Ce qu’il faut savoir avant de l’adopter

Le dépôt est léger : le contenu de la compétence se trouve principalement dans SKILL.md, sans règles, scripts ni fichiers de référence supplémentaires. C’est pratique pour une adoption rapide, mais cela signifie aussi que la qualité des résultats dépend fortement du contexte que vous fournissez. Si vous vous contentez de « audit this contract », attendez-vous à des constats génériques. Si vous précisez l’objectif du contrat, le threat model, les rôles privilégiés et les fonctions clés, la solidity-security skill devient nettement plus utile.

Comment utiliser la compétence solidity-security

Comment installer solidity-security

Installez-la depuis le dépôt avec un client compatible avec les skills. Un schéma courant est :

npx skills add https://github.com/wshobson/agents --skill solidity-security

Si votre plateforme d’agent utilise un autre mécanisme d’installation, ajoutez la compétence depuis :

https://github.com/wshobson/agents/tree/main/plugins/blockchain-web3/skills/solidity-security

Que lire en premier dans le dépôt

Commencez par :

  • plugins/blockchain-web3/skills/solidity-security/SKILL.md

Comme cette compétence ne contient ni README.md, ni dossier rules/, ni dossier references/ dans son répertoire, SKILL.md sert de manuel d’utilisation complet. Lisez d’abord ses sections “When to Use This Skill” et celles sur les vulnérabilités pour comprendre l’angle de revue qu’elle applique.

Quelles entrées sont nécessaires pour bien utiliser solidity-security

La qualité d’utilisation de solidity-security usage dépend d’un contexte de contrat concret. Fournissez :

  • la version de Solidity
  • les fichiers du contrat ou les extraits clés
  • l’objectif du contrat
  • les rôles utilisateur et les rôles privilégiés
  • les flux d’actifs : qui dépose, retire, mint, burn, liquide, upgrade
  • les intégrations externes : oracles, ERC20, bridges, routers, callbacks
  • les hypothèses sur les acteurs de confiance
  • le type de sortie attendu : quick scan, checklist d’audit approfondie, scénarios d’exploit ou remédiations

Sans cela, la compétence ne pourra produire qu’un exposé générique sur les vulnérabilités.

La meilleure forme de prompt pour une première revue

Un bon prompt de départ est :

“Use the solidity-security skill to review these contracts for reentrancy, access control, unsafe external calls, arithmetic or accounting mistakes, and other high-severity issues. For each finding, include impact, exploit path, affected functions, and a concrete remediation. Distinguish confirmed issues from areas needing more context.”

Ce prompt fonctionne bien parce qu’il demande :

  • des classes de problèmes précises
  • une sortie priorisée
  • un raisonnement sur l’exploitation
  • des conseils d’implémentation
  • une gestion explicite de l’incertitude

Comment transformer un objectif vague en prompt complet

Prompt faible :

  • “Check this Solidity code.”

Meilleur prompt :

  • “Use solidity-security for Security Audit preparation on this vault contract. Focus on withdrawal flow, share accounting, admin powers, pausing, upgradeability assumptions, and external token interactions. Identify critical and high findings first, then list medium-risk hardening opportunities.”

La meilleure version resserre le périmètre sur les surfaces métier les plus critiques, ce qui améliore le signal et réduit le remplissage inutile.

Workflow recommandé pour les audits avec solidity-security

Un workflow pratique du solidity-security guide est :

  1. Demander un résumé du threat model à partir de l’ensemble des contrats.
  2. Demander une cartographie des risques fonction par fonction.
  3. Approfondir les chemins avec appels externes qui modifient l’état.
  4. Examiner les fonctions restreintes par rôle et la logique d’initialisation.
  5. Demander des exemples de remédiation pour les principales findings.
  6. Relancer la compétence sur le code corrigé et demander quels risques subsistent.

Cette approche par étapes produit généralement de meilleurs résultats que de demander un audit massif en une seule passe.

Les zones de revue à forte valeur à mettre en avant

Lorsque vous invoquez solidity-security, demandez explicitement à l’agent de se concentrer sur :

  • les fonctions de retrait et de paiement
  • les interactions avec des tokens capables de callbacks
  • la logique de transfert de rôle et de propriété
  • les chemins d’initialisation et d’upgrade
  • les invariants comptables
  • les dépendances aux oracles ou au pricing
  • les contrôles d’urgence
  • les hypothèses autour de la conformité ERC20

C’est sur ces zones que les prompts superficiels passent souvent à côté de risques importants.

Ce que la compétence semble le mieux couvrir

D’après le contenu source, la compétence est surtout efficace sur les classes de vulnérabilités Solidity courantes et sur les patterns d’implémentation sécurisés, en particulier la reentrancy et les habitudes de code défensif associées comme checks-effects-interactions. Utilisez-la comme assistant de revue et de développement orienté sécurité, pas comme substitut à la vérification formelle ou à la modélisation économique au niveau protocole.

Conseils pratiques pour améliorer la qualité des résultats

Pour obtenir de meilleurs résultats avec solidity-security usage :

  • collez les fonctions exactes qui déplacent des fonds
  • indiquez quels rôles sont de confiance et lesquels sont contrôlés de l’extérieur
  • précisez si les contrats sont upgradeable ou proxied
  • demandez les prérequis d’un exploit, pas seulement des noms de bugs
  • demandez un classement par sévérité avec justification
  • demandez au modèle de séparer les faits observables dans le code des hypothèses

Ces petits ajouts améliorent sensiblement la qualité des décisions.

Ce qu’il ne faut pas attendre de la compétence

N’attendez pas de la solidity-security skill qu’elle :

  • exécute des tests
  • inspecte du bytecode déployé
  • prouve des invariants mathématiquement
  • remplace un Security Audit manuel complet
  • détecte des problèmes spécifiques à votre écosystème que vous ne mentionnez jamais

Elle est surtout efficace comme structure d’expertise pour revoir le code et l’architecture à partir du contexte que vous fournissez.

FAQ sur la compétence solidity-security

solidity-security est-elle adaptée à la préparation d’un Security Audit ?

Oui. solidity-security for Security Audit est un cas d’usage solide lorsque vous voulez attraper les problèmes Solidity évidents et modérément subtils avant de payer un audit externe. Elle aide les équipes à durcir le code, documenter leurs hypothèses et arriver à l’audit avec moins de findings évitables.

Est-ce mieux qu’un prompt générique du type « audit my contract » ?

En général, oui. Un prompt générique renvoie souvent une liste standard de risques liés aux smart contracts. La compétence solidity-security donne à l’agent un cadre de sécurité plus resserré, ce qui améliore souvent la focalisation sur les chemins d’exploitation, les patterns sûrs et les détails de remédiation.

solidity-security convient-elle aux débutants ?

Oui, avec des limites. Les débutants peuvent l’utiliser pour apprendre les surfaces d’attaque courantes de Solidity et les patterns de code plus sûrs. Mais elle ne doit pas être prise pour un cursus complet. Si vous débutez, demandez à la compétence d’expliquer chaque finding en langage simple et de montrer des alternatives sécurisées.

Quand solidity-security est-elle un mauvais choix ?

Elle convient mal pour :

  • les chaînes non-Solidity
  • la sécurité wallet côté front-end
  • la revue de design tokenomics
  • la théorie des jeux de gouvernance
  • la réponse à incident en production sans contexte de code

Pour ces cas, mieux vaut utiliser un processus de sécurité blockchain plus large ou une autre compétence spécialisée.

Peut-elle revoir un seul fichier ou a-t-elle besoin de toute la codebase ?

Elle peut revoir un seul fichier, mais les résultats s’améliorent avec le contexte autour. Par exemple, un contrat de vault sans le contexte de son token, de son oracle, de son contrôle d’accès ou de son proxy peut sembler sûr alors que les hypothèses clés se trouvent ailleurs.

La compétence couvre-t-elle uniquement les bugs classiques ?

Non, mais les bugs classiques restent son centre de gravité. Attendez-vous à ses meilleures performances sur les risques d’implémentation Solidity connus plutôt que sur des exploits économiques de protocole sur mesure. Si votre principale inquiétude concerne l’insolvabilité, la manipulation d’oracle ou le design de liquidation, dites-le explicitement.

Comment améliorer la compétence solidity-security

Donnez dès le départ votre threat model à solidity-security

Le moyen le plus rapide d’améliorer la sortie de solidity-security est de définir :

  • les capacités de l’attaquant
  • les rôles de confiance
  • les actifs à protéger
  • les issues inacceptables

Exemple :

  • “Assume any external user is adversarial, admin key is trusted but fallible, and loss of user deposits is the top-risk outcome.”

Cela aide l’agent à prioriser les vrais problèmes plutôt que de remonter de simples remarques de style.

Fournissez des invariants, pas seulement du code

Les bonnes entrées incluent des règles système telles que :

  • total shares should never exceed claimable assets
  • only governance can change fee parameters
  • user withdrawals must not depend on untrusted callbacks

Quand vous fournissez des invariants, la compétence peut tester la logique par rapport au comportement attendu au lieu de simplement repérer des motifs syntaxiques.

Demandez des récits d’exploitation

Un mode d’échec fréquent consiste à obtenir une liste plate de findings sans preuve de leur importance. Améliorez cela en demandant :

  • la condition d’entrée
  • les étapes de l’attaque
  • l’impact attendu
  • si le problème est réaliste ou seulement théorique

Cela force la solidity-security skill à raisonner comme un auditeur, pas comme un linter.

Rendez les demandes de remédiation spécifiques

Ne demandez pas seulement “how to fix this?” Demandez :

  • un patch minimal
  • une alternative de design plus sûre
  • les compromis de chaque correctif
  • si le patch change les coûts en gas ou l’UX

Des prompts de remédiation précis produisent des résultats plus actionnables qu’un conseil générique de secure coding.

Relancez l’analyse sur le code corrigé

Après la première passe, collez la fonction ou le contrat révisé et demandez :

  • quel risque a été supprimé
  • quel risque résiduel subsiste
  • si le correctif a introduit de nouveaux cas limites
  • quels tests doivent être ajoutés

C’est l’une des façons les plus rentables d’utiliser efficacement le temps investi dans solidity-security install après adoption.

Modes d’échec fréquents à surveiller

Même avec la compétence, surveillez :

  • la tendance à surestimer des vulnérabilités spéculatives
  • les hypothèses manquées, cachées dans des contrats hérités
  • l’oubli des détails de gestion des rôles
  • des conseils standard sur la reentrancy alors que le vrai problème est la conception comptable
  • le fait de traiter tous les appels externes comme également dangereux

Vous pouvez réduire ces erreurs en fournissant le contexte d’héritage et en demandant au modèle de citer le chemin de fonction exact derrière chaque affirmation.

De meilleurs prompts pour des revues plus approfondies

Un bon prompt de second tour :

“Use solidity-security to review only the withdrawal, reward-claim, and admin-setter paths. Ignore gas micro-optimizations. For each issue, cite the function, state variable, attacker capability required, exploit sequence, and the safest realistic remediation for this codebase.”

Ce prompt fonctionne bien parce qu’il contraint à la fois le périmètre et le format de sortie.

Associez la compétence à des tests et à une revue manuelle

Le meilleur workflow n’est pas un workflow basé uniquement sur la compétence. Utilisez solidity-security pour générer des hypothèses, puis vérifiez-les avec :

  • des tests unitaires
  • des tests d’invariants
  • du fuzzing
  • une revue manuelle ligne par ligne

Cette combinaison est nettement plus solide qu’un prompting ordinaire ou qu’une simple lecture statique pris isolément.

Comment savoir si solidity-security vous aide vraiment

Le solidity-security guide est utile s’il vous aide à :

  • identifier plus vite les fonctions les plus dangereuses
  • expliquer clairement l’exploitabilité
  • produire de meilleurs correctifs potentiels
  • préparer des questions plus propres pour des auditeurs externes
  • réduire le flou lié aux prompts génériques

Si la sortie reste vague après deux itérations, la cause la plus fréquente est l’absence de contexte sur le contrat, pas l’installation elle-même.

Notes et avis

Aucune note pour le moment
Partagez votre avis
Connectez-vous pour laisser une note et un commentaire sur cet outil.
G
0/10000
Derniers avis
Enregistrement...