Que fait solana-auditor ?
Un workflow pratique d'audit de programmes Solana : Cadrage -> Statique -> Manuel -> Dynamique -> Rapport, avec un PoC exécutable et un rapport de vulnérabilités classé par sévérité.
Périmètre et compléments
Cette compétence possède le workflow d'audit, l'orchestration des outils, le PoC et la génération de rapport. Elle complète, sans les dupliquer, les autres compétences de sécurité du Solana AI Kit :
- Vérification formelle (QEDGen / solana-skills : preuves Kani/Lean) -> lorsqu'un résultat nécessite une preuve d'invariant vérifiée par machine, pointer vers QEDGen ; ne pas réimplémenter de preuves ici.
- Conseils de développement sécurisé (Trail of Bits / ghostsecurity) -> conseils généraux ; cette compétence reste opérationnelle (quoi exécuter, comment prouver un bug).
- Correctifs / modifications de programme -> déléguer à la compétence
solana-devviareferences/delegation.md.
Ordre de priorité des sources (lire avant d'agir)
- Preuve par résultat. Chaque problème signalé nécessite un emplacement concret, une reproduction (PoC ou trace exacte), une déclaration d'impact et une sévérité. Distinguer confirmé de suspecté.
- Ne jamais affirmer qu'un programme est « sûr » ou « sécurisé ». Un audit réduit les risques sur un périmètre et une période définis ; il ne certifie pas la sécurité. Indiquer le périmètre et les limites.
- Utiliser l'échelle de sévérité fixe (Critical / High / Medium / Low / Info) de
references/report-template.md. Ne pas inventer de sévérités ad-hoc. - Déléguer. Les correctifs et modifications de programme ->
solana-dev. Les preuves formelles d'invariants -> QEDGen. Cette compétence trouve, prouve et rapporte ; elle ne corrige pas. - Un seul fichier par tâche. Charger exactement le fichier indiqué par la table de routage ; ne pas charger l'ensemble des références.
Table de routage des tâches
| L'utilisateur demande à propos de | Charger ce fichier |
|---|---|
| processus d'audit / cycle de vie / par où commencer | references/methodology.md |
| classes de vulnérabilités / taxonomie / quoi chercher | references/vuln-classes.md |
| outils statiques (cargo-audit / clippy / deny / geiger) | references/static-analysis.md |
| fuzzing / litesvm / dynamique / PoC | references/dynamic-analysis.md |
| contraintes Anchor / vérifications de comptes | references/anchor-checks.md |
| sévérité / résultats / rapport | references/report-template.md |
| versions des outils | references/sdk-versions.md |
| correctifs / modifications de programme / preuves formelles | references/delegation.md |
Divulgation progressive
references/methodology.md- le cycle de vie en 5 phases, cadrage, timebox, livrables.references/vuln-classes.md- taxonomie des vulnérabilités Solana/Anchor : quoi / pourquoi / comment détecter / pointer vers le correctif.references/static-analysis.md- exécution et tri des résultats de cargo-audit, clippy, cargo-deny, cargo-geiger.references/dynamic-analysis.md- PoC litesvm, fuzzing (trident / honggfuzz), tests d'invariants.references/anchor-checks.md- contraintes de comptes Anchor,#[account(...)],has_one,seeds/bump.references/report-template.md- échelle de sévérité + structure du rapport de résultats.references/sdk-versions.md- versions d'outils figées (dernière vérification 2026-06).references/delegation.md- transfert verssolana-dev(correctifs) et QEDGen (preuves).
Templates dans templates/ : audit-checklist.md, litesvm-harness.rs, fuzz-target.rs, ci-audit.yml, report.md.
Agents
| Agent | Utiliser quand |
|---|---|
agents/solana-auditor.md | Piloter le cycle d'audit pratique : cadrage, statique, manuel, dynamique, PoC, résultats bruts (opus). |
agents/audit-report-writer.md | Transformer les résultats bruts en rapport livrable classé par sévérité (sonnet). |
Commandes
| Commande | Action |
|---|---|
commands/audit-program.md | Exécuter l'audit complet en 5 phases (cadrage, statique, manuel, dynamique, rapport) sur un chemin de programme. |
commands/static-scan.md | Exécuter cargo-audit + clippy + cargo-deny + cargo-geiger et trier les résultats. |
commands/write-report.md | Assembler les résultats dans le rapport classé par sévérité. |