solana-vulnerability-scanner
por trailofbitssolana-vulnerability-scanner é uma skill focada de auditoria de segurança para Solana, voltada para programas nativos em Rust e Anchor. Ela ajuda a revisar lógica de CPI, validação de PDA, verificações de signer e ownership, além de spoofing de sysvar, para identificar seis vulnerabilidades críticas específicas de Solana antes do deploy.
Esta skill recebe 86/100 porque oferece um fluxo de auditoria crível, específico para Solana, que um agente consegue acionar com pouca suposição. Para quem usa o diretório, isso significa que vale a pena instalar se houver necessidade de uma revisão focada em problemas de segurança em Solana/Anchor, especialmente bugs de CPI, PDA e validação de contas — embora deva ser encarada como um scanner especializado, e não como uma estrutura ampla de segurança.
- Tem escopo claramente definido para auditoria em Solana/Anchor, com casos de uso explícitos como revisão de CPI, validação de PDA, verificações de signer/ownership e avaliação de segurança pré-lançamento.
- Entrega orientação operacional robusta: a skill inclui pistas de detecção de plataforma, indicadores de código e um arquivo de referência detalhado de padrões de vulnerabilidade, com exemplos concretos e mitigações.
- É fácil de acionar por agentes: o frontmatter e o corpo especificam quando usá-la e quais padrões inspecionar, reduzindo a ambiguidade em comparação com um prompt genérico.
- Não há comando de instalação, scripts nem automação pronta, então trata-se mais de um material orientado a guidance do que de um fluxo executável de scanner.
- O repositório parece ter foco estreito em seis padrões críticos de vulnerabilidade, então pode não cobrir necessidades mais amplas de revisão em Solana fora desses casos.
Visão geral do skill solana-vulnerability-scanner
solana-vulnerability-scanner é um skill de auditoria focado em revisar programas Solana em busca de falhas de segurança que passam despercebidas numa revisão genérica de código Rust. É mais indicado para engenheiros, auditors e times de segurança que estão checando programas nativos de Solana ou Anchor antes do deploy, especialmente quando o código usa CPI, lógica de PDA, verificações de signer, checagem de ownership de accounts ou introspecção de instruções.
O skill solana-vulnerability-scanner não é um linter amplo de smart contracts; ele foi feito para destacar um conjunto pequeno de erros de alto impacto específicos de Solana e ajudar você a decidir se um programa está seguro o bastante para ir para produção ou se precisa de uma revisão manual mais profunda.
O que o skill identifica
O repositório se concentra em seis padrões críticos de vulnerabilidade, incluindo CPI arbitrária, validação incorreta de PDA, ausência de checks de signer ou ownership e spoofing de sysvar. Isso torna o solana-vulnerability-scanner útil quando sua pergunta principal não é “esse código compila?”, e sim “um atacante consegue desviar as premissas de confiança do modelo de accounts da Solana?”
Casos de uso ideais
Use o solana-vulnerability-scanner em trabalhos de Security Audit para programas que vão ser lançados, revisões de upgrade, integrações de protocolo e qualquer fluxo de código em que accounts são tratadas como se representassem um programa, autoridade ou sysvar específicos. Ele é menos útil para revisão genérica de lógica de negócio ou para crates Rust que não sejam de Solana.
O que o diferencia
O valor do solana-vulnerability-scanner está na sua lógica de decisão específica de Solana. Ele ajuda você a focar nas bordas de validação de accounts e de CPI que realmente determinam a explorabilidade, em vez de perder tempo com recomendações que valeriam para qualquer repositório Rust.
Como usar o skill solana-vulnerability-scanner
Instale o skill
Instale o solana-vulnerability-scanner com:
npx skills add trailofbits/skills --skill solana-vulnerability-scanner
Esse caminho de instalação importa porque o skill fica em plugins/building-secure-contracts/skills/solana-vulnerability-scanner no repositório trailofbits/skills, então o esperado é um fluxo de trabalho de auditoria de segurança, e não um prompt genérico de assistente de código.
Passe o alvo e o escopo corretos
O melhor uso do solana-vulnerability-scanner começa com um alvo de auditoria claro: nome do repositório, entrypoints do programa, tipo de framework e a boundary de confiança que importa para você. Bons inputs se parecem com: “Audite este programa Anchor para CPI arbitrária, erros de derivação de PDA e ausência de checks de signer nos fluxos de initialize e withdraw.”
Inputs fracos como “faça scan deste app Solana” normalmente deixam passar as accounts e instruções específicas que importam.
Leia primeiro os arquivos certos
Para instalar e revisar o solana-vulnerability-scanner, comece por SKILL.md e depois examine resources/VULNERABILITY_PATTERNS.md. Esse arquivo de recursos traz os checks concretos e exemplos em que o skill se baseia, o que é muito mais útil do que tentar adivinhar só pelo nome dos arquivos.
Vale também passar os olhos nos arquivos do programa que definem:
- chamadas de CPI usando
invoke()ouinvoke_signed() - structs
#[derive(Accounts)]em Anchor - derivação de PDA e validação de seeds
- checagens de ownership e constraints de signer
- checagens de sysvar ou de account de programa
Um fluxo de trabalho prático
Use o skill em duas etapas. Primeiro, peça para ele identificar as classes de vulnerabilidade mais prováveis e as instruções afetadas. Depois, peça uma revisão de cada caminho sinalizado com detalhe em nível de account, como qual account é controlada pelo usuário, qual program ID é esperado e se a validação acontece antes da CPI ou da mudança de estado.
Um bom formato de prompt é:
“Revise estas instruções Solana/Anchor para as seis vulnerabilidades críticas do solana-vulnerability-scanner. Foque em validação de accounts, alvos de CPI, seeds de PDA e confiança em sysvar. Retorne os achados por instrução, explique a explorabilidade e indique falsos positivos.”
FAQ do skill solana-vulnerability-scanner
O solana-vulnerability-scanner é só para Anchor?
Não. O skill cobre tanto programas nativos em Solana Rust quanto programas baseados em Anchor. Ainda assim, o código em Anchor costuma expressar checks de forma mais declarativa, então o foco da revisão muda para saber se as constraints estão completas e se os tipos de programa e de account estão corretamente restringidos.
Em que ele é diferente de um prompt normal de code review?
Um prompt comum pode notar lógica suspeita, mas o solana-vulnerability-scanner é calibrado para o modelo de accounts da Solana e para as formas específicas pelas quais atacantes abusam de CPI, handling de PDA e validação de accounts. O resultado é uma cobertura melhor dos problemas que mais importam numa auditoria de segurança Solana.
Ele é amigável para iniciantes?
Sim, desde que você consiga identificar os entrypoints do programa e as principais accounts das instruções. Iniciantes tiram mais proveito usando o solana-vulnerability-scanner como uma checklist guiada e, depois, fazendo perguntas de acompanhamento sobre qualquer instrução sinalizada, em vez de tentar auditar o repositório inteiro de uma vez.
Quando não devo usá-lo?
Não dependa do solana-vulnerability-scanner como única revisão para tokenomics, lógica de negócio ou desenho de governança. Ele é mais forte em padrões críticos de segurança em Solana, não em correção ampla de protocolo ou modelagem econômica.
Como melhorar o skill solana-vulnerability-scanner
Dê o caminho exato da instrução
O maior salto de qualidade vem de nomear a instrução, a autoridade esperada e os papéis das accounts. Em vez de “verifique meu programa”, diga qual handler você quer revisar e quais accounts devem ser confiáveis, mutáveis, protegidas por signer ou pertencentes ao programa. Isso ajuda o solana-vulnerability-scanner a separar exposição real de encanamento inofensivo.
Inclua as premissas de confiança desde o início
Se uma account deveria ser o token program, system program, metadata program ou um PDA específico, diga isso. Se uma account pode ser fornecida pelo usuário, diga também. Premissas de confiança fortes tornam a saída do solana-vulnerability-scanner mais precisa, porque muitos bugs em Solana são, na prática, bugs de validação ausente.
Peça explorabilidade, não só achados
Para melhorar o uso do solana-vulnerability-scanner, peça o caminho de ataque e a pré-condição que torna cada problema explorável. Isso força a saída a distinguir “questão de estilo” de “bug de segurança”, que é exatamente o que você precisa em um fluxo de Security Audit.
Itere com trechos concretos do código
Se a primeira passada sinalizar um padrão de CPI ou PDA, refaça a revisão na função específica e na struct Accounts dela. Os melhores resultados vêm de estreitar o escopo para uma instrução por vez e, então, perguntar se as constraints de account, os program IDs e os seeds correspondem totalmente ao modelo de confiança pretendido.
