Agent skill

solana-vulnerability-scanner

Scans Solana programs for 6 critical vulnerabilities including arbitrary CPI, improper PDA validation, missing signer/ownership checks, and sysvar spoofing. Use when auditing Solana/Anchor programs.

trailofbitsgithub.com/trailofbitsGitHub ↗
claude-codeCC-BY-SA-4.0
Install
npx skills add trailofbits/skills --skill solana-vulnerability-scanner --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 11 KB
Bundled scripts: none
Path: plugins/building-secure-contracts/skills/solana-vulnerability-scanner/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 6,426
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Solana Vulnerability Scanner ## 1. Purpose Systematically scan Solana programs (native and Anchor framework) for platform-specific security vulnerabilities related to cross-program invocations, account validation, and program-derived addresses. This skill encodes 6 critical vulnerability patterns unique to Solana's account model. ## 2. When to Use This Skill - Auditing Solana programs (native Rust or Anchor) - Reviewing cross-program invocation (CPI) logic - Validating program-derived address (PDA) implementations - Pre-launch security assessment of Solana protocols - Reviewing account validation patterns - Assessing instruction introspection logic ## 3. Platform Detection ### File Extensions & Indicators - **Rust files**: `.rs` ### Language/Framework Markers ```rust // Native Solana program indicators use solana_program::{ account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, pubkey::Pubkey, program::invoke, program::invoke_signed, }; entrypoint!(process_instruction); // Anchor framework indicators use anchor_lang::prelude::*; #[program] pub mod my_program { pub fn initialize(ctx: Context<Initialize>) -> Result<()> { // Program logic } } #[derive(Accounts)] pub struc

What's inside
Steps it walks through
  1. 1. Purpose
  2. 2. When to Use This Skill
  3. 3. Platform Detection
  4. File Extensions & Indicators
  5. Language/Framework Markers
  6. Project Structure
  7. Tool Support
  8. 4. How This Skill Works
  9. 5. Example Output
  10. 6. Vulnerability Patterns (6 Patterns)
  11. Pattern Summary:
  12. 7. Scanning Workflow
  13. Step 1: Platform Identification
  14. Step 2: CPI Security Review
Ships with 3 files
  • agents/openai.yaml
  • assets/trail-of-bits-mark.svg
  • resources/VULNERABILITY_PATTERNS.md
Commands it runs
Find all CPI calls
rg "invoke\(|invoke_signed\(" programs/
Check for program ID validation before each
Should see program ID checks immediately before invoke
Find PDA usage
rg "find_program_address|create_program_address" programs/
rg "seeds.*bump" programs/
rg "#\[account.*seeds" programs/
Find account deserialization
rg "try_from_slice|try_deserialize" programs/
More from skills
All skills →
About this skill
What does the solana-vulnerability-scanner skill do?

Scans Solana programs for 6 critical vulnerabilities including arbitrary CPI, improper PDA validation, missing signer/ownership checks, and sysvar spoofing. Use when auditing Solana/Anchor programs.

How do I install it?

Run `npx skills add trailofbits/skills --skill solana-vulnerability-scanner --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From trailofbits/skills, a repository with 6,426 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going