I was reading this article by the Sec3 folks about how it was dangerous to accept non-canonical bump PDAs in your program since someone can fake one.
How exactly would someone create a fake non-canonical bump PDA if PDAs + their addresses are owned and generated by the program, assuming you're using Anchor's seeds
constraint?