T

substrate-vulnerability-scanner

por trailofbits

substrate-vulnerability-scanner ayuda a auditar pallets de Substrate y FRAME en busca de problemas críticos como desbordamientos aritméticos, DoS por panic, comprobaciones de origen incorrectas, pesos mal calculados y extrinsics unsigned inseguras. Usa esta skill de substrate-vulnerability-scanner para revisiones de auditoría de seguridad de runtimes, extrinsics de pallets y lógica de pesos.

Estrellas5k
Favoritos0
Comentarios0
Agregado4 may 2026
CategoríaSecurity Audit
Comando de instalación
npx skills add trailofbits/skills --skill substrate-vulnerability-scanner
Puntuación editorial

Esta skill obtiene 78/100, lo que la convierte en una candidata sólida para el directorio: tiene un caso de uso de seguridad claramente orientado a Substrate, suficiente detalle procedimental para guiar su ejecución y bastante contenido en el repositorio como para justificar considerar su instalación. Aun así, los usuarios deben esperar cierta fricción de adopción, porque no incluye comando de instalación y el flujo de trabajo depende de la documentación más que de la automatización de una herramienta.

78/100
Puntos fuertes
  • Está claramente orientada a auditar pallets de Substrate/FRAME, con casos de uso explícitos como revisión de runtimes, evaluación previa al lanzamiento y validación de dispatchables.
  • Cubre de forma concreta 7 patrones de vulnerabilidad específicos de Substrate, respaldados por un archivo de referencia dedicado con patrones de detección y mitigaciones.
  • Incluye una guía operativa sustancial, con marcadores para detectar la plataforma, ejemplos de código y restricciones, lo que reduce las dudas para un agente.
Puntos a tener en cuenta
  • No se proporciona comando de instalación ni scripts automatizados, por lo que los usuarios deben integrarla manualmente en su flujo de trabajo.
  • La skill parece más centrada en la documentación que en la ejecución, así que los resultados pueden depender de que el agente interprete bien los patrones en lugar de seguir una canalización ejecutable.
Resumen

Visión general de la skill substrate-vulnerability-scanner

Qué hace substrate-vulnerability-scanner

La skill substrate-vulnerability-scanner te ayuda a auditar código Substrate y FRAME para detectar siete fallos de alto riesgo y específicos de la plataforma que pueden provocar caídas, denegación de servicio o cambios de estado no autorizados. Resulta especialmente útil cuando necesitas un substrate-vulnerability-scanner centrado en el flujo de trabajo de Security Audit, en lugar de una revisión genérica de Rust.

Quién debería usarla

Usa esta skill si estás revisando pallets personalizados, extrinsics de runtime, lógica de pesos o validación de transacciones sin firma en parachains de Polkadot o cadenas Substrate independientes. Encaja muy bien para ingenieros de seguridad, desarrolladores de protocolo y revisores que necesitan un primer filtro rápido de seguridad antes de un análisis manual más profundo.

Qué detecta mejor

El repositorio está afinado para patrones que suelen pasar desapercibidos en una revisión de código normal: desbordamientos aritméticos, denegación de servicio provocada por panic, comprobaciones de origen defectuosas, pesos incorrectos, extrinsics sin firma inseguras y errores relacionados específicos de FRAME. Su valor principal no es entender el código de forma amplia; es identificar las clases de problemas de seguridad que más importan en el código de runtime de Substrate.

Cómo usar la skill substrate-vulnerability-scanner

Instala la skill y acota la revisión

Ejecuta el flujo substrate-vulnerability-scanner install con el paquete de skills de trailofbits y después dirígelo a un boundary de runtime o pallet, no a todo un monorepo. Los mejores resultados aparecen cuando la entrada dice con claridad qué se está auditando, qué pallet o cadena entra en alcance y si te interesa la explotabilidad, recomendaciones de corrección o una pasada tipo checklist.

Lee primero estos archivos

Empieza por SKILL.md para entender la lógica de detección y después revisa resources/VULNERABILITY_PATTERNS.md para ver los patrones de comprobación y las mitigaciones reales. Si tu repositorio tiene varios pallets, inspecciona primero los archivos lib.rs o mod.rs del pallet, además de los archivos de pesos y cualquier código de validación de transacciones sin firma, porque son los puntos donde esta skill suele aportar más valor.

Dale a la skill un prompt completo

Un prompt débil dice: “Scan this pallet for issues.” Un prompt más sólido dice: “Review pallet_balances for Substrate-specific vulnerabilities. Focus on extrinsics, storage mutation, weight calculation, and origin checks. Flag any arithmetic that is not checked, any panic path reachable from user input, and any unsigned extrinsic validation gaps. Return findings with file paths, impacted function names, exploit impact, and remediation suggestions.” Ese tipo de prompt hace que substrate-vulnerability-scanner usage sea más fiable porque le indica al modelo qué priorizar y en qué formato quieres la salida.

Consejos de flujo de trabajo que mejoran la señal

Usa la skill como una primera pasada estructurada y luego verifica cada ruta señalada contra el contexto del runtime. Cuando pegues código, incluye los tipos alrededor y las funciones auxiliares, porque muchos bugs de Substrate dependen de trait de configuración, tipos de origen o supuestos sobre el peso que no se ven en una sola función. Si el repositorio contiene varios pallets, ejecuta la skill por pallet en lugar de pedir un veredicto global único.

Preguntas frecuentes sobre la skill substrate-vulnerability-scanner

¿substrate-vulnerability-scanner es solo para Substrate?

Sí, está diseñada para patrones de Substrate/FRAME, no para aplicaciones Rust genéricas. Un prompt normal puede detectar code smells, pero substrate-vulnerability-scanner es mejor cuando necesitas un juicio de seguridad sobre runtime de cadena ligado a la semántica de pallets y al comportamiento de dispatchables.

¿Necesito ser experto en Substrate?

No, pero obtendrás mejores resultados si puedes identificar qué código es lógica de runtime y cuál es tooling fuera de cadena. Los principiantes también pueden usar la skill si indican la ruta exacta del pallet y piden hallazgos concretos en lugar de consejos amplios.

¿Cuándo no debería usar esta skill?

No la uses como único método de auditoría para lógica de negocio, criptografía o servicios fuera de cadena. Si el área de riesgo está fuera de los pallets de runtime, la skill puede pasar por alto el problema real porque sus reglas de detección están optimizadas para FRAME y funciones dispatchable.

¿En qué se diferencia de un prompt genérico de seguridad?

Un prompt genérico puede producir notas de revisión amplias, pero esta skill está anclada a un conjunto curado de patrones de vulnerabilidad de Substrate y a los lugares donde suelen aparecer. Eso hace que la substrate-vulnerability-scanner guide sea más útil para la toma de decisiones cuando necesitas una pasada centrada en seguridad sobre código de runtime con menos improvisación.

Cómo mejorar la skill substrate-vulnerability-scanner

Aporta el contexto correcto desde el principio

Las mejores entradas nombran el pallet, el tipo de cadena y las rutas de código que más te importan. Incluye si el código maneja balances, recompensas, comisiones, gobernanza, transacciones sin firma o llamadas solo para root, porque esos detalles cambian qué vulnerabilidades importan más.

Pide rutas explotables, no solo coincidencias

Un fallo habitual es recibir una lista de líneas sospechosas sin significado de seguridad. Pide a la skill que explique si un patrón es realmente alcanzable, qué entrada lo dispara, cuál es el impacto y si el problema es un falso positivo causado por trait de configuración o invariantes aguas arriba. Eso hace que substrate-vulnerability-scanner usage sea mucho más accionable para la triage.

Ajusta la revisión después de la primera pasada

Si la primera salida es ruidosa, reduce el alcance a un solo pallet, una sola extrinsic o una sola preocupación, como las comprobaciones ensure_*, la aritmética de pesos o la aritmética de almacenamiento. Si la primera salida se queda corta, pide una segunda pasada que compare el código señalado con los patrones de resources/VULNERABILITY_PATTERNS.md y con los trait bounds circundantes, porque esos detalles suelen marcar la diferencia entre un bug real y una abstracción segura.

Calificaciones y reseñas

Aún no hay calificaciones
Comparte tu reseña
Inicia sesión para dejar una calificación y un comentario sobre esta skill.
G
0/10000
Reseñas más recientes
Guardando...