Skip to main content

substrate-vulnerability-scanner

substrate-vulnerability-scanner

Catalogue généré le 2026-05-11

En une phrase

ScansScanne Substrate/le code d'une blockchain construite avec Substrate (la techno derrière Polkadot palletset forses "parachains") pour repérer 7 criticaltypes vulnerabilitiesde includingfailles arithmeticcritiques overflow,qui panicpeuvent DoS,faire incorrectcrasher weights,un andnœud, badouvrir origindes checks.attaques de spam ou bypasser l'admin.

Quand l'utiliser

  • UseQuand whenun auditingprojet utilise Substrate runtimes orou FRAME pallets.(le framework pour fabriquer une blockchain "à la Polkadot") et que tu veux faire un check sécurité.
Avant de lancer une parachain Polkadot/Kusama sur le réseau principal. Quand un dev a écrit un "pallet" custom (un module qui ajoute des fonctionnalités à la chaîne) et que tu veux le faire relire. Pour vérifier que les calculs de "poids" (le coût d'une transaction) sont corrects — un mauvais poids ouvre des attaques de spam. Si tu auditeras des fonctions privilégiées (qui ne devraient être appelables que par root/admin).

Comment l'invoquer

  • Slash command : /substrate-vulnerability-scanner (si exposé dans ton CLI)
  • Phrases déclencheurs (texte) : voir"audit lamy descriptionSubstrate complètepallet" ci-dessous/ "check FRAME runtime" / "scan Polkadot parachain"
  • Auto-invocation : surSur demande explicite (généralement lors d'un audit).

Description complètedétaillée

ScansSubstrate Substrate/Polkadotest palletsle forframework Rust de Parity pour construire des blockchains personnalisées (notamment les parachains Polkadot). Le code est organisé en "pallets" (modules) qui sont assemblés dans un runtime. Les bugs Substrate sont souvent catastrophiques : un panic dans un pallet peut faire planter tous les nœuds du réseau, et une mauvaise vérification d'origine peut donner les droits admin à n'importe qui.

Ce skill cherche 7 criticalpatterns vulnerabilitiescritiques including: arithmetic1) overflow,Arithmetic panicOverflow DoS,(utiliser incorrect+, weights,-, and* baddirectement originau checks.lieu Usede whenchecked_* auditing Substrateles runtimescalculs ordébordent FRAMEsilencieusement pallets.en mode release), 2) Don't Panic (un unwrap() qui plante = nœud HS = blockchain HS), 3) Weights & Fees mal calibrés (ouvre des attaques DoS), 4) Verify First, Write Last (écrire en storage avant de valider — sur d'anciennes versions, l'écriture persiste même si la validation échoue), 5) Unsigned Transaction Validation (transactions sans signataire mal protégées contre le replay), 6) Bad Randomness (utiliser un random prédictible/manipulable), 7) Bad Origin (utiliser ensure_signed au lieu de ensure_root sur une fonction admin — n'importe qui peut l'appeler).

Workflow : tu pointes ton dossier pallets/, le skill scanne, te liste les findings avec sévérité et te propose les fix Rust.

Pour aller plus loin

Substrate

Pour Vulnerabilityles Scannerdétails

1. Purpose

Systematically scan Substrate runtime modulestechniques (pallets) for platform-specific security vulnerabilities that can cause node crashes, DoS attacks, or unauthorized access. This skill encodes 7 critical vulnerability patterns unique to Substrate/FRAME-based chains.

2. When to Use This Skill

    Auditing custom Substrate pallets Reviewing FRAME runtimeexacts, code Pre-launch security assessment of Substrate chains (Polkadot parachains, standalone chains) Validating dispatchable extrinsic functions Reviewing weight calculation functions Assessing unsigned transaction validation logic

    3. Platform Detection

    File Extensions & Indicators

      Rust files:avant/après, intégration .rs

      Language/Framework Markers

      Project Structure

        pallets/*/lib.rscargo-fuzz -et Pallettry-runtime), implementations runtime/lib.rs - Runtime configuration benchmarking.rs - Weight benchmarks

        (extrait — voirconsulter le SKILL.md completoriginal pourà /home/thymon/.claude/plugins/cache/trailofbits/building-secure-contracts/1.0.1/skills/substrate-vulnerability-scanner/SKILL.md et la suite)ressource resources/VULNERABILITY_PATTERNS.md.

        Source

        • Plugin : trailofbits/building-secure-contracts
        • Nom interne : substrate-vulnerability-scanner
        • Fichier : /home/thymon/.claude/plugins/cache/trailofbits/building-secure-contracts/1.0.1/skills/substrate-vulnerability-scanner/SKILL.md