I went down this exact rabbit hole last year when I started doing StarkNet reviews, and I’ll be honest — Cairo security only started making sense once I stopped trying to map it to Solidity.
What helped me first was Cairo VM internals, especially memory and segments. Not in a “read everything” way, but by slowly understanding why memory is structured the way it is and how builtins fit into execution. Once that clicked, a lot of things that felt weird in Cairo stopped feeling random.
For StarkNet architecture, I found it useful to trace a transaction end to end — calldata in, execution, state diff, proof. Reading a few StarkWare architecture blogs alongside the OS repo helped more than docs alone.
Storage and key computation is where I’ve seen the most subtle bugs. People assume storage behaves like Solidity mappings, and that’s usually wrong. Audit reports were actually the best resource here because you see the same mistakes repeated.
Account abstraction is powerful, but it’s also easy to mess up validation logic. I spent time reading multiple wallet implementations instead of just one.
Biggest lesson for me: if you can’t explain what gets proven and why, you’re probably missing something important.