The book "Mastering Ethereum" has a dedicated chapter about Smart Contract security. It's a very thorough examination of all the different security breaches that happened in the Ethereum ecosystem during the time of writing.
The structure the authors adhere to is very useful as they'll start by explaining the exploits core concepts, showing vulnerable code examples to then follow-up with preventative techniques and closing with examples from the real world.
If you're reading the GitHub version linked above you'll also benefit from updates contributed by the community.
- Sigma Prime