Сканер уязвимостей 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.
Что делает навык
Автоматизированное сканирование программ Solana (нативных и на фреймворке Anchor) на 6 критических уязвимостей, включая произвольный CPI, некорректную валидацию PDA, отсутствие проверок подписанта/владельца, подмену sysvar и неправильную интроспекцию инструкций. Skill обеспечивает системный аудит безопасности на основе специфичных для Solana моделей аккаунтов.
Когда применять
- Аудит безопасности нативных программ на Rust или программ, написанных на фреймворке Anchor.
- Проверка логики кросс-программных вызовов (CPI) на наличие несанкционированных вызовов.
- Валидация реализации Program-Derived Addresses (PDA) перед запуском протокола.
- Анализ паттернов валидации аккаунтов и логики интроспекции инструкций.
Как работает
- Определить платформу: найти исходные файлы (.rs), проверить наличие маркеров Solana/Anchor (например, use solana_program, entrypoint!, #[program]) и структуру проекта.
- Проверить безопасность CPI: найти вызовы invoke() или invoke_signed() и убедиться, что ID программы валидируется перед вызовом.
- Проверить валидацию PDA: найти использование find_program_address/create_program_address или seeds constraints и убедиться, что bump seed хранится и переиспользуется.
- Выполнить проверку валидации аккаунтов: найти десериализацию (try_from_slice/try_deserialize) и убедиться, что owner валидируется до десериализации.
- Проверить интроспекцию инструкций: найти load_instruction_at/load_current_index и убедиться, что используются checked-версии функций (Solana 1.8.1+).
- Сформировать отчет с таблицей покрытия (Verdict: found, clear, n/a) для всех 6 паттернов и предоставить шаблоны исправлений.
Примеры запросов агенту
Что понадобится
- Инструменты: rg (ripgrep) для поиска по коду, solana-test-validator для локального тестирования, anchor test.
- Зависимости: пакеты solana-program или anchor-lang в Cargo.toml, опционально Trail of Bits Solana Lints.
- Окружение: локальная среда для тестирования программ Solana.
Описание составлено по SKILL.md навыка, сверено 06.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.