Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mtarcure/claude-vibe-squad --skill vulnhunter-solanagit clone --depth 1 https://github.com/mtarcure/claude-vibe-squadWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mtarcure/claude-vibe-squad/vulnhunter-solana)<a href="https://agentmods.dev/skills/mtarcure/claude-vibe-squad/vulnhunter-solana"><img src="https://agentmods.dev/badge/skills/mtarcure/claude-vibe-squad/vulnhunter-solana/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mtarcure/claude-vibe-squad/vulnhunter-solana"><img src="https://agentmods.dev/badge/skills/mtarcure/claude-vibe-squad/vulnhunter-solana.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00068 | $0.01886 |
| Opus 5.5 | $0.00027 | $0.00754 |
| Sonnet 5.5 | $0.00014 | $0.00377 |
| Haiku 4.5 | $0.00007 | $0.00189 |
Grade A, and why
vulnhunter-solana scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 27d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vulnhunter-solana
Manual vulnerability pattern review for Solana Rust programs. Use this during
solana-audit-flow. There is no Solana static-analysis step — Slither has zero Solana
detectors (slither --list-detectors → 104, none for Solana), so any "slither Solana scan" is
a fabricated capability. Manual pattern matching is the primary coverage on Solana; the
automated Solana tooling is dynamic (anchor build warnings, litesvm/trident fuzzing), not
static taint analysis.
High-priority vuln patterns
1. Missing owner / program-id check (CRITICAL)
Every account deserialized from instruction accounts must have its owner validated against the expected program ID. Pattern: if account.owner != &expected_program_id { return Err(...) }. Anchor's #[account] constraint handles this — but bare AccountInfo usage does not. Grep for AccountInfo without adjacent owner check.
2. Missing signer check (HIGH)
Privileged instructions must require is_signer on the authority account. Pattern: if !authority.is_signer { return Err(ErrorCode::Unauthorized.into()) }. Anchor's Signer<'info> type enforces this — but AccountInfo with manual check can omit it. Grep for privileged state mutations without is_signer guard.
3. Account discriminator bypass (HIGH)
Anchor programs use 8-byte discriminators at the start of account data to prevent type confusion. An attacker can pass a different account type that happens to deserialize without error if the discriminator is not validated. Verify try_deserialize is used (not try_deserialize_unchecked) for sensitive account types. Also check: can two different account types be interchanged via a crafted buffer?
4. CPI signer / privilege escalation (CRITICAL)
When making CPIs that require signing, the invoke_signed call must pass the correct signer_seeds. A bug where the caller-controlled account address matches a PDA derivation can allow privilege escalation. Pattern: verify invoke_signed uses program-controlled seeds, not caller-provided seeds, for authority PDAs.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 27d ago First seen · 95 lines · 68 tokens per session scan A 4125e30d1981
vulnhunter-solana is a skill published in the GitHub repository mtarcure/claude-vibe-squad (165 stars, last pushed 25d ago), licensed MIT. It adds 68 tokens to every session and 1,886 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-19.
Other skills, from other repositories
pay
Pay one external payment requirement within exact parent authority, through a payment method the payer holds, and read the paid resource back.
aomi-transact
Build natural-language crypto/DeFi agents and EVM MCP plugins (Claude Code, Cursor, Codex, Gemini). Aomi turns prompts into wallet-signed txs on Ethereum, Base, Arbitrum, Optimism, Polygon, Linea — non-custodial, fork-simulated. 40+ apps: Uniswap, Aave, Lido, Morpho, GMX, Hyperliquid, Polymarket.
codew-release-qa-sweep
Use before claiming Codewhale release work is done: run the full gate sweep and list the manual QA targets.
gh-file-issue
Use when filing a new Codewhale GitHub issue: turn a bug or idea into a well-formed, actionable issue with repro, acceptance criteria, labels, and milestone.
gh-find-prs
Survey open Codewhale PRs and triage each for mergeability and disposition against the real landing branch.
gh-treasure-hunt
Hunt the issue/PR queue for highest value-over-risk wins: clean focused community PRs, already-implemented issues to close, safe quick-fixes.