T

ton-vulnerability-scanner

par trailofbits

ton-vulnerability-scanner est une skill d’audit ciblée pour les smart contracts TON écrits en FunC. Elle aide à repérer les usages abusifs d’entiers comme booléens, la gestion de faux contrats Jetton et les vérifications de gas manquantes lors du transfert de TON. Utilisez-la pour un premier audit de sécurité rapide avant une revue manuelle plus approfondie.

Étoiles5k
Favoris0
Commentaires0
Ajouté4 mai 2026
CatégorieSecurity Audit
Commande d’installation
npx skills add trailofbits/skills --skill ton-vulnerability-scanner
Score éditorial

Cette skill obtient 78/100, ce qui en fait un bon candidat pour le répertoire destiné aux utilisateurs qui auditent des contrats TON/FunC : périmètre sécurité bien défini, cas d’usage explicites et indications de motifs suffisantes pour limiter les approximations d’un prompt générique. Les utilisateurs du répertoire doivent toutefois s’attendre à une certaine friction à l’adoption, car le dépôt ne fournit ni commande d’installation ni scripts exécutables ; l’ensemble ressemble donc davantage à un guide d’audit détaillé qu’à un outil entièrement automatisé.

78/100
Points forts
  • Déclenchement clair pour les audits TON/FunC, les revues Jetton et les contrôles de gas au transfert, avec des indications explicites sur le moment d’utilisation.
  • Contenu de workflow substantiel : plus de 11 k de texte, plusieurs sections et une checklist dédiée à trois problèmes spécifiques à TON.
  • Une bibliothèque de motifs étayée dans `resources/VULNERABILITY_PATTERNS.md` aide un agent à reconnaître des modes d’échec concrets et à inspecter les contrats de manière plus systématique.
Points de vigilance
  • L’absence de commande d’installation et de scripts laisse penser à une utilisation manuelle ou fondée sur des consignes de prompt, plutôt qu’à un workflow empaqueté et exécutable.
  • Le périmètre est étroit et centré sur les smart contracts TON en FunC ; il est donc moins adapté aux revues de sécurité blockchain plus larges ou multi-langages.
Vue d’ensemble

Vue d’ensemble de la skill ton-vulnerability-scanner

ton-vulnerability-scanner est une skill d’audit ciblée pour les smart contracts TON écrits en FunC. Elle aide à repérer des bugs spécifiques à la plateforme que les prompts génériques sur les smart contracts manquent souvent, en particulier autour de la gestion des booléens, de la logique Jetton et du transfert de gas. Utilisez-la quand vous avez besoin d’un premier contrôle de sécurité rapide avant une analyse manuelle plus poussée ou un audit externe.

Ce pour quoi la skill ton-vulnerability-scanner est la plus adaptée

Cette skill ton-vulnerability-scanner est particulièrement utile pour les auditeurs, les ingénieurs protocole et les développeurs qui relisent du code TON avant lancement. C’est un bon choix si vous devez vérifier si le flux de contrôle d’un contrat, ses vérifications de jetons ou son traitement des messages respectent bien les conventions TON. Ce n’est pas une skill de revue de code généraliste ; elle est conçue autour d’un petit nombre de modes de défaillance TON à fort impact.

Axes de vulnérabilité principaux

Le dépôt s’articule autour de trois motifs critiques : la mauvaise utilisation d’un entier comme booléen, la gestion de faux contrats Jetton, et l’envoi de TON sans vérification correcte du gas. Ce périmètre compte, parce qu’il donne à la skill un signal plus précis qu’un prompt large du type « trouve des bugs ». Si votre objectif est un travail de Security Audit sur des contrats FunC, c’est le bon outil, précisément parce qu’il reste étroit.

Quand ne pas l’utiliser

N’attendez pas de bons résultats sur des stacks non FunC, des contrats EVM génériques, ou des revues d’architecture qui ne sont pas spécifiques à TON. Si vous cherchez des problèmes de style, de génération de tests ou un audit formel complet, ton-vulnerability-scanner est trop limité à lui seul. Il fonctionne mieux comme scanner ciblé au sein d’un workflow de revue plus large.

Comment utiliser la skill ton-vulnerability-scanner

Installer et repérer les fichiers de la skill

Pour l’étape ton-vulnerability-scanner install, passez par le flux standard de skills du répertoire, par exemple : npx skills add trailofbits/skills --skill ton-vulnerability-scanner. Après l’installation, lisez d’abord le point d’entrée de la skill, puis suivez le contexte lié dans le dépôt. Les fichiers de départ les plus utiles sont SKILL.md et resources/VULNERABILITY_PATTERNS.md.

Fournir la bonne entrée

Le schéma ton-vulnerability-scanner usage fonctionne mieux si vous donnez un contrat concret, un objectif de revue et une frontière de périmètre. De bons inputs précisent le type de fichier et la question de sécurité, par exemple : « Review contracts/wallet.fc for Jetton transfer validation, boolean flags, and gas forwarding risks. » Des inputs faibles comme « scan this code » laissent trop de place à une sortie superficielle.

Transformer une tâche vague en prompt solide

Utilisez l’idée ton-vulnerability-scanner guide comme modèle de prompt : identifiez le contrat, indiquez s’il s’agit d’un Jetton, d’un wallet ou d’un handler de transfert, et dites à la skill quoi prioriser. Exemple : « Audit this FunC contract for the three TON patterns in resources/VULNERABILITY_PATTERNS.md, and show any exact lines or conditions that would mis-handle booleans, spoof Jetton contracts, or forward value without checking gas. » Ce type de prompt améliore la précision, car il demande un raisonnement par motifs plutôt qu’un commentaire générique.

Workflow pratique et premières vérifications

Commencez par les points d’entrée du contrat comme recv_internal, recv_external, le parsing des messages et toute logique de notification de transfert. Inspectez ensuite les flags booléens, la validation de l’expéditeur, et les appels impliquant send_raw_message(), load_msg_addr(), ou les helpers de chargement et de stockage des coins. Si vous voulez comprendre rapidement la skill, donnez la priorité à resources/VULNERABILITY_PATTERNS.md plutôt qu’à l’arborescence générale du dépôt, parce qu’elle montre exactement les modes de défaillance que le scanner est conçu pour trouver.

FAQ de la skill ton-vulnerability-scanner

Est-ce réservé aux contrats FunC ?

Oui, la skill ton-vulnerability-scanner vise les contrats TON écrits en FunC, en particulier les fichiers .fc et .func. Si votre projet utilise des wrappers, des tests ou des outils TypeScript, ils peuvent aider à replacer le code dans son contexte, mais la logique de vulnérabilité reste au niveau du contrat. Pour un Security Audit, le code source du contrat est l’entrée essentielle.

En quoi est-ce différent d’un prompt classique ?

Un prompt classique peut repérer du « code suspect », mais ton-vulnerability-scanner est réglée sur des hypothèses propres à TON, comme les valeurs de vérité des booléens et les motifs de messages Jetton. Cela la rend plus efficace pour détecter des bugs faciles à manquer si l’on ne connaît pas déjà la plateforme. Elle est plus étroite qu’un reviewer IA généraliste, mais c’est justement cette étroitesse qui fait sa valeur.

Les débutants peuvent-ils l’utiliser ?

Oui, à condition de la diriger vers un contrat FunC précis et d’exprimer clairement l’objectif de revue. Les débutants obtiennent les meilleurs résultats en demandant un seul passage de sécurité à la fois, plutôt qu’un audit complet de tout un dépôt. La principale limite n’est pas la complexité de la skill ; c’est de savoir si le contrat emploie des motifs TON que la skill comprend.

Quelles sont les principales limites de la skill ?

La skill est particulièrement forte sur la logique booléenne, les vérifications d’authenticité Jetton et les risques liés au transfert de gas. Elle est plus faible sur la revue de logique métier, la conception de systèmes multi-contrats et les problèmes sans lien avec la sémantique des messages TON. Si votre revue a besoin de ces dimensions plus larges, combinez-la avec un workflow d’audit plus général.

Comment améliorer la skill ton-vulnerability-scanner

Donner des cibles d’audit explicites

Pour obtenir de meilleurs résultats avec ton-vulnerability-scanner, indiquez-lui quels sont les trois motifs les plus importants pour le fichier que vous examinez. Par exemple, « focus on transfer notifications and fake Jetton detection » est bien plus utile que « check everything ». Cela recentre l’attention sur les chemins de code les plus susceptibles de casser.

Fournir le contexte du contrat, pas seulement le texte source

La skill fonctionne mieux si vous précisez s’il s’agit d’un wallet, d’un Jetton minter, d’un handler de transfert ou d’un receiver. Ce contexte change la manière d’interpréter les booléens, les adresses de message et la valeur transmise. Si vous connaissez déjà les invariants attendus, indiquez-les dès le départ pour que l’analyse puisse comparer le comportement du code à ces attentes.

Surveiller les modes de défaillance les plus courants

Les erreurs les plus fréquentes sont l’usage d’entiers positifs comme booléens, la confiance accordée à des messages qui ressemblent à des jetons sans vérification, et le transfert de TON sans discipline suffisante sur le gas. Quand vous relisez la sortie, vérifiez que chaque constat renvoie à une ligne concrète, à une condition précise et à un scénario d’exploitation réaliste. Sinon, demandez une relecture plus serrée à partir de la checklist de motifs dans resources/VULNERABILITY_PATTERNS.md.

Itérer avec des extraits de code et le comportement attendu

Si le premier passage reste vague, renvoyez la fonction suspecte et décrivez le comportement attendu en une phrase. Par exemple : « This handler should only accept genuine Jetton transfer notifications from the expected master contract. » Ce type de relance aide la skill ton-vulnerability-scanner à distinguer les vrais positifs des motifs typiques de TON et vous donne un résultat de Security Audit plus exploitable.

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...