osec-solana-auditor-introduction
Installation
SKILL.md
Osec — Solana: An Auditor’s Introduction (reference)
Educational routing only. This skill does not reproduce the full article or code excerpts. Read the live post for complete detail.
Canonical URL
- Solana: An Auditor’s Introduction — osec.io blog, 14 March 2022.
Publisher: Otter Sec / Otter Audits LLC (smart contract security audits; per site footer).
What the article covers (outline)
The post frames Solana program security from a researcher / auditor lens: how the runtime executes contracts, where trust boundaries sit, and what an attacker can influence.
| Theme | Topics (high level) |
|---|---|
| Execution model | Programs as eBPF ELF loaded via BPF Loader; accounts as pubkey-addressed state; invocations = program id + account list + instruction data; no EVM-style “methods” at the syscall boundary—dispatch via instruction bytes (e.g. enums). Memory map regions (code/stack/heap/inputs) at a glance; Rust reducing typical memory-corruption focus. |
| Entry / deserialization | Common entrypoint and deserialization helpers; distinction between data serialized by the runtime vs fields under attacker control (e.g. instruction data; account list selection)—and metadata enforced by the runtime (signers, writable, owner). Links type confusion / wrong-account issues to lack of execution-level typing (mitigations such as hardcoded pubkeys, discriminators—often formalized today via Anchor). |
| Native programs | System Program and illustrative CreateAccount vs Transfer signer requirements; ownership constraints (e.g. SPL token accounts vs system-owned accounts). |