In most cases, The reasons Monero was deanonymized was due to swaps out of Monero.
The main vulnerabilities for Monero are connecting to Malicious Nodes, and dust (sending small amounts of monero to combine with spend outputs, and using that known output to track movement but those both can be counteracted, there was just a monero update to mitigate malicious nodes but that doesn't matter if you run your own node, and dust can be counteracted with churning, & sending between 2 seperate wallets.)
There is an old series called Breaking Monero by Justin Ehrenhofer who was a former, and notable Monero contributor before leaving to join a CoinTracking Company.
Some of the information may be outdated especially regarding ring signatures, as the new update (coming soon) FCMP++ will basically make deanonymizing Monero impossible unless they had hardware level access to your devices which is also a vulnerability for bitcoin, and anything else.
https://youtube.com/playlist?list=PLsSYUeVwrHBnAUre2G_LYDsdo-tD0ov-y