AIKraft/Skills/Сканер уязвимостей Solana

Сканер уязвимостей Solana

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.

trailofbits official Другое

Что делает навык

Автоматизированное сканирование программ Solana (нативных и на фреймворке Anchor) на 6 критических уязвимостей, включая произвольный CPI, некорректную валидацию PDA, отсутствие проверок подписанта/владельца, подмену sysvar и неправильную интроспекцию инструкций. Skill обеспечивает системный аудит безопасности на основе специфичных для Solana моделей аккаунтов.

Когда применять

  • Аудит безопасности нативных программ на Rust или программ, написанных на фреймворке Anchor.
  • Проверка логики кросс-программных вызовов (CPI) на наличие несанкционированных вызовов.
  • Валидация реализации Program-Derived Addresses (PDA) перед запуском протокола.
  • Анализ паттернов валидации аккаунтов и логики интроспекции инструкций.

Как работает

  1. Определить платформу: найти исходные файлы (.rs), проверить наличие маркеров Solana/Anchor (например, use solana_program, entrypoint!, #[program]) и структуру проекта.
  2. Проверить безопасность CPI: найти вызовы invoke() или invoke_signed() и убедиться, что ID программы валидируется перед вызовом.
  3. Проверить валидацию PDA: найти использование find_program_address/create_program_address или seeds constraints и убедиться, что bump seed хранится и переиспользуется.
  4. Выполнить проверку валидации аккаунтов: найти десериализацию (try_from_slice/try_deserialize) и убедиться, что owner валидируется до десериализации.
  5. Проверить интроспекцию инструкций: найти load_instruction_at/load_current_index и убедиться, что используются checked-версии функций (Solana 1.8.1+).
  6. Сформировать отчет с таблицей покрытия (Verdict: found, clear, n/a) для всех 6 паттернов и предоставить шаблоны исправлений.

Примеры запросов агенту

Проведи аудит безопасности программы Solana на фреймворке Anchor, используя Skill «Сканер уязвимостей Solana».
Проверь мой проект на наличие уязвимостей произвольного CPI и некорректной валидации PDA.
Выполни полное сканирование исходного кода на Rust для выявления 6 критических паттернов уязвимостей Solana.

Что понадобится

  • Инструменты: rg (ripgrep) для поиска по коду, solana-test-validator для локального тестирования, anchor test.
  • Зависимости: пакеты solana-program или anchor-lang в Cargo.toml, опционально Trail of Bits Solana Lints.
  • Окружение: локальная среда для тестирования программ Solana.

Описание составлено по SKILL.md навыка, сверено 06.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «solana-vulnerability-scanner» из репозитория: # https://github.com/trailofbits/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r solana-vulnerability-scanner/ ~/.claude/skills/solana-vulnerability-scanner/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.