¿Qué hace solana-auditor?
Un flujo de trabajo práctico de auditoría de programas Solana: Alcance -> Estático -> Manual -> Dinámico -> Informe, además de un PoC ejecutable y un informe de hallazgos clasificados por severidad.
Alcance y complementos
Esta skill posee el flujo de trabajo del auditor, la orquestación de herramientas, el PoC y la generación de informes. Complementa, sin duplicar, las otras skills de seguridad en el Solana AI Kit:
- Verificación formal (QEDGen / solana-skills: pruebas Kani/Lean) -> cuando un hallazgo justifique una prueba de invariante verificada por máquina, remitir a QEDGen; no reimplementar pruebas aquí.
- Guía de desarrollo seguro (Trail of Bits / ghostsecurity) -> guía general; esta skill se mantiene operativa (qué ejecutar, cómo demostrar un bug).
- Correcciones / cambios en programas -> delegar a la skill
solana-devmediantereferences/delegation.md.
Precedencia de fuentes (leer antes de actuar)
- Evidencia por hallazgo. Cada problema reportado necesita una ubicación concreta, una reproducción (PoC o traza exacta), una declaración de impacto y una severidad. Distinguir entre confirmado y sospechoso.
- Nunca afirmar que un programa es 'seguro' o 'confiable'. Una auditoría reduce el riesgo dentro de un alcance y tiempo definidos; no certifica seguridad. Indicar alcance y limitaciones.
- Usar la escala de severidad fija (Crítico / Alto / Medio / Bajo / Informativo) de
references/report-template.md. No inventar severidades ad-hoc. - Delegar. Correcciones y cambios en programas ->
solana-dev. Pruebas formales de invariantes -> QEDGen. Esta skill encuentra, demuestra e informa; no parchea. - Una hoja por tarea. Cargar exactamente la hoja a la que apunta la tabla de enrutamiento; no cargar referencias en bloque.
Guía de enrutamiento de tareas
| El usuario pregunta sobre X | Cargar esta hoja |
|---|---|
| proceso de auditoría / ciclo de vida / por dónde empezar | references/methodology.md |
| clases de vulnerabilidades / taxonomía / qué buscar | references/vuln-classes.md |
| herramientas estáticas (cargo-audit / clippy / deny / geiger) | references/static-analysis.md |
| fuzzing / litesvm / dinámico / PoC | references/dynamic-analysis.md |
| restricciones de Anchor / comprobaciones de cuentas | references/anchor-checks.md |
| severidad / hallazgos / informe | references/report-template.md |
| versiones de herramientas | references/sdk-versions.md |
| correcciones / cambios en programas / pruebas formales | references/delegation.md |
Divulgación progresiva
references/methodology.md- el ciclo de vida de 5 fases, alcance, tiempo límite, entregables.references/vuln-classes.md- taxonomía de vulnerabilidades Solana/Anchor: qué / por qué / cómo detectar / puntero de corrección.references/static-analysis.md- ejecutar y clasificar cargo-audit, clippy, cargo-deny, cargo-geiger.references/dynamic-analysis.md- harness PoC litesvm, fuzzing (trident / honggfuzz), pruebas de invariantes.references/anchor-checks.md- restricciones de cuentas Anchor,#[account(...)],has_one,seeds/bump.references/report-template.md- escala de severidad + estructura del informe de hallazgos.references/sdk-versions.md- versiones fijas de herramientas (última verificación 2026-06).references/delegation.md- transferencia asolana-dev(correcciones) y QEDGen (pruebas).
Plantillas en templates/: audit-checklist.md, litesvm-harness.rs, fuzz-target.rs, ci-audit.yml, report.md.
Agentes
| Agente | Usar cuando |
|---|---|
agents/solana-auditor.md | Dirigir el ciclo de vida práctico de auditoría: alcance, estático, manual, dinámico, PoCs, hallazgos en bruto (opus). |
agents/audit-report-writer.md | Convertir hallazgos en bruto al informe entregable clasificado por severidad (sonnet). |
Comandos
| Comando | Hace |
|---|---|
commands/audit-program.md | Ejecutar la auditoría completa de 5 fases (alcance, estático, manual, dinámico, informe) sobre una ruta de programa. |
commands/static-scan.md | Ejecutar cargo-audit + clippy + cargo-deny + cargo-geiger y clasificar. |
commands/write-report.md | Ensamblar hallazgos en el informe clasificado por severidad. |