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
UseQuandwhenunauditingprojet utilise Substrateruntimes orou FRAMEpallets.(le framework pour fabriquer une blockchain "à la Polkadot") et que tu veux faire un check sécurité.
Comment l'invoquer
- Slash command :
/substrate-vulnerability-scanner(si exposé dans ton CLI) - Phrases déclencheurs (texte) :
voir"auditlamydescriptionSubstratecomplè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
3. Platform Detection
File Extensions & Indicators
.rsLanguage/Framework Markers
Project Structure
pallets/*/lib.rscargo-fuzz try-runtime), runtime/lib.rsbenchmarking.rs(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